| 
29 | 29 | import opengeode as geode  | 
30 | 30 | import opengeode_inspector_py_inspector as inspector  | 
31 | 31 | 
 
  | 
 | 32 | + | 
32 | 33 | def check_intersections2D():  | 
33 | 34 |     surface = geode.TriangulatedSurface2D.create()  | 
34 |  | -    builder = geode.TriangulatedSurfaceBuilder2D.create( surface )  | 
35 |  | -    builder.create_vertices( 5 )  | 
36 |  | -    builder.set_point( 0, geode.Point2D( [ 0., 0. ] ) )  | 
37 |  | -    builder.set_point( 1, geode.Point2D( [ 3., 0. ] ) )  | 
38 |  | -    builder.set_point( 2, geode.Point2D( [ 0., 4. ] ) )  | 
39 |  | -    builder.set_point( 3, geode.Point2D( [ 3., 4. ] ) )  | 
40 |  | -    builder.set_point( 4, geode.Point2D( [ -1., 2. ] ) )  | 
41 |  | -    builder.create_triangle( [ 0, 1, 2 ] )  | 
42 |  | -    builder.create_triangle( [ 0, 1, 3 ] )  | 
43 |  | -    builder.create_triangle( [ 1, 3, 4 ] )  | 
44 |  | -    builder.set_polygon_adjacent( geode.PolygonEdge( 0, 0 ), 1 )  | 
45 |  | -    builder.set_polygon_adjacent( geode.PolygonEdge( 1, 0 ), 0 )  | 
46 |  | -    builder.set_polygon_adjacent( geode.PolygonEdge( 1, 1 ), 2 )  | 
47 |  | -    builder.set_polygon_adjacent( geode.PolygonEdge( 2, 0 ), 1 )  | 
 | 35 | +    builder = geode.TriangulatedSurfaceBuilder2D.create(surface)  | 
 | 36 | +    builder.create_vertices(5)  | 
 | 37 | +    builder.set_point(0, geode.Point2D([0., 0.]))  | 
 | 38 | +    builder.set_point(1, geode.Point2D([3., 0.]))  | 
 | 39 | +    builder.set_point(2, geode.Point2D([0., 4.]))  | 
 | 40 | +    builder.set_point(3, geode.Point2D([3., 4.]))  | 
 | 41 | +    builder.set_point(4, geode.Point2D([-1., 2.]))  | 
 | 42 | +    builder.create_triangle([0, 1, 2])  | 
 | 43 | +    builder.create_triangle([0, 1, 3])  | 
 | 44 | +    builder.create_triangle([1, 3, 4])  | 
 | 45 | +    builder.set_polygon_adjacent(geode.PolygonEdge(0, 0), 1)  | 
 | 46 | +    builder.set_polygon_adjacent(geode.PolygonEdge(1, 0), 0)  | 
 | 47 | +    builder.set_polygon_adjacent(geode.PolygonEdge(1, 1), 2)  | 
 | 48 | +    builder.set_polygon_adjacent(geode.PolygonEdge(2, 0), 1)  | 
48 | 49 | 
 
  | 
49 |  | -    intersections_inspector = inspector.SurfaceMeshIntersections2D( surface )  | 
 | 50 | +    intersections_inspector = inspector.TriangulatedSurfaceIntersections2D(  | 
 | 51 | +        surface)  | 
50 | 52 |     if not intersections_inspector.mesh_has_self_intersections():  | 
51 |  | -        raise ValueError( "[Test] 2D Surface should have intersections." )  | 
 | 53 | +        raise ValueError("[Test] 2D Surface should have intersections.")  | 
52 | 54 |     if not intersections_inspector.nb_intersecting_elements_pair() == 3:  | 
53 |  | -        raise ValueError( "[Test] 2D Surface should have 3 intersecting elements pair." )  | 
 | 55 | +        raise ValueError(  | 
 | 56 | +            "[Test] 2D Surface should have 3 intersecting elements pair.")  | 
54 | 57 |     triangles_inter = intersections_inspector.intersecting_elements()  | 
55 |  | -    if len( triangles_inter ) != 3 or triangles_inter[0][0] != 2 or triangles_inter[0][1] != 0 or triangles_inter[1][0] != 2 or triangles_inter[1][1] != 1 or triangles_inter[2][0] != 0 or triangles_inter[2][1] != 1:  | 
56 |  | -        raise ValueError( "[Test] 2D Surface has wrong intersecting elements pairs." )  | 
 | 58 | +    if len(triangles_inter) != 3 or triangles_inter[0][0] != 2 or triangles_inter[0][1] != 0 or triangles_inter[1][0] != 2 or triangles_inter[1][1] != 1 or triangles_inter[2][0] != 0 or triangles_inter[2][1] != 1:  | 
 | 59 | +        raise ValueError(  | 
 | 60 | +            "[Test] 2D Surface has wrong intersecting elements pairs.")  | 
 | 61 | + | 
57 | 62 | 
 
  | 
