Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/model/collisionmesh.cc')
-rw-r--r--src/model/collisionmesh.cc27
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