package Ġorg . semp re bon . mesh . operations Ċ Ċ import Ġorg . junit . jupiter . api . Assertions Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . Test Instance Ċ import Ġorg . semp re bon . mesh . Mesh TestHelper Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Assertions . assertTrue Ċ import Ġorg . semp re bon . mesh . Geometry Ċ import Ġorg . semp re bon . mesh . Mesh Visualizer Ċ import Ġorg . semp re bon . mesh . filters . Near Polyline Ċ import Ġorg . semp re bon . mesh . filters . Util Ċ Ċ @ Test Instance ( Test Instance . Lifecycle . PER _ CLASS ) Ċ class ĠQuad Faces Test Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ: ĠMesh TestHelper () ĊĊĠĠĠ Ġval Ġsquare Ġ= Ġsquare Mesh ( 1 , 1 . 0 ) ĊĠĠĠ Ġval Ġsquare 1 0 x 1 0 Ġ= Ġsquare Mesh ( 1 0 , Ġ 0 . 0 ) ĊĊĠĠĠ Ġval Ġpoly Line Ġ= ĠlistOf ( v ( 0 . 0 , Ġ 0 . 0 ), Ġv ( 3 . 0 , 3 . 0 ), Ġv ( 6 . 0 , Ġ 3 . 0 )) ĊĠĠĠ Ġval Ġnear Polyline Ġ= ĠN ear Polyline ( poly Line , Ġ 0 . 5 ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` sub divide Ġa Ġsquare `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmesh Ġ= ĠQuad Faces (). apply ( square ) ĊĊĠĠĠĠĠĠĠ ĠMesh Visualizer . start (" quad Faces Test Square . png ") Ġ{ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMesh Visualizer . visual ize ( mesh ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( 4 , Ġmesh . faces . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 9 , Ġmesh . vertices . size ) ĊĠĠĠĠĠĠĠ Ġmesh . faces . forEach Indexed Ġ{ Ġi , Ġface Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 4 , Ġface . v Indexes . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( face . vertices . contains ( v ( 0 . 5 , 0 . 5 , 1 . 0 ))) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( face . vertices . contains ( square . vertices [ i ])) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġface Ġ= Ġmesh . faces [ 0 ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` sub divide Ġwith Ġfilter Ġsquares Ġin Ġarray `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmesh Ġ= ĠQuad Faces ( Util . any Vertices Of Face ( near Polyline )). apply ( square 1 0 x 1 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġsquares Div ided Ġ= Ġ 1 6 ĊĊĠĠĠĠĠĠĠ ĠMesh Visualizer . start (" quad Faces Test Grid . png ") Ġ{ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMesh Visualizer . visual ize ( mesh ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( squares Div ided Ġ* Ġ 3 , Ġmesh . faces . size Ġ- Ġsquare 1 0 x 1 0 . faces . size ) ĊĠĠĠ Ġ} Ċ } Ċ