4l                            )     @    )    ?UUUUUU          `              K          V  V  V 4    `        i i i       w   ` K K K K   corners'[LProGAL/geom3d/kineticDelaunay/Vertex;edgesLjava/util/Set; Signature5Ljava/util/Set;tris$[LProGAL/geom3d/kineticDelaunay/Tri; neighbors$[LProGAL/geom3d/kineticDelaunay/Tet;oppIndex[I circumSphereLProGAL/geom3d/volumes/Sphere;countLjava/lang/Integer;dAliveZcAliveLSSs[LProGAL/geom3d/Shape;faces faceShapeLProGAL/geom3d/Shape;onStack selectedFaceFace InnerClasses)LProGAL/geom3d/kineticDelaunay/Hole$Face;oppositeInside[Z centerInsideflagdepthhelperIinAlphaComplexalphreci6D ConstantValue*([LProGAL/geom3d/kineticDelaunay/Vertex;)VCodeLineNumberTableLocalVariableTablethis#LProGAL/geom3d/kineticDelaunay/Tet;(LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;)Vv0&LProGAL/geom3d/kineticDelaunay/Vertex;v1v2v3&(LProGAL/geom3d/volumes/Tetrahedron;)Vitetra#LProGAL/geom3d/volumes/Tetrahedron; StackMapTableclone%()LProGAL/geom3d/kineticDelaunay/Tet;ntsetEdge'(LProGAL/geom3d/kineticDelaunay/Edge;)Ve$LProGAL/geom3d/kineticDelaunay/Edge; removeEdgesetTri'(LProGAL/geom3d/kineticDelaunay/Tri;I)Vt#LProGAL/geom3d/kineticDelaunay/Tri;getTri&(I)LProGAL/geom3d/kineticDelaunay/Tri;K(LProGAL/geom3d/kineticDelaunay/Vertex;)LProGAL/geom3d/kineticDelaunay/Tri;vgetTris&()[LProGAL/geom3d/kineticDelaunay/Tri; getCorner)(I)LProGAL/geom3d/kineticDelaunay/Vertex; getNeighbor&(I)LProGAL/geom3d/kineticDelaunay/Tet;getFlag()ZsetFlag(Z)V getCornerPairu(LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;)[LProGAL/geom3d/kineticDelaunay/Vertex;labpairkgetCircumSphere ()LProGAL/geom3d/volumes/Sphere;getCircumSphereRadius()DsetCircumSphere()VLProGAL/geom3d/Vector;cO circumRadius getVolumex1y1z1x2y2z2x3y3z3cxcyczretsetAlph(I)VgetAlph()I hasVertex)(LProGAL/geom3d/kineticDelaunay/Vertex;)ZhasEdge'(LProGAL/geom3d/kineticDelaunay/Edge;)ZgetCommonEdgesJ(LProGAL/geom3d/kineticDelaunay/Tet;)[LProGAL/geom3d/kineticDelaunay/Edge;es%[LProGAL/geom3d/kineticDelaunay/Edge;num hasNeighbor&(LProGAL/geom3d/kineticDelaunay/Tet;)ZisAlivesetAliveisBigisFlatisConvextettrLProGAL/geom3d/Triangle;pLProGAL/geom3d/Point;qisAlpha(D)ZalphanormalizePredicatesgetCount nrRotatinggetOppVertexSlowK(LProGAL/geom3d/kineticDelaunay/Tet;)LProGAL/geom3d/kineticDelaunay/Vertex; getOppVertexgetFaceSharingTetrahedra()Ljava/util/List;nListLjava/util/List;LocalVariableTypeTable5Ljava/util/List;7()Ljava/util/List; getNeighbourgetEdgeSharingTetrahedrau(LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;Ljava/util/HashSet;Ljava/util/HashSet;)V processedTetsLjava/util/HashSet; processedVers8Ljava/util/HashSet;;Ljava/util/HashSet;(LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;Ljava/util/HashSet;Ljava/util/HashSet;)V(LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;[LProGAL/geom3d/kineticDelaunay/Vertex;Ljava/util/HashSet;Ljava/util/HashSet;LProGAL/geom3d/kineticDelaunay/Tet;LProGAL/geom3d/kineticDelaunay/Tet;)Vprevfirst/(LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;[LProGAL/geom3d/kineticDelaunay/Vertex;Ljava/util/HashSet;Ljava/util/HashSet;LProGAL/geom3d/kineticDelaunay/Tet;LProGAL/geom3d/kineticDelaunay/Tet;)VgetVertexSharingTetrahedrac(LProGAL/geom3d/kineticDelaunay/Vertex;DLjava/util/HashSet;Ljava/util/HashSet;Ljava/util/HashSet;)VindxA alphaTets(LProGAL/geom3d/kineticDelaunay/Vertex;DLjava/util/HashSet;Ljava/util/HashSet;Ljava/util/HashSet;)Vorient(ILProGAL/geom3d/Point;)ZrfacemLProGAL/math/Matrix;detgetEdges()Ljava/util/Set;7()Ljava/util/Set; killEdges reviveEdgesinSphere(LProGAL/geom3d/Point;)Z insideFaceinsideCircumsphereapex&(LProGAL/geom3d/kineticDelaunay/Tet;)I commonFace=(LProGAL/geom3d/kineticDelaunay/Tet;)LProGAL/geom3d/Triangle;jcommonindexOf)(LProGAL/geom3d/kineticDelaunay/Vertex;)I indexOf_slowu(LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;LProGAL/geom3d/kineticDelaunay/Vertex;)Iswap(II)VtmpVtmpT sortCornerstoString()Ljava/lang/String; toConsoletoConsoleNeighborsfromSceneEdges"(LProGAL/geom3d/viewer/J3DScene;)VsceneLProGAL/geom3d/viewer/J3DScene; toSceneEdges3(LProGAL/geom3d/viewer/J3DScene;Ljava/awt/Color;D)VclrLjava/awt/Color;width4(LProGAL/geom3d/viewer/J3DScene;Ljava/awt/Color;DD)VbigWidth edgeWidth toSceneFaces2(LProGAL/geom3d/viewer/J3DScene;Ljava/awt/Color;)V toSceneFaceG(LProGAL/geom3d/viewer/J3DScene;ILjava/awt/Color;)LProGAL/geom3d/Shape;fromSceneFaces fromSceneFace#(LProGAL/geom3d/viewer/J3DScene;I)VbreadthFirstTetrahedra(I)Ljava/util/ArrayList;nTetmaxDepthtetsLjava/util/ArrayList;sz:Ljava/util/ArrayList;=(I)Ljava/util/ArrayList; getListOfTrists5Ljava/util/List;7()Ljava/util/List;breadthFirstVerticesindxvertices=Ljava/util/ArrayList;@(I)Ljava/util/ArrayList;hashCode()Ljava/lang/Object; Exceptions SourceFileTet.java $ProGAL/geom3d/kineticDelaunay/Vertex java/util/HashSet !ProGAL/geom3d/kineticDelaunay/Tri !ProGAL/geom3d/kineticDelaunay/Tet ^      M   ! "# $% &' (# )#ProGAL/geom3d/volumes/Sphere * + , - . /0 12 3"ProGAL/geom3d/kineticDelaunay/Edge 45 6 7  8 9: RS PQ ;< = > ?@ ?< LM @ AB CEF GH I JK java/util/ArrayList  ,4 VW 89ProGAL/math/Matrix [ LM NO P  $Q ProGAL/geom3d/Triangle RS TU VW Z[ _WX YZ _`[ \]java/lang/StringBuilder ^_ has neighbours: `]   ?[null] \ a bc dProGAL/geom3d/ShapeProGAL/geom3d/volumes/LSS e fg h ij java/lang/Objectk'ProGAL/geom3d/kineticDelaunay/Hole$Face!ProGAL/geom3d/volumes/Tetrahedronjava/util/IteratorProGAL/geom3d/Pointjava/util/List$java/lang/CloneNotSupportedException(I)LProGAL/geom3d/Point;(LProGAL/geom3d/Point;)V java/util/Setadd(Ljava/lang/Object;)Zremoveequals getRadiusvectorTo-(LProGAL/geom3d/Point;)LProGAL/geom3d/Vector;ProGAL/geom3d/Vectorcross.(LProGAL/geom3d/Vector;)LProGAL/geom3d/Vector;dot(LProGAL/geom3d/Vector;)D multiplyThis(D)LProGAL/geom3d/Vector;addThis crossThis-(LProGAL/geom3d/Vector;)LProGAL/geom3d/Point;length(LProGAL/geom3d/Point;D)Vxyzjava/lang/Mathabs(D)Dcontainsiterator()Ljava/util/Iterator;hasNextnextgetIdcoplanarW(LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Point;)ZgetIntersectionA(LProGAL/geom3d/Point;LProGAL/geom3d/Point;)LProGAL/geom3d/Point;ProGAL/math/ConstantsEPSILON getMidpointjava/lang/IntegervalueOf(I)Ljava/lang/Integer;getType VertexType3()LProGAL/geom3d/kineticDelaunay/Vertex$VertexType;/ProGAL/geom3d/kineticDelaunay/Vertex$VertexTypeR1LProGAL/geom3d/kineticDelaunay/Vertex$VertexType;intValuepow(DD)DgetCoord(I)Dset(IID)V determinant(LProGAL/geom3d/Point;)D([LProGAL/geom3d/Point;)Vjava/util/Arrays binarySearch(([Ljava/lang/Object;Ljava/lang/Object;)I compareTo'([Ljava/lang/Object;)Ljava/lang/String;java/lang/SystemoutLjava/io/PrintStream;java/io/PrintStreamprintln(Ljava/lang/String;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;printProGAL/geom3d/viewer/J3DScene removeShape(LProGAL/geom3d/Shape;)Vrepaint.(LProGAL/geom3d/Point;LProGAL/geom3d/Point;D)VaddShape)(LProGAL/geom3d/Shape;Ljava/awt/Color;I)VB(LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Point;)Vget(I)Ljava/lang/Object;"ProGAL/geom3d/kineticDelaunay/Hole! 1Go***Y** * * * **********+*R/ '.38 =!B$G%L&Q)V*[,`-e0j1n3oo1***Y** * * * **********+S*,S*-S*S*^5 '.38 =!B$G%L&Q)V*[,`-e6l7s8z9:<4,***Y** * * * *********=*Y+S*R> '.38 =!B$G%L&Q)V*[,`-e?@B gg' Y*L=+ * 2S+E F%G '  D *+W K L D *+W S T J*+S VW ;*2Y#=*2+ *2\]^\!a ## /*d ;*2k;* 2m/*p :*r^N6$-*2S-2+ -2, `6$-*2S-2+ -2, -* vxyz)x/|;}E~V|\>5'^^^YV  7 **    2*  *2*2!L*2*2!M*2*2!N,-"++#$:-+",,#$%W+,"--#$%W&+,-(#ko$W*)Y*2*+, &  0?Rez4 v0f?W*2*2!L*2*2!M*2*2!N,-"++#$:-+",,#$%W+,"--#$%W&+,-(#ko$W+" 0?Rez4p `0P?A*2-*2-gH*2.*2.gJ*2/*2/g9*2-*2-g9*2.*2.g9 *2/*2/g9 *2-*2-g9 *2.*2.g9*2/*2/g9 k kg9  kkg9k  kg9'k)kckc091k"=|(=Rg | l WB5(>* /* m=*2+   R*+3 >4M>*5:6#74:+8 ,S,"(169<4(>>97  &  m=* 2+    /* :*p:*29**29*29*29 :4@F*2*2*2*2:  -*+;M**+<2N++*<2:,-=4--'+@R*>'?c@D*@ *@<*@**2AT***2*2BCD&,CD D*E <0*2FG** H&I`E * H< 2D  +/<*M,>6,2:FG  ' - /-  !u#=*+2J +2 ! ## "!b=*29+29 +29*29 +2 *`29+29 +29[ bb` !#$0KYLL="* 2M+* 2NW+"#$%(#.'  $0(%&' (%(  )*+;* 2,,-*+,O:*+,-**P123>./0/'.1023,4i *Q*M *RW-2Q -2RW-2Q -2RW* *-2S2:"+,+,O*P4* *-2S2:+,+,O*P"67+8?9M:s<=?\ ./0/56MX'.102 30789 *Q*RW*M*>( *RW*+S66  b U* 2:Q&T*>(9 RW*  2*  2+(U 2 J KL'N.O7P>QGRtS~TOX\ GI1e .h:;/./0/' ;1.102B' B <===< <===>?@VYWN6B6+-*`p2XY-Y6-,ZY-Y-[90?:\ ]^_>^DaL]Rc[dhcneug{hiR. EAUB CD{EZ FFFFF  @GH/*m IJw&*5L+6+74M,\op"q%r&   Kw&*5L+6+74M,\tu"v%w&   LMeVYWM>F6,*2XY,*2*2]Y,Y>,+ZY,++^Y,Y,[J)0?)Bz {|},|2GN{T[flw~H HAV CDE! F!# @N@n *@*_*,A*@3    B  @OMa*@*_*+C*D   @PQm=* 2+   RS_M>6I62*2+2,*2S   `Y,a2 *7:BHPV>5T L__ZUX &VWp=*2+   XW= *+b VY>66*2+"*2,*2- 6<49>>>> 2Z[7*2N* 2:**2S* * 2S*-S* S'.64777T0\(]^y*2*2c *d*2*2c *d*2*2c *d*2*2c *d*2*2c *d0H`x y_`2*e a9 f*gh    bhfiYj*gklkmn<A* 2*f* 2gn* 2*ofpn fqnfr& #,;S[agCh 4cdz=+*s2t+u ef ghp*s *vs66R`6@*s2 *swY*2*2)xS+*s2,y+u* (O_ekoH"CTUppefpijpk] ,glg *s *vs)96  * 299 6 6  S `6  A*s 2!*s wY* 2* 2xS+*s 2,y  +u2 47@Lt f  FDT :V efijkmn7^   -op=*z *vz*z2"*z`Y*2*2*2{S*z2"*z`Y*2*2*2{S*z2"*z`Y*2*2*2{S*z2"*z`Y*2*2*2{S>+*z2,y 7_*efij''''qr V*z *vz*z2.*z`Y*`p2*`p2*`p2{S+*z2-y*z2CO*VVefVVij3sdy=+*z2t+u ! ef tuU+*z2t+u$ %& efvwKYLM*E>,*|W6\,} :6C 2:+H`EH ,|W,~:67 :,F)*+,-/!0+142>3F4X5n1t8w9z:;\ >0x.F+Lyz{|' z}!~? $1KYL*M,>6,2:+NW+? @ A)@/C  1 (&'  ()wj EKYLMKYLN6*E6U*2-*2|W* 2:M'E,|W* .6,} :6  2:-|W6  a  `p6   2:@M8H`EH,|W  . ^,~:  6 7 :  -$IJLMN$O/P;QDRLSUTZUaVmWpNv]y`abcdefhijklmnophuwCxD2xXKxU dT  : EEy=z{5{2|y'=z}5 ~~Q~~~~7 ~~<] ~~< ~~< ~~ Y/*29*29h`*29h`*29h`| /A/* D@