diff options
Diffstat (limited to 'src/model/collisionmesh.cc')
-rw-r--r-- | src/model/collisionmesh.cc | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/src/model/collisionmesh.cc b/src/model/collisionmesh.cc index 5d4505a..5d2328a 100644 --- a/src/model/collisionmesh.cc +++ b/src/model/collisionmesh.cc @@ -26,7 +26,7 @@ void CollisionMesh::shutdown() void CollisionMesh::add(CollisionMesh *collisionmesh) { - collisionmesh_registry[collisionmesh->name()] = collisionmesh; + collisionmesh_registry.push_back(collisionmesh); } void CollisionMesh::clear() @@ -34,26 +34,16 @@ void CollisionMesh::clear() con_debug << " clearing collision meshes" << std::endl; for (Registry::iterator i = collisionmesh_registry.begin(); i != collisionmesh_registry.end(); ++i) { - delete (*i).second; - (*i).second = 0; + delete (*i); + (*i) = 0; } collisionmesh_registry.clear(); } -CollisionMesh *CollisionMesh::find(const std::string &name) -{ - for (Registry::iterator i = collisionmesh_registry.begin(); i != collisionmesh_registry.end(); ++i) { - if ((*i).first.compare(name) == 0) - return (*i).second; - } - - return 0; -} - -CollisionMesh::CollisionMesh(const std::string &name) : - collisionmesh_name(name) +CollisionMesh::CollisionMesh() { + collisionmesh_type = FragmentGroup::None; collisionmesh_size = 0; // btTriangleMesh (bool use32bitIndices=true, bool use4componentVertices=true) collisionmesh_triangles = new btTriangleMesh(true, false); @@ -64,6 +54,11 @@ CollisionMesh::~CollisionMesh() delete collisionmesh_triangles; } +void CollisionMesh::set_type(const FragmentGroup::Type type) +{ + collisionmesh_type = type; +} + void CollisionMesh::add_triangle(const math::Vector3f & v0, const math::Vector3f & v1, const math::Vector3f & v2) { collisionmesh_triangles->addTriangle( @@ -72,7 +67,7 @@ void CollisionMesh::add_triangle(const math::Vector3f & v0, const math::Vector3f to_btVector3(v2), true ); - collisionmesh_size += 1; + collisionmesh_size++; } } // namespace model |