This implements a solid consisting of a cylinder with hemispherical endcaps, also known as a capsule or a spherocylinder.
More...
|
| CollisionCapsule (const CollisionCapsule ©) |
|
| CollisionCapsule (const LPoint3 &a, const LPoint3 &db, PN_stdfloat radius) |
|
| CollisionCapsule (PN_stdfloat ax, PN_stdfloat ay, PN_stdfloat az, PN_stdfloat bx, PN_stdfloat by, PN_stdfloat bz, PN_stdfloat radius) |
|
virtual TypeHandle | force_init_type () |
|
virtual LPoint3 | get_collision_origin () const |
| Returns the point in space deemed to be the "origin" of the solid for collision purposes.
|
|
const LPoint3 & | get_point_a () const |
|
const LPoint3 & | get_point_b () const |
|
PN_stdfloat | get_radius () const |
|
virtual PStatCollector & | get_test_pcollector () |
| Returns a PStatCollector that is used to count the number of intersection tests made against a solid of this type in a given frame.
|
|
virtual TypeHandle | get_type () const |
|
virtual PStatCollector & | get_volume_pcollector () |
| Returns a PStatCollector that is used to count the number of bounding volume tests made against a solid of this type in a given frame.
|
|
virtual CollisionSolid * | make_copy () |
|
virtual void | output (std::ostream &out) const |
|
virtual | PT (CollisionEntry) test_intersection(const CollisionEntry &entry) const |
|
void | set_point_a (const LPoint3 &a) |
|
void | set_point_a (PN_stdfloat x, PN_stdfloat y, PN_stdfloat z) |
|
void | set_point_b (const LPoint3 &b) |
|
void | set_point_b (PN_stdfloat x, PN_stdfloat y, PN_stdfloat z) |
|
void | set_radius (PN_stdfloat radius) |
|
virtual void | write_datagram (BamWriter *manager, Datagram &dg) |
| Writes the contents of this object to the datagram for shipping out to a Bam file.
|
|
virtual void | xform (const LMatrix4 &mat) |
|
| CollisionSolid (const CollisionSolid ©) |
|
void | clear_effective_normal () |
| Removes the normal previously set by set_effective_normal().
|
|
| CPT (BoundingVolume) get_bounds() const |
|
const LVector3 & | get_effective_normal () const |
| Returns the normal that was set by set_effective_normal().
|
|
bool | get_respect_effective_normal () const |
|
bool | has_effective_normal () const |
| Returns true if a special normal was set by set_effective_normal(), false otherwise.
|
|
bool | is_tangible () const |
|
virtual | PT (PandaNode) get_viz(const CullTraverser *trav |
|
void | set_bounds (const BoundingVolume &bounding_volume) |
|
void | set_effective_normal (const LVector3 &effective_normal) |
| Records a false normal for this CollisionSolid that will be reported by the collision system with all collisions into it, instead of its actual normal.
|
|
void | set_respect_effective_normal (bool respect_effective_normal) |
|
void | set_tangible (bool tangible) |
|
virtual void | write (std::ostream &out, int indent_level=0) const |
|
| CopyOnWriteObject (const CopyOnWriteObject ©) |
|
void | operator= (const CopyOnWriteObject ©) |
|
void | cache_ref () const |
| Explicitly increments the cache reference count and the normal reference count simultaneously.
|
|
void | cache_ref_only () const |
| Decrements the cache reference count without affecting the normal reference count.
|
|
bool | cache_unref () const |
| Explicitly decrements the cache reference count and the normal reference count simultaneously.
|
|
int | get_cache_ref_count () const |
|
bool | test_ref_count_integrity () const |
| Does some easy checks to make sure that the reference count isn't completely bogus.
|
|
| TypedWritableReferenceCount (const TypedWritableReferenceCount ©) |
|
virtual ReferenceCount * | as_reference_count () |
| Returns the pointer cast to a ReferenceCount pointer, if it is in fact of that type.
|
|
void | operator= (const TypedWritableReferenceCount ©) |
|
| TypedWritable (const TypedWritable ©) |
|
virtual int | complete_pointers (TypedWritable **p_list, BamReader *manager) |
| Receives an array of pointers, one for each time manager->read_pointer() was called in fillin().
|
|
vector_uchar | encode_to_bam_stream () const |
| Converts the TypedWritable object into a single stream of data using a BamWriter, and returns that data as a bytes object.
|
|
bool | encode_to_bam_stream (vector_uchar &data, BamWriter *writer=nullptr) const |
| Converts the TypedWritable object into a single stream of data using a BamWriter, and stores that data in the indicated string.
|
|
virtual void | finalize (BamReader *manager) |
| Called by the BamReader to perform any final actions needed for setting up the object after all objects have been read and all pointers have been completed.
|
|
UpdateSeq | get_bam_modified () const |
| Returns the current bam_modified counter.
|
|
void | mark_bam_modified () |
| Increments the bam_modified counter, so that this object will be invalidated and retransmitted on any open bam streams.
|
|
void | operator= (const TypedWritable ©) |
|
virtual bool | require_fully_complete () const |
| Some objects require all of their nested pointers to have been completed before the objects themselves can be completed.
|
|
virtual void | update_bam_nested (BamWriter *manager) |
| Called by the BamWriter when this object has not itself been modified recently, but it should check its nested objects for updates.
|
|
| TypedObject (const TypedObject ©)=default |
|
TypedObject * | as_typed_object () |
| Returns the object, upcast (if necessary) to a TypedObject pointer.
|
|
const TypedObject * | as_typed_object () const |
| Returns the object, upcast (if necessary) to a TypedObject pointer.
|
|
int | get_best_parent_from_Set (const std::set< int > &) const |
|
int | get_type_index () const |
| Returns the internal index number associated with this object's TypeHandle, a unique number for each different type.
|
|
bool | is_exact_type (TypeHandle handle) const |
| Returns true if the current object is the indicated type exactly.
|
|
bool | is_of_type (TypeHandle handle) const |
| Returns true if the current object is or derives from the indicated type.
|
|
TypedObject & | operator= (const TypedObject ©)=default |
|
void | operator delete (void *, void *) |
|
void | operator delete (void *ptr) |
|
void | operator delete[] (void *, void *) |
|
void | operator delete[] (void *ptr) |
|
void * | operator new (size_t size) |
|
void * | operator new (size_t size, void *ptr) |
|
void * | operator new[] (size_t size) |
|
void * | operator new[] (size_t size, void *ptr) |
|
int | get_ref_count () const |
|
WeakReferenceList * | get_weak_list () const |
| Returns the WeakReferenceList associated with this ReferenceCount object.
|
|
bool | has_weak_list () const |
| Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise.
|
|
void | local_object () |
| This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack.
|
|
void | ref () const |
| Explicitly increments the reference count.
|
|
bool | ref_if_nonzero () const |
| Atomically increases the reference count of this object if it is not zero.
|
|
bool | test_ref_count_integrity () const |
| Does some easy checks to make sure that the reference count isn't completely bogus.
|
|
bool | test_ref_count_nonzero () const |
| Does some easy checks to make sure that the reference count isn't zero, or completely bogus.
|
|
virtual bool | unref () const |
| Explicitly decrements the reference count.
|
|
bool | unref_if_one () const |
| Atomically decreases the reference count of this object if it is one.
|
|
WeakReferenceList * | weak_ref () |
| Adds the indicated PointerToVoid as a weak reference to this object.
|
|
void | weak_unref () |
| Removes the indicated PointerToVoid as a weak reference to this object.
|
|
This implements a solid consisting of a cylinder with hemispherical endcaps, also known as a capsule or a spherocylinder.
This shape was previously erroneously called CollisionTube.
Definition at line 27 of file collisionCapsule.h.