Êþº¾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� ‚ƒ@�@ %„@È {… %† %‡ ˆ‰ Š‹ Œ %� Ž� � %‘’ ^“” %]•–—˜ ^™š›œ InnerClasses�SortToolHeapItemsžHeapItemŸTriangulationAlgorithmverticesLjava/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š Ÿ¡@3J¢KfindTriangulationFaceŒ(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-¹™,-¹À:*´»Y¶¶·¹W§ÿÑ>*´¹¢_*´¹À¶*´¹À¶¸ —�*´¹À¶"¸ —ž*´¹À¶#„§ÿš*´¹À*´¹À*´¹À¸$™5»%Y*´¹À*´¹À*´¹À·&N§2»%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:§ÿW„§þ1§þ+¶:¹™-¹À:*´»Y¶¶·¹W§ÿÏ»/Y·0:6*´¹¢Z*´¹À:¶`6*´¹¢)*´¹À:»1Y·2¶3„§ÿÏ„§ÿž*´ »4Y·5¶»Y·:¶6:¹™_¹À1:6¹7:  ¹™+ ¹À1:  ¶8š§6š§§ÿÑ™ ¹W§ÿ�»/Y·0:*´¹7:¹™¹À:¹7:  ¹™@ ¹À1:  ´9À¦  ¶3§ ´:À¦  ¶;¶3§ÿ¼*´ »6 ¶?À1¶@À: 6   ¢n :  ` p¶?À1¶@À: ²A»BY·C ´D¶EF¶G´D¶EF¶G ´D¶E¶H¶I  ¸+™*  ¶J: „ §ÿ‘¶K§þö*´¹7:¹™—¹À%:6  ¢´) 2: ´) `p2: ´) `p2: *  ¶L:  ´'Æ Ç  µ'´, `p S´, `p*  ¶MS´, *  ¶LS„ §ÿ�§ÿe±žºn( "%#0)8*\,k-¢.±/Â0á1. 4l5›6¼7Ç8Ì:Ý;í<ÿ=>?%@3A;BRD]EhFnH€I‹JšK¡L¥M¬NÂQÔRÜSïTûU VW#X:ZB[J\R]X_c`rayb}c…d›:¡g¤jÞkçlømno#p3qCoIlOt_uhv…wˆx§y¸zÀ{Ã|È}ÒÕ€Þ�ÿ‚ƒ5…L‡Oˆa‰h‹yŒƒ�‡Žž�Ð�Ü‘èŒî•ó–ö—˜ ™*š8›FœP�džrŸ† –˜œ¢Ÿ¥Ÿt%„ ¡¤i¢£i¤¥ž¢£B¦¥ í® §ÿœ¨§•©¥‚ª§ÏÒ¢£› ¤¥À ¡3«§4¬£A­§êe¢£§®¯ ˆJ°±…M²¯.²¯ ‡g § |r¬£ h‹³£ yz¨§ ÿô«§*l«§ 8^´§ FPµ§ PF¶¥ ‚¢£ …·¥ç¸¸¹h7º�ÞÁ»¹ ¼½ ¾¿ ÀÁ ç¸¸Ãh7ºÄÞÁ»ÃÅ×3ÿ\ÆÇÈüÉú1üûQúû^ü.ÊüúüÿI ÆÇÈÊËËÊË8ûS,ûJÿBÆÇÈÊúúýÉù3þ Ìý*Ëù3úýÍÉþ!ÎÉü#Î@ú úùúýÌÉýËÉü,Îúúÿ, ÆÇÈÌÍÌÉËËÿk ÆÇÈÌÍÌÉËËËÿ ÆÇÈÌÍÌÉËËÿÆÇÈÌÍÌü ÉýÊÿBÆÇÈÌÍÌÉÊËËËÊÿ7ÆÇÈÌÍÌÉÿÆÇÈÏÐ�ïi*´¹7:¹™,¹À%:+¶N,¶N~-¶N~™°§ÿл%Y+,-·&:*´¹W*´¹dµ(°ž©!ª;«>¬J­V®f¯Ÿ>!·¥i¼½i­§i«§i´§J¤¥Å ü É/úÑÒ�¶L*´¹7N-¹™:-¹À%:+¶N™#,¶N™´)+¶*`p2,¦°§ÿðž´µ8¶G·J¸Ÿ*)·¥L¼½L­§L«§Å ü É<úÓÒ�¶L*´¹7N-¹™:-¹À%:+¶N™#,¶N™´),¶*`p2+¦°§ÿðž½¾8¿GÀJÁŸ*)·¥L¼½L­§L«§Å ü É<úÔÕ�ÍE+´'M,+¶*>,´,`p2ư,´,`p2:ÆM,+¶*>,´,`p2:§ÿæ,°ž& ÇÈ ÉÊ&Ë+Ì.Í4ÎCП4E¼½E«§@·¥ :Ö£&×¥ÅýÊü ÊØÕ�n +´'+¶*=+´'´,`p2ư+´'°ž Ö ×Ÿ  ¼½ «§ Ö£ÅüÙÚ�U *+¶O±ž ÛÜŸ* ¼½ Û¥ Ö£ ܱÙÝ�ø `+´,2:+´)`p2¶*`p6*´+´)2¶P+´)2¶P+´)2¶P´)2¶P¶Q9—ž*+¶RW±žßàáDâGáLã_äŸR`¼½`Û¥`Ö£`ܱ`™šX©¥CÞ£LßàÅ þ_Êáâ�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ô=õD÷MøZùcúpüý‹þ—ÿ¦²¾ËØåòû      (;Nat„�­ÆÏØÛÞâñ ! "#ŸÀ¼½ã¥ä¥ܱ™šæ±=Øç£DÑè£MÈé§Z»ê§ c²ë§ p¥ì§ –í¥ ¦oî¥ ËJï¥Ø=ð¥å0ñ¥ò#ò¥óôÅpÿk ÆÊÊõËËËËÊü&Êÿ|ÆÊÊõËËËËÊÊÊÊÊÊ*ö÷�q Í,+¶*6,¶S™,-¶T*´,¹UW,`p¶Y:,`p¶Y:*´¹Z™;»%Y+·&:*´¹W*´¹¶X™ -¶[§R+´':+¶\: ,`p¶]: ,`p¶]:  ¦3+ µ' µ'  +¶*`p¶^  +¶*`p¶^§÷ Æ+¶*`p¶Y: Æ  +¶*`p¶Y:»%Y+·&:  ¶^  ¶^  ¶^ Æ  +¶*`p ¶^ Æ  +¶*`p ¶^*´ ¹W *´¹¶X µ'+ µ' Æ  +¶*`p ¶^§,,+¶*`p ¶^ Æ  +¶*`p ¶^§,,+¶*`p ¶^±žš&() *+!,--9.E/S0_1m2z3}5ƒ6‰7•8¡9¨:®;µ<Å=Ø@îABCD!E)F?GUHaIoJvK|L•M¤N½OÌRŸŽS'ø¥ºø¥ ƒIù¥‰Cú¥ •7û¥ ¡+ü¥ ͼ½Í«§Íý¥Í™šÍæ±ÆÖ£- þ§9”ÿ§Å^ üýcËËÿZ ÆËÊõËËÊÊÊÊü:Ê?ÿÆËÊõËË�V *+,-¶_±ž U VŸ* ¼½ þ§ ÿ§ §� ,¶`:,¶aÆ»%Y+-,·&:´,S+¶`:´,S´,S,¶*`p¶^+¶*`p¶^+µ'*´¹W*´¹dµ(¶[§~,¶bÇm,¶`¶S»%Y+-,·c:6¢´,S„§ÿî+µ',µ'-µ'*´¹W*´¹dµ(¶[§ ²Ad¶I±žnZ[\]$^*_3`;aLb]ccdoefˆg‹i”jœk¬lÄmÊnÐoÖpâqòrûsþuxŸp mø¥*^¥¯¢£¬Oø¥¼½þ§ÿ§§™šæ±¥Åü‹Êý#Êúú9�� +,-¸e9˜�²f¯,+-¸gwo¯ž™š›Ÿ> ¼½ þ¡ ÿ¡ ¡  ¡àÅü �©5+,-¸e9˜�²f¯»hY+´i,´i-´i·j:¶k¶l¸w¯žŸ ¡(¢Ÿ>5¼½5þ§5ÿ§5§-à(   Åü  �b"+¶¸m—�+¶¸m—ž§¬ž¦Ÿ"¼½" ¡Å@�½P<*´¹7M,¹™<,¹À%N-¶oš(-*´p²rk¶s™-´t*´ ²u¶v<§§ÿÁ¬ž"ª«¬8­F®H¯K±N²Ÿ ,¥P¼½N°±Å ý É>ú�o=¢+´)2´w™¬„§ÿ꬞ ·¸Ÿ Ö£¼½ý¥Å üú�— §::6™D´)´x`p2: +,- ´i¸y˜�¬ ¶z:´{ŸP ¶z:§ÿî´)´x`p2: +,- ´i¸y˜�¬ ¶a:´{Ÿ ¶a:§ÿîš§6¦ÿi¬ž>ØÙÚ Þß!à3á<âQåbætç}è’êžë¥ìŸp !0§ b0§ §¼½§þ§ÿ§§ü¥§û¥£¥Ÿ¥ œ±Å$ þ ÊÊý'Ëùü"Ëú@�šø*´¹7L+¹™]+¹ÀM²A»BY·C|¶G,´D¶E¶H¶},´'Æ%²A»BY·C~¶G,´'¶¶G¶H¶I§ ²A€¶I§ÿ *´¹7L+¹™z+¹À%M²A»BY·C�¶G,´(¶E‚¶G,¶¶Gƒ¶G¶H¶}>¢3,´,2Æ$²A»BY·C,´,2¶¶G‚¶G¶H¶}„§ÿβA¶„§ÿƒ±ž2 ¢£9¤j¥m¦Š§·¨¾©è¨î«ô¬÷­Ÿ*M«§¹5¢£Šj·¥ø¼½Å( ü ÉüWËúúü ÉýAÊ.úùˆ"‡‰…Š‹…Œ�…Ž@