| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- from direct.showbase.ShowBase import ShowBase
- from panda3d import navigation
- from panda3d import core
- from panda3d.core import NodePath
- 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.closePrimitive()
- geom = core.Geom(data)
- geom.add_primitive(prim)
- prim.add_vertices(2,3,5)
- prim.closePrimitive()
- geom.add_primitive(prim)
- node = core.GeomNode('gnode')
- node.addGeom(geom)
- scene = NodePath(node)
- # Defining navmesh as object of NavMehsBuilder class.
- nav = navigation.NavMeshBuilder()
- # Extracting geoms from 'scene' and calculating vertices and triangles.
- nav.fromNodePath(scene)
- # Finding number of vertices.
- vcount = nav.get_vert_count()
- # Finding number of triangles.
- tcount = nav.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.closePrimitive()
- geom = core.Geom(data)
- geom.add_primitive(prim)
- prim.add_vertices(2,3,5)
- prim.closePrimitive()
- geom.add_primitive(prim)
- node = core.GeomNode('gnode')
- node.addGeom(geom)
- scene = NodePath(node)
- # Defining navmesh as object of NavMehsBuilder class.
- nav = navigation.NavMeshBuilder()
- # Extracting geoms from 'scene' and calculating vertices and triangles.
- nav.fromNodePath(scene)
-
- # Building the navmesh
- navmesh = nav.build()
-
- nverts = nav.getPmeshVertCount()
- npolys = nav.getPmeshPolyCount()
- maxpolys = nav.getPmeshMaxPolyCount()
- assert nverts == 230
- assert npolys == 112
- assert maxpolys == 226
|