Êþº¾4! C¹ Bº B» B¼ B½¾ ¿ *À@ Á@  ÃÄ ÅÆ Ç È É *ÊË ÌÍ@C½<ɾEÞ@3½<ɾEÞ Î Ï Ð Ñ 1Ò *Ó *Ô *Õ Ö 1× Ø 1ÙÚ Û Ü *Ý *Þ ßà 1á 1âÀÀ ã äåæ :ç :è :é êë *Î 1ì *íîïcenterLProGAL/geom3d/Point;normalLProGAL/geom3d/Vector;RDr0(LProGAL/geom3d/Point;LProGAL/geom3d/Vector;DD)VCodeLineNumberTableLocalVariableTablethisLProGAL/geom3d/volumes/Torus; majorRadius minorRadiuscontains(LProGAL/geom3d/Point;)ZqRRvp StackMapTable¾ getMainCircle()LProGAL/geom3d/Circle; getMainPlane()LProGAL/geom3d/Plane;getPoloidalCirclegetSweepingCirclevgetSweepingSphere ()LProGAL/geom3d/volumes/Sphere;getSurfaceArea()DgetToroidalCircle getVolumegetVillarceauCircles()[LProGAL/geom3d/Circle;getMajorRadiusgetMinorRadius getNormal()LProGAL/geom3d/Vector; getCenter()LProGAL/geom3d/Point;getIntersectionCircle.(LProGAL/geom3d/Circle;)[LProGAL/geom3d/Point;axayazbxbybznza_b_zIicoeffs[DfuncLProGAL/math/Polynomial;root parameterspkrotPointkCLProGAL/geom3d/Circle;e3rotAxisangle rotMatrixLProGAL/math/Matrix; translatenewCircleNormalCC0newCircleCenter intersections[LProGAL/geom3d/Point;nxnym1m2m3mlist[[Dalphgamdelepsabflmder0er1er2ematEENewparstmpDegroots[Ljava/lang/Double;îÄàÚ“šæ® SourceFile Torus.java Kð DE FG HI JIProGAL/geom3d/Vector Kñ òó ôõ ö÷ øeProGAL/geom3d/Circle KùProGAL/geom3d/Plane Kú ûm üý þÿProGAL/geom3d/volumes/Sphere Kjava/lang/Math K  m ‹  e  e {e lm  ÷ no   ProGAL/geom3d/Point   m ó  eProGAL/math/Matrix K    IProGAL/math/Polynomial K   e   ÿProGAL/geom3d/volumes/Torusjava/lang/Object()V-(LProGAL/geom3d/Point;LProGAL/geom3d/Point;)VdistanceSquared(LProGAL/geom3d/Point;)Dpow(DD)Dcross.(LProGAL/geom3d/Vector;)LProGAL/geom3d/Vector;getLengthSquared/(LProGAL/geom3d/Point;DLProGAL/geom3d/Vector;)V.(LProGAL/geom3d/Point;LProGAL/geom3d/Vector;)VgetOrthonormal scaleToLength(D)LProGAL/geom3d/Vector;add-(LProGAL/geom3d/Vector;)LProGAL/geom3d/Point;(LProGAL/geom3d/Point;D)V(DDD)Vequals(LProGAL/geomNd/Vector;)Z normalizeThis(LProGAL/geom3d/Vector;)DcreateRotationMatrix-(DLProGAL/geom3d/Vector;)LProGAL/math/Matrix;xymultiply multiplyIn,(LProGAL/geomNd/Point;)LProGAL/geomNd/Point;get(I)D getOrthogonaldot getRadius([[D)V(II)Dabs(D)DProGAL/math/ConstantsEPSILON([D)Vcoeff solveQuartic([D)[Ljava/lang/Double;java/lang/Double doubleValueinvert()LProGAL/math/Matrix; subtractThis!BCDEFGHIJIKLM€*·*+µ*,µ*)µ*µ±N,- ./01O4PQDEFGRISITUM±P*´*´kI»Y*´+·:+*´¶(c*´*´kg ¸  (k*´¶¶kg˜œ§¬N5 67O*PPQPVE FWI8XGY ýNZ@[\M>»Y*´*´*´·°N;O PQ]^M:»Y*´*´·°N?O PQ_\M,°NCO PQ`\Mc+*´¶L»Y*´+*´¶¶*´*´+¶·°N GHO+PQ#aGbcM[#*´¶L»Y*´+*´¶¶*´·°N LMO#PQaGdeM8*´k*´k¯NQO PQf\M>»Y*´*´*´·°NTO PQgeM=*´k*´k*´k¯NXO PQhiM,°N]O PQjeM/*´¯N`O PQkeM/*´¯NbO PQlmM/*´°NdO PQnoM/*´°NgO PQpqM  Hí»Y·M*´,¶N-»Y·¶š-¶ W*´,¶!9-¸":»Y*´¶#w*´¶$w*´¶%w·:+¶&¶'¶ :+¶(¶:  ¶)À*: ½*: ¶+9¶+9kkc—š?9 99»Y ·:999»Y·:999§!¶+9¶,¶ :¶¶ :¼Y¶+RY¶+RYR: ¼Y¶+RY¶+RYR:!¼Y¶+RY¶+RYR:"½-Y SY!SY"S:#  ¶.9$ ¶/9& ¶/9($+¶0+¶0kc*´*´kc*´*´kg9* &k&k *´k*´k¶+¶+k¶+¶+kckg9, (k(k *´k*´k¶+¶+k¶+¶+kckg9. &k(k *´k*´k¶+¶+k¶+¶+kckg90 &k*k *´k*´k ¶#¶+k ¶$¶+kckg92 (k*k *´k*´k ¶#¶+k ¶$¶+kckg94**k *´k*´k ¶# ¶#k ¶$ ¶$kckg96¼Y,RY0RY2R:8¼Y0RY.RY4R:9¼Y2RY4RY6R::½-Y8SY9SY:S:;»1Y;·2:<<:=¼:>>=¶3+¶0k+¶0k =¶3k+¶0kg=¶3cR>4=¶3k+¶0k+¶0k =¶3k+¶0kcR>6=¶3k+¶0k+¶0k =¶3k+¶0k+¶0kc =¶3kcR> =¶3k+¶0k+¶0k =¶3k+¶0kcR>=¶3+¶0k+¶0k =¶3k+¶0kc=¶3cR6??¢>?1¸8²9˜� >?R„?§ÿâ6@@™>@1—š „@ÿ§ÿî@Ÿ3@`¼:A6BB@£AB>B1R„B§ÿì»:YA·;:?§»:Y>·;:??´<¸=:AAǰA¾š°6BBA¾¢"AB2¶>9C¼:EE ¶#+¶0¶+kgCkCk +¶0k¶+kCkc ¶#c+¶0¶+kcRE ¶$+¶0¶+kgCkCk +¶0k¶+kCkc ¶$c+¶0¶+kcRE ¶%+¶0¶+kgCkCk +¶0k¶+kCkc ¶%c+¶0¶+kcRECCkcR»*YE1E1oE1E1oE1E1o·?:F¶@F¶)À*:G BG¶AS„B§þÜ °NJRq rs%t*v4w<x]zk{v|‚~ˆƒ�„˜…¨†«‡®ˆ±‰À‹ÃŒÆ�ÉŽØ�Û‘Þ’ä”ì•ö–˜™:šV›kŸt }¡†¢¨£ݤ¥G¦z§­¨Ú©îª«¬+­6»:¼?½m¿—ÁÒÃüÅ*Ç3ÈHÇNËQÌfÍlÎtÏ~ЈώҙӜԧرٸàÀáËãÕäÚåæZçšè¥êÉíØîäáêðOF:«9rI ®6sI±3tIÃ!uIÆvIÉwIáxIÀ$yGØ zG-!{|?w}|Bt%~A™€�?Õ‚ICÚ ƒEÉ„EFØ …EGÃ'†|BíPQ퇈 â‰GÙŠG4¹‹I<±Œ�]�ŽGk‚�Gvw�E ‚k‘E ˆe’“ ìxIö÷yGëzG�]”I˜U•IÏ– :³—!V—˜"k‚™š#ty›I$}pœI&†g�I(¨EžI*ÝŸI,Û I.G¦¡I0zs¢I2­@£I4Ú¤I6îÿ¥8ë¦9×§:+¨š;6·©�<:³ª�=?®«>§F€�?Qœ¬|@±<­®AYtý*ZZÿ¹¯°ZZ±ZZ²²³ÿ¯°ZZ±ZZ²²³ZZÿ*2¯°ZZ±ZZ²²³ZZ---´---´±±-úýý-úú ÿ 3¯°ZZ±ZZ²²³ZZ---´---´±±-µü¶üú&·¸