Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[Manta] r2170 - trunk/Model/Groups


Chronological Thread 
  • From: "Thiago Ize" <thiago@sci.utah.edu>
  • To: manta@sci.utah.edu
  • Subject: [Manta] r2170 - trunk/Model/Groups
  • Date: Tue, 8 Apr 2008 15:17:41 -0600 (MDT)

Author: thiago
Date: Tue Apr  8 15:17:40 2008
New Revision: 2170

Modified:
   trunk/Model/Groups/Mesh.cc
   trunk/Model/Groups/Mesh.h
Log:
inlining the Mesh::get() functions just like in Group. Now Mesh::get()
is just as fast Group::get().

Modified: trunk/Model/Groups/Mesh.cc
==============================================================================
--- trunk/Model/Groups/Mesh.cc  (original)
+++ trunk/Model/Groups/Mesh.cc  Tue Apr  8 15:17:40 2008
@@ -178,17 +178,6 @@
   throw InternalError(string("Illegal call to ") + MANTA_FUNC);
 }
 
-MeshTriangle* Mesh::get( size_t i ) {
-  ASSERT( i < objs.size() );
-  return static_cast<MeshTriangle*>(objs[i]);
-}
-
-const MeshTriangle* Mesh::get(size_t i) const
-{
-  ASSERT( i < objs.size() );
-  return static_cast<MeshTriangle*>(objs[i]);
-}
-
 void Mesh::addTriangle(MeshTriangle *meshTri)
 {
   meshTri->attachMesh(this, objs.size());

Modified: trunk/Model/Groups/Mesh.h
==============================================================================
--- trunk/Model/Groups/Mesh.h   (original)
+++ trunk/Model/Groups/Mesh.h   Tue Apr  8 15:17:40 2008
@@ -74,8 +74,16 @@
     virtual void add(Object* obj);
     virtual void set( int i, Object *obj );
 
-    MeshTriangle* get( size_t i );
-    const MeshTriangle* get( size_t i ) const;
+    inline MeshTriangle* get( size_t i ) {
+      ASSERT( i < objs.size() );
+      //For some reason static_cast doesn't work when I inline this
+      return reinterpret_cast<MeshTriangle*>(objs[i]);
+    }
+    inline const MeshTriangle* get( size_t i ) const {
+      ASSERT( i < objs.size() );
+      //For some reason static_cast doesn't work when I inline this
+      return reinterpret_cast<MeshTriangle* const>(objs[i]);
+    }
 
     virtual inline Vector getVertex( size_t tri_id, size_t which_vert, Real 
t = 0 ) const {
       return vertices[vertex_indices[3*tri_id + which_vert]];




  • [Manta] r2170 - trunk/Model/Groups, Thiago Ize, 04/08/2008

Archive powered by MHonArc 2.6.16.

Top of page