Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[Manta] r2301 - trunk/Model/Groups


Chronological Thread 
  • From:
  • To:
  • Subject: [Manta] r2301 - trunk/Model/Groups
  • Date: Tue, 8 Jul 2008 16:17:41 -0600 (MDT)

Author: abe
Date: Tue Jul  8 16:17:41 2008
New Revision: 2301

Modified:
   trunk/Model/Groups/Group.cc
   trunk/Model/Groups/Group.h
   trunk/Model/Groups/Mesh.cc
   trunk/Model/Groups/Mesh.h
Log:

Added Group::remove(Object*).

M    Model/Groups/Mesh.cc
M    Model/Groups/Group.cc
M    Model/Groups/Group.h
M    Model/Groups/Mesh.h


Modified: trunk/Model/Groups/Group.cc
==============================================================================
--- trunk/Model/Groups/Group.cc (original)
+++ trunk/Model/Groups/Group.cc Tue Jul  8 16:17:41 2008
@@ -123,6 +123,14 @@
   dirtybbox = true;
 }
 
+void Group::remove(Object* obj) {
+  vector<Object*>::iterator iter = find(objs.begin(), objs.end(), obj);
+  if (iter != objs.end()) {
+    objs.erase(iter);
+    dirtybbox = true;
+  }
+}
+
 bool Group::isDirty() const{
   return dirtybbox;
 }

Modified: trunk/Model/Groups/Group.h
==============================================================================
--- trunk/Model/Groups/Group.h  (original)
+++ trunk/Model/Groups/Group.h  Tue Jul  8 16:17:41 2008
@@ -60,6 +60,7 @@
     virtual bool isParallel() const { return true; }
 
     virtual void add(Object* obj);
+    virtual void remove(Object* obj);    
     virtual void set( size_t i, Object* obj );
 
     inline Object* get( size_t i ) {

Modified: trunk/Model/Groups/Mesh.cc
==============================================================================
--- trunk/Model/Groups/Mesh.cc  (original)
+++ trunk/Model/Groups/Mesh.cc  Tue Jul  8 16:17:41 2008
@@ -168,13 +168,16 @@
 
 void Mesh::add(Object* obj)
 {
-  //I don't think this should be allowed.
+  throw InternalError(string("Illegal call to ") + MANTA_FUNC);
+}
+
+void Mesh::remove(Object* obj)
+{
   throw InternalError(string("Illegal call to ") + MANTA_FUNC);
 }
 
 void Mesh::set( int i, Object *obj )
 {
-  //I don't think this should be allowed.
   throw InternalError(string("Illegal call to ") + MANTA_FUNC);
 }
 

Modified: trunk/Model/Groups/Mesh.h
==============================================================================
--- trunk/Model/Groups/Mesh.h   (original)
+++ trunk/Model/Groups/Mesh.h   Tue Jul  8 16:17:41 2008
@@ -73,6 +73,7 @@
     //should not be allowed to use Group's add and set.
     virtual void add(Object* obj);
     virtual void set( int i, Object *obj );
+    virtual void remove(Object* obj);
 
     inline MeshTriangle* get( size_t i ) {
       ASSERT( i < objs.size() );


  • [Manta] r2301 - trunk/Model/Groups, abe, 07/08/2008

Archive powered by MHonArc 2.6.16.

Top of page