58 | 63 | def check_intersections3D():  | 
59 | 64 |     surface = geode.TriangulatedSurface3D.create()  | 
60 |  | -    builder = geode.TriangulatedSurfaceBuilder3D.create( surface )  | 
61 |  | -    builder.create_vertices( 7 )  | 
62 |  | -    builder.set_point( 0, geode.Point3D( [ 0., 0., 0. ] ) )  | 
63 |  | -    builder.set_point( 1, geode.Point3D( [ 0., 0., 3. ] ) )  | 
64 |  | -    builder.set_point( 2, geode.Point3D( [ 0., 2., 0. ] ) )  | 
65 |  | -    builder.set_point( 3, geode.Point3D( [ 2., 0., 0. ] ) )  | 
66 |  | -    builder.set_point( 4, geode.Point3D( [ 5., 0., 1.5 ] ) )  | 
67 |  | -    builder.set_point( 5, geode.Point3D( [ 2., 0.5, 2. ] ) )  | 
68 |  | -    builder.set_point( 6, geode.Point3D( [ 0., 0., 1.5 ] ) )  | 
69 |  | -    builder.create_triangle( [ 0, 1, 2 ] )  | 
70 |  | -    builder.create_triangle( [ 0, 2, 3 ] )  | 
71 |  | -    builder.create_triangle( [ 3, 5, 2 ] )  | 
72 |  | -    builder.create_triangle( [ 5, 2, 4 ] )  | 
73 |  | -    builder.create_triangle( [ 4, 2, 6 ] )  | 
74 |  | -    builder.set_polygon_adjacent( geode.PolygonEdge( 0, 2 ), 1 )  | 
75 |  | -    builder.set_polygon_adjacent( geode.PolygonEdge( 1, 0 ), 0 )  | 
76 |  | -    builder.set_polygon_adjacent( geode.PolygonEdge( 1, 1 ), 2 )  | 
77 |  | -    builder.set_polygon_adjacent( geode.PolygonEdge( 2, 2 ), 1 )  | 
78 |  | -    builder.set_polygon_adjacent( geode.PolygonEdge( 2, 1 ), 3 )  | 
79 |  | -    builder.set_polygon_adjacent( geode.PolygonEdge( 3, 0 ), 2 )  | 
 | 65 | +    builder = geode.TriangulatedSurfaceBuilder3D.create(surface)  | 
 | 66 | +    builder.create_vertices(7)  | 
 | 67 | +    builder.set_point(0, geode.Point3D([0., 0., 0.]))  | 
 | 68 | +    builder.set_point(1, geode.Point3D([0., 0., 3.]))  | 
 | 69 | +    builder.set_point(2, geode.Point3D([0., 2., 0.]))  | 
 | 70 | +    builder.set_point(3, geode.Point3D([2., 0., 0.]))  | 
 | 71 | +    builder.set_point(4, geode.Point3D([5., 0., 1.5]))  | 
 | 72 | +    builder.set_point(5, geode.Point3D([2., 0.5, 2.]))  | 
 | 73 | +    builder.set_point(6, geode.Point3D([0., 0., 1.5]))  | 
 | 74 | +    builder.create_triangle([0, 1, 2])  | 
 | 75 | +    builder.create_triangle([0, 2, 3])  | 
 | 76 | +    builder.create_triangle([3, 5, 2])  | 
 | 77 | +    builder.create_triangle([5, 2, 4])  | 
 | 78 | +    builder.create_triangle([4, 2, 6])  | 
 | 79 | +    builder.set_polygon_adjacent(geode.PolygonEdge(0, 2), 1)  | 
 | 80 | +    builder.set_polygon_adjacent(geode.PolygonEdge(1, 0), 0)  | 
 | 81 | +    builder.set_polygon_adjacent(geode.PolygonEdge(1, 1), 2)  | 
 | 82 | +    builder.set_polygon_adjacent(geode.PolygonEdge(2, 2), 1)  | 
 | 83 | +    builder.set_polygon_adjacent(geode.PolygonEdge(2, 1), 3)  | 
 | 84 | +    builder.set_polygon_adjacent(geode.PolygonEdge(3, 0), 2)  | 
80 | 85 | 
 
  | 
81 |  | -    intersections_inspector = inspector.SurfaceMeshIntersections3D(surface)  | 
 | 86 | +    intersections_inspector = inspector.TriangulatedSurfaceIntersections3D(  | 
 | 87 | +        surface)  | 
82 | 88 |     if not intersections_inspector.mesh_has_self_intersections():  | 
83 |  | -        raise ValueError( "[Test] 3D Surface should have intersections." )  | 
 | 89 | +        raise ValueError("[Test] 3D Surface should have intersections.")  | 
84 | 90 |     nb_intersections = intersections_inspector.nb_intersecting_elements_pair()  | 
85 | 91 |     if not nb_intersections == 2:  | 
86 |  | -        raise ValueError( "[Test] 3D Surface should have 2 intersecting elements pair." )  | 
 | 92 | +        raise ValueError(  | 
 | 93 | +            "[Test] 3D Surface should have 2 intersecting elements pair.")  | 
87 | 94 |     triangles_inter = intersections_inspector.intersecting_elements()  | 
88 |  | -    if len( triangles_inter ) != 2 or triangles_inter[0][0] != 0 or triangles_inter[0][1] != 4 or triangles_inter[1][0] != 2 or triangles_inter[1][1] != 4:  | 
89 |  | -        raise ValueError( "[Test] 3D Surface has wrong intersecting elements pairs." )  | 
 | 95 | +    if len(triangles_inter) != 2 or triangles_inter[0][0] != 0 or triangles_inter[0][1] != 4 or triangles_inter[1][0] != 2 or triangles_inter[1][1] != 4:  | 
 | 96 | +        raise ValueError(  | 
 | 97 | +            "[Test] 3D Surface has wrong intersecting elements pairs.")  | 
 | 98 | + | 
90 | 99 | 
 
  | 
91 | 100 | if __name__ == '__main__':  | 
92 | 101 |     inspector.OpenGeodeInspectorInspector.initialize()  | 
 | 
0 commit comments