|
@@ -0,0 +1,42 @@
|
|
|
|
|
+from panda3d import core
|
|
|
|
|
+
|
|
|
|
|
+empty_format = core.GeomVertexFormat.get_empty()
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+def test_geom_decompose_in_place():
|
|
|
|
|
+ vertex_data = core.GeomVertexData("", empty_format, core.GeomEnums.UH_static)
|
|
|
|
|
+ prim = core.GeomTristrips(core.GeomEnums.UH_static)
|
|
|
|
|
+ prim.add_vertex(0)
|
|
|
|
|
+ prim.add_vertex(1)
|
|
|
|
|
+ prim.add_vertex(2)
|
|
|
|
|
+ prim.add_vertex(3)
|
|
|
|
|
+ prim.close_primitive()
|
|
|
|
|
+
|
|
|
|
|
+ geom = core.Geom(vertex_data)
|
|
|
|
|
+ geom.add_primitive(prim)
|
|
|
|
|
+
|
|
|
|
|
+ geom.decompose_in_place()
|
|
|
|
|
+
|
|
|
|
|
+ prim = geom.get_primitive(0)
|
|
|
|
|
+ assert tuple(prim.get_vertex_list()) == (0, 1, 2, 2, 1, 3)
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+def test_geom_decompose():
|
|
|
|
|
+ vertex_data = core.GeomVertexData("", empty_format, core.GeomEnums.UH_static)
|
|
|
|
|
+ prim = core.GeomTristrips(core.GeomEnums.UH_static)
|
|
|
|
|
+ prim.add_vertex(0)
|
|
|
|
|
+ prim.add_vertex(1)
|
|
|
|
|
+ prim.add_vertex(2)
|
|
|
|
|
+ prim.add_vertex(3)
|
|
|
|
|
+ prim.close_primitive()
|
|
|
|
|
+
|
|
|
|
|
+ geom = core.Geom(vertex_data)
|
|
|
|
|
+ geom.add_primitive(prim)
|
|
|
|
|
+
|
|
|
|
|
+ new_geom = geom.decompose()
|
|
|
|
|
+
|
|
|
|
|
+ new_prim = new_geom.get_primitive(0)
|
|
|
|
|
+ assert tuple(new_prim.get_vertex_list()) == (0, 1, 2, 2, 1, 3)
|
|
|
|
|
+
|
|
|
|
|
+ # Old primitive should still be unchanged
|
|
|
|
|
+ assert prim == geom.get_primitive(0)
|