Browse Source

fix CollisionVisualizer

David Rose 16 years ago
parent
commit
bc14778fac

+ 15 - 0
panda/src/collide/collisionVisualizer.cxx

@@ -251,6 +251,21 @@ cull_callback(CullTraverser *trav, CullTraverserData &data) {
   return true;
   return true;
 }
 }
 
 
+////////////////////////////////////////////////////////////////////
+//     Function: CollisionVisualizer::is_renderable
+//       Access: Public, Virtual
+//  Description: Returns true if there is some value to visiting this
+//               particular node during the cull traversal for any
+//               camera, false otherwise.  This will be used to
+//               optimize the result of get_net_draw_show_mask(), so
+//               that any subtrees that contain only nodes for which
+//               is_renderable() is false need not be visited.
+////////////////////////////////////////////////////////////////////
+bool CollisionVisualizer::
+is_renderable() const {
+  return true;
+}
+
 
 
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 //     Function: CollisionVisualizer::output
 //     Function: CollisionVisualizer::output

+ 1 - 0
panda/src/collide/collisionVisualizer.h

@@ -51,6 +51,7 @@ public:
   // from parent class PandaNode.
   // from parent class PandaNode.
   virtual PandaNode *make_copy() const;
   virtual PandaNode *make_copy() const;
   virtual bool cull_callback(CullTraverser *trav, CullTraverserData &data);
   virtual bool cull_callback(CullTraverser *trav, CullTraverserData &data);
+  virtual bool is_renderable() const;
   virtual void output(ostream &out) const;
   virtual void output(ostream &out) const;
 
 
   // from parent class CollisionRecorder.
   // from parent class CollisionRecorder.