| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- from panda3d import navmeshgen
- from panda3d import core
- def test_input_geom():
- data = core.GeomVertexData("", core.GeomVertexFormat.get_v3(), core.Geom.UH_static)
- vertex = core.GeomVertexWriter(data, "vertex")
- vertex.add_data3((0, 0, 0))
- vertex.add_data3((100, 1000, 0))
- vertex.add_data3((0, 100, 2))
- vertex.add_data3((500, 200, 2))
- vertex.add_data3((170, 20, 2))
- vertex.add_data3((100, 100, 100))
- prim = core.GeomTriangles(core.Geom.UH_static)
- prim.add_vertices(0, 1, 4)
- prim.close_primitive()
- geom = core.Geom(data)
- geom.add_primitive(prim)
- prim.add_vertices(2,3,5)
- prim.close_primitive()
- geom.add_primitive(prim)
- node = core.GeomNode('gnode')
- node.addGeom(geom)
- scene = core.NodePath(node)
-
- builder = navmeshgen.NavMeshBuilder()
- # Extracting geoms from 'scene' and calculating vertices and triangles.
- builder.from_node_path(scene)
- # Finding number of vertices.
- vcount = builder.get_vert_count()
- # Finding number of triangles.
- tcount = builder.get_tri_count()
- assert vcount == 6
- assert tcount == 4
- def test_poly_mesh():
- data = core.GeomVertexData("", core.GeomVertexFormat.get_v3(), core.Geom.UH_static)
- vertex = core.GeomVertexWriter(data, "vertex")
- vertex.add_data3((0, 0, 0))
- vertex.add_data3((100, 1000, 0))
- vertex.add_data3((0, 100, 2))
- vertex.add_data3((500, 200, 2))
- vertex.add_data3((170, 20, 2))
- vertex.add_data3((100, 100, 100))
- prim = core.GeomTriangles(core.Geom.UH_static)
- prim.add_vertices(0, 1, 2)
- prim.close_primitive()
- geom = core.Geom(data)
- geom.add_primitive(prim)
- prim.add_vertices(2,3,5)
- prim.close_primitive()
- geom.add_primitive(prim)
- node = core.GeomNode('gnode')
- node.add_geom(geom)
- scene = core.NodePath(node)
-
- builder = navmeshgen.NavMeshBuilder()
- # Extracting geoms from 'scene' and calculating vertices and triangles.
- builder.from_node_path(scene)
-
- # Building the navmesh
- builder.build()
-
- nverts = builder.get_pmesh_vert_count()
- npolys = builder.get_pmesh_poly_count()
- maxpolys = builder.get_pmesh_max_poly_count()
- assert nverts == 230
- assert npolys == 112
- assert maxpolys == 226
|