improve CollisionNode interface

This commit is contained in:
David Rose 2003-09-30 23:07:41 +00:00
parent e4b9210235
commit 4a1f108468
2 changed files with 25 additions and 0 deletions

View File

@ -125,6 +125,17 @@ get_collide_geom() const {
return (_flags & F_collide_geom) != 0;
}
////////////////////////////////////////////////////////////////////
// Function: CollisionNode::clear_solids
// Access: Published
// Description: Removes all solids from the node.
////////////////////////////////////////////////////////////////////
INLINE void CollisionNode::
clear_solids() {
_solids.clear();
mark_bound_stale();
}
////////////////////////////////////////////////////////////////////
// Function: CollisionNode::get_num_solids
// Access: Published
@ -146,6 +157,18 @@ get_solid(int n) const {
return _solids[n];
}
////////////////////////////////////////////////////////////////////
// Function: CollisionNode::set_solid
// Access: Published
// Description: Replaces the solid with the indicated index.
////////////////////////////////////////////////////////////////////
INLINE void CollisionNode::
set_solid(int n, CollisionSolid *solid) {
nassertv(n >= 0 && n < get_num_solids());
_solids[n] = solid;
mark_bound_stale();
}
////////////////////////////////////////////////////////////////////
// Function: CollisionNode::remove_solid
// Access: Published

View File

@ -63,8 +63,10 @@ PUBLISHED:
INLINE void set_collide_geom(bool flag);
INLINE bool get_collide_geom() const;
INLINE void clear_solids();
INLINE int get_num_solids() const;
INLINE CollisionSolid *get_solid(int n) const;
INLINE void set_solid(int n, CollisionSolid *solid);
INLINE void remove_solid(int n);
INLINE int add_solid(CollisionSolid *solid);