4   ! "#  $%  & ' ( )*  +, -. /0 /123 4 5 6 78 79 7: ; 4 <=@$ 5 > ?@ %A B %C %D %E F %G H IJ /K 1L /MN 4 /. 7. 1O 1P 1Q 1RS <T /U /: 1V WXY B C BZ[ B\ B] ^_ ` /a b c %d e f g h %i %j 7k %l %m %; %n 7o %p q %r %s t u v %w %xy z {| }~  h h @@ %@È { % %    %   % ^ %] ^ InnerClassesSortToolHeapItemsHeapItemTriangulationAlgorithmverticesLjava/util/List; Signature5Ljava/util/List;triangulationFaces3Ljava/util/List;pred.LProGAL/geom3d/predicates/ExactJavaPredicates;sortLProGAL/dataStructures/Sorter;sceneLProGAL/geom2d/viewer/J2DScene;O(LProGAL/geom2d/PointSet;LProGAL/geom2d/Triangulation$TriangulationAlgorithm;)VCodeLineNumberTableLocalVariableTablepLProGAL/geom2d/Point;iInewTriangulationFace!LProGAL/geom2d/TriangulationFace;lastTriangulationFace#LProGAL/geom2d/TriangulationVertex;qoppTriangulationFacervjusegALProGAL/geom2d/LineSegment;contZsegszwzprevTriangulationFaceTriangulationFacesegmentsLProGAL/dataStructures/Set;acceptedSegmentsincidentSegmentsthisLProGAL/geom2d/Triangulation;pointsLProGAL/geom2d/PointSet; algorithm4LProGAL/geom2d/Triangulation$TriangulationAlgorithm;LocalVariableTypeTable8LProGAL/dataStructures/Set;-Ljava/util/List; StackMapTable@3JKfindTriangulationFace(LProGAL/geom2d/TriangulationVertex;LProGAL/geom2d/TriangulationVertex;LProGAL/geom2d/TriangulationVertex;)LProGAL/geom2d/TriangulationFace;findNextTriangulationFacei(LProGAL/geom2d/TriangulationVertex;LProGAL/geom2d/TriangulationVertex;)LProGAL/geom2d/TriangulationFace;findPrevTriangulationFacefindLastTriangulationFaceF(LProGAL/geom2d/TriangulationVertex;)LProGAL/geom2d/TriangulationFace;indxnextTriangulationFacefindFirstTriangulationFace legalizeEdge&(LProGAL/geom2d/TriangulationFace;IZ)VtriangulationFace recursiveE(LProGAL/geom2d/TriangulationFace;IZLProGAL/geom2d/viewer/J2DScene;)VoppIndxincDflipg(LProGAL/geom2d/TriangulationFace;LProGAL/geom2d/TriangulationFace;Z)[LProGAL/geom2d/TriangulationFace;t013t123(LProGAL/geom2d/TriangulationFace;LProGAL/geom2d/TriangulationFace;ZLProGAL/geom2d/viewer/J2DScene;Z)[LProGAL/geom2d/TriangulationFace;testingp0Indxp2Indxp0p1p2p3t012t023t01t12t23t30newFaces"[LProGAL/geom2d/TriangulationFace;boundaryFlipOutg(LProGAL/geom2d/TriangulationVertex;LProGAL/geom2d/TriangulationFace;LProGAL/geom2d/viewer/J2DScene;Z)VnewFace firstFacelastFacenextFaceprevFacefaceabboundaryFlipInl(LProGAL/geom2d/TriangulationVertex;LProGAL/geom2d/TriangulationVertex;LProGAL/geom2d/TriangulationVertex;)Vc(LProGAL/geom2d/TriangulationVertex;LProGAL/geom2d/TriangulationVertex;LProGAL/geom2d/TriangulationVertex;LProGAL/geom2d/viewer/J2DScene;Z)VabFacebcFacegetPowerW(LProGAL/geom2d/Point;LProGAL/geom2d/Point;LProGAL/geom2d/Point;LProGAL/geom2d/Point;)Dareal(LProGAL/geom2d/TriangulationVertex;LProGAL/geom2d/TriangulationVertex;LProGAL/geom2d/TriangulationVertex;)DplaneLProGAL/geom3d/Plane;isBig(LProGAL/geom2d/Point;)Z isDelaunay()ZtgetIndxBurried$(LProGAL/geom2d/TriangulationFace;)Ifaesible(LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom2d/TriangulationFace;LProGAL/geom2d/TriangulationFace;)ZnextprevLProGAL/geom3d/Point;pFacenFaceforwardprint()V SourceFileTriangulation.java java/util/ArrayList ,ProGAL/geom3d/predicates/ExactJavaPredicates !ProGAL/dataStructures/SorterQuick  'ProGAL/dataStructures/SortToolPoint2dXY    ProGAL/geom2d/Point!ProGAL/geom2d/TriangulationVertex          ProGAL/geom2d/TriangulationFace       ProGAL/dataStructures/SetProGAL/geom2d/LineSegment  3ProGAL/dataStructures/SortToolLineSegment2dByLength  (LProGAL/dataStructures/Set;LProGAL/dataStructures/SortTool;)Viterator()Ljava/util/Iterator;hasNext()Ljava/lang/Object;x()Dy(DD)Vadd(Ljava/lang/Object;)Zsizeget(I)Ljava/lang/Object;setId(I)Vjava/lang/Mathabs(D)D setBigPoint(Z)VleftTurnB(LProGAL/geom2d/Point;LProGAL/geom2d/Point;LProGAL/geom2d/Point;)Zidcorners$[LProGAL/geom2d/TriangulationVertex;getIndex&(LProGAL/geom2d/TriangulationVertex;)I rightTurn neighbors-(LProGAL/geom2d/Point;LProGAL/geom2d/Point;)Vinsert(Ljava/lang/Object;)V intersects(LProGAL/geom2d/LineSegment;)Zreverse()LProGAL/geom2d/LineSegment;(LProGAL/geom2d/Point;)VgetSizegetB()LProGAL/geom2d/Point;java/lang/SystemoutLjava/io/PrintStream;append(I)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprintln(Ljava/lang/String;)Vclear hasVertex&(LProGAL/geom2d/TriangulationVertex;)Z getCoords()[Dincircle ([D[D[D[D)DsetAlivehide"(LProGAL/geom2d/viewer/J2DScene;)Vremovedraw getCorner&(I)LProGAL/geom2d/TriangulationVertex;isEmpty#(LProGAL/geom2d/viewer/J2DScene;Z)V getLastFace#()LProGAL/geom2d/TriangulationFace; getNeighbor$(I)LProGAL/geom2d/TriangulationFace; setNeighbor%(ILProGAL/geom2d/TriangulationFace;)VgetFace getNextFaceD(LProGAL/geom2d/TriangulationFace;)LProGAL/geom2d/TriangulationFace; getOppFaceB(LProGAL/geom2d/Point;LProGAL/geom2d/Point;LProGAL/geom2d/Point;)DProGAL/math/Constants bigDoubleinCircle liftedPointB(LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Point;)V getNormal()LProGAL/geom3d/Vector;ProGAL/geom3d/Vector isBigFaceEPSILONcircumCircleContains(Ljava/util/List;D)Z circumCircleLProGAL/geom2d/Circle;java/awt/ColorredLjava/awt/Color;ProGAL/geom2d/CircletoScene2(LProGAL/geom2d/viewer/J2DScene;Ljava/awt/Color;)VburrieduIndxProGAL/geom3d/Point orientationW(LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Point;)D getPrevFacedelCount! **Y*Y*Y* Y ** ,._d* +Y+N-,-:*YW>*_** *" *#***$5%Y***&N2%Y***&N6*-'*-W-(6**:*d:':)*`p2:+%Y&N-,S'-Z''-,'S',-S-',*`p-S*-W-*d(*--:':)*`p2:Z*d:*.:)*`p2:$%Y&N-,S,*`p-S'-Z''!*.: -, S ,-S-'*-W-*d(*--:*.:)*`p2:W1+:-:*YWϻ/Y0:6*Z*:`6*)*:1Y23τ* 4Y5Y:6:_1:67:  + 1:  86 W/Y0:*7::7:  @ 1:  9  3 :  ;3* 6 ?1@: 6   n :  ` p?1@: ABYC DEFGDEFG DEHI  +*  J: K*7:%:6  ) 2: ) `p2: ) `p2: *  L:  '  ', `p S, `p*  MS, *  LS en( "%#0)8*\,k-./01. 4l5678:;<=>?%@3A;BRD]EhFnHIJKLMNQRSTU VW#X:ZB[J\R]X_c`rayb}cd:gjklmno#p3qCoIlOt_uhvwxyz{|}5LOahy *8FPdrt%iiB  34Ae JM. g |r h yz *l 8^ FP PF  h7 h73\1Q^.I 8S,JB3 *3!#@ ,, k   B7i*7:,%:+N,N~-N~л%Y+,-&:*W*d(!;>JVf>!iiiiJ  /L*7N-:-%:+N#,N)+*`p2,8GJ*)LLL  <L*7N-:-%:+N#,N),*`p2+8GJ*)LLL  <E+'M,+*>,,`p2,,`p2:M,+*>,,`p2:,&  &+.4C4EE@ :& n +'+*=+',`p2+'    U *+O *    `+,2:+)`p2*`p6*+)2P+)2P+)2P)2PQ9*+RWDGL_R`````XCL _R *+,R*   !+S +T*+UW,S ,T*,UW+,V6,+V6+)2:+)`p2: ,)2: ,)`p2: %Y  &: * W  W%Y  &: * W  W+,`p2:,,`p2:,,`p2:+,`p2: ,S , S ,S ,S ,S , S,+V S,,V S,,V S,+V S'+  ' ',  '+   ' ',   ' '+  ',   ' +(X ,(X L M! * O * O%: S S/ +6=DMZcp      (;Nat ! "#=DMZ c p  o J=0#pk &|*q ,+*6,S,-T*,UW,`pY:,`pY:*Z;%Y+&:*W*X -[R+':+\: ,`p]: ,`p]:  3+ ' '  +*`p^  +*`p^ +*`pY:   +*`pY:%Y+&:  ^  ^  ^   +*`p ^   +*`p ^* W *X '+ '   +*`p ^,,+*`p ^   +*`p ^,,+*`p ^&() *+!,--9.E/S0_1m2z3}56789:;<=@ABCD!E)F?GUHaIoJvK|LMNORS' IC 7 + -9^ cZ :?V *+,-_ U V*    ,`:,a%Y+-,&:,S+`:,S,S,*`p^+*`p^+'*W*d([~,bm,`S%Y+-,c:6,S+','-'*W*d([ AdInZ[\]$^*_3`;aLb]ccdoefgijklmnopqrsuxp m*^O#9 +,-e9f,+-gwo>     5+,-e9fhY+i,i-ij:klw(>5555-(     b"+m+m""@P<*7M,<,%N-o(-*prks-t* uv<"8FHKN ,PN  >o=+)2w    ::6D)x`p2: +,- iy z:{P z:)x`p2: +,- iy a:{ a:6i> !3<Qbt}p !0 b0  $ '"@*7L+]+MABYC|G,DEH},'%ABYC~G,'GHI AI*7L+z+%MABYCG,(EG,GGH}>3,,2$ABYC,,2GGH}βA2 9jm*M5j( W A."@