Panda3D

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
CollisionInvSphere Class Reference

An inverted sphere: this is a sphere whose collision surface is the inside surface of the sphere. More...

`#include "collisionInvSphere.h"`

Inheritance diagram for CollisionInvSphere:

## Public Member Functions
| CollisionInvSphere (const CollisionInvSphere &copy)
| CollisionInvSphere (const LPoint3 &center, PN_stdfloat radius)
| CollisionInvSphere (PN_stdfloat cx, PN_stdfloat cy, PN_stdfloat cz, PN_stdfloat radius)
virtual TypeHandle | force_init_type ()
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 PointerTo< CollisionEntry > | test_intersection (const CollisionEntry &entry) const
virtual void | write_datagram (BamWriter *manager, Datagram &me)
| Function to write the important information in the particular object to a Datagram.
Public Member Functions inherited from CollisionSphere
| CollisionSphere (const CollisionSphere &copy)
| CollisionSphere (const LPoint3 &center, PN_stdfloat radius)
| CollisionSphere (PN_stdfloat cx, PN_stdfloat cy, PN_stdfloat cz, PN_stdfloat radius)
const LPoint3 & | get_center () const
virtual LPoint3 | get_collision_origin () const
| Returns the point in space deemed to be the "origin" of the solid for collision purposes.
PN_stdfloat | get_radius () const
void | set_center (const LPoint3 &center)
void | set_center (PN_stdfloat x, PN_stdfloat y, PN_stdfloat z)
void | set_radius (PN_stdfloat radius)
virtual void | xform (const LMatrix4 &mat)
| Transforms the solid by the indicated matrix.
Public Member Functions inherited from CollisionSolid
| CollisionSolid (const CollisionSolid &copy)
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 (CollisionEntry) test_intersection(const CollisionEntry &entry) 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
Public Member Functions inherited from CopyOnWriteObject
| CopyOnWriteObject (const CopyOnWriteObject &copy)
void | operator= (const CopyOnWriteObject &copy)
Public Member Functions inherited from CachedTypedWritableReferenceCount
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.
Public Member Functions inherited from TypedWritableReferenceCount
| TypedWritableReferenceCount (const TypedWritableReferenceCount &copy)
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 &copy)
Public Member Functions inherited from TypedWritable
| TypedWritable (const TypedWritable &copy)
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 &copy)
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.
Public Member Functions inherited from TypedObject
| TypedObject (const TypedObject &copy)=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 &copy)=default
Public Member Functions inherited from MemoryBase
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)
Public Member Functions inherited from ReferenceCount
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.

## Static Public Member Functions
static TypeHandle | get_class_type ()
static void | init_type ()
static void | register_with_read_factory ()
| Factory method to generate a CollisionInvSphere object.
Static Public Member Functions inherited from CollisionSphere
static void | flush_level ()
| Flushes the PStatCollectors used during traversal.
static TypeHandle | get_class_type ()
static void | init_type ()
static void | register_with_read_factory ()
| Factory method to generate a CollisionSphere object.
Static Public Member Functions inherited from CollisionSolid
static TypeHandle | get_class_type ()
static void | init_type ()
Static Public Member Functions inherited from CopyOnWriteObject
static TypeHandle | get_class_type ()
static void | init_type ()
Static Public Member Functions inherited from CachedTypedWritableReferenceCount
static TypeHandle | get_class_type ()
static void | init_type ()
Static Public Member Functions inherited from TypedWritableReferenceCount
static TypeHandle | get_class_type ()
static void | init_type ()
static | PT (TypedWritableReferenceCount) decode_from_bam_stream(vector_uchar data
Static Public Member Functions inherited from TypedWritable
static bool | decode_raw_from_bam_stream (TypedWritable *&ptr, ReferenceCount *&ref_ptr, vector_uchar data, BamReader *reader=nullptr)
| Reads the bytes created by a previous call to encode_to_bam_stream(), and extracts the single object on those bytes.
static TypeHandle | get_class_type ()
static void | init_type ()
Static Public Member Functions inherited from TypedObject
static TypeHandle | get_class_type ()
static void | init_type ()
| This function is declared non-inline to work around a compiler bug in g++ 2.96.
Static Public Member Functions inherited from ReferenceCount
static TypeHandle | get_class_type ()
static void | init_type ()

## Additional Inherited Members
Public Attributes inherited from CollisionSphere
| get_center
| get_radius
| set_center
| set_radius
Public Attributes inherited from CollisionSolid
virtual const CullTraverserData bool bounds_only | const
virtual const CullTraverserData & | data
| get_bounds
| Returns the solid's bounding volume.
| get_collision_origin
| get_respect_effective_normal
| See set_respect_effective_normal().
| is_tangible
| Returns whether the solid is considered 'tangible' or not.
| set_bounds
| Returns the solid's bounding volume.
| set_respect_effective_normal
| This is only meaningful for CollisionSolids that will be added to a traverser as colliders.
| set_tangible
| Sets the current state of the 'tangible' flag.
Public Attributes inherited from CachedTypedWritableReferenceCount
| get_cache_ref_count
| Returns the current reference count.
Public Attributes inherited from TypedWritableReferenceCount
static BamReader * | reader = nullptr)
Public Attributes inherited from TypedObject
| get_type
Public Attributes inherited from ReferenceCount
| get_ref_count
| Returns the current reference count.
Static Public Attributes inherited from TypedWritable
static TypedWritable *const | Null = nullptr

## Detailed Description

An inverted sphere: this is a sphere whose collision surface is the inside surface of the sphere.

Everything outside the sphere is solid matter; everything inside is empty space. Useful for constraining objects to remain within a spherical perimeter.

Definition at line 27 of file collisionInvSphere.h.

## Constructor & Destructor Documentation

## ◆ CollisionInvSphere() [1/3]

CollisionInvSphere::CollisionInvSphere | ( | const LPoint3 & | center,
|  | PN_stdfloat | radius )
| inline explicit

Definition at line 17 of file collisionInvSphere.I.

## ◆ CollisionInvSphere() [2/3]

CollisionInvSphere::CollisionInvSphere | ( | PN_stdfloat | cx,
|  | PN_stdfloat | cy,
|  | PN_stdfloat | cz,
|  | PN_stdfloat | radius )
| inline explicit

Definition at line 26 of file collisionInvSphere.I.

## ◆ CollisionInvSphere() [3/3]

CollisionInvSphere::CollisionInvSphere | ( | const CollisionInvSphere & | copy | ) |
| inline

Definition at line 42 of file collisionInvSphere.I.

## Member Function Documentation

## ◆ force_init_type()

virtual TypeHandle CollisionInvSphere::force_init_type | ( |  | ) |
| inline virtual

Reimplemented from CollisionSphere.

Definition at line 89 of file collisionInvSphere.h.

## ◆ get_class_type()

static TypeHandle CollisionInvSphere::get_class_type | ( |  | ) |
| inline static

Definition at line 78 of file collisionInvSphere.h.

## ◆ get_test_pcollector()

PStatCollector & CollisionInvSphere::get_test_pcollector | ( |  | ) |
| virtual

Returns a PStatCollector that is used to count the number of intersection tests made against a solid of this type in a given frame.

Reimplemented from CollisionSphere.

Definition at line 66 of file collisionInvSphere.cxx.

## ◆ get_type()

virtual TypeHandle CollisionInvSphere::get_type | ( |  | ) | const
| inline virtual

Reimplemented from CollisionSphere.

Definition at line 86 of file collisionInvSphere.h.

## ◆ get_volume_pcollector()

PStatCollector & CollisionInvSphere::get_volume_pcollector | ( |  | ) |
| virtual

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.

Reimplemented from CollisionSphere.

Definition at line 57 of file collisionInvSphere.cxx.

## ◆ init_type()

static void CollisionInvSphere::init_type | ( |  | ) |
| inline static

Definition at line 81 of file collisionInvSphere.h.

## ◆ make_copy()

CollisionSolid * CollisionInvSphere::make_copy | ( |  | ) |
| virtual

Reimplemented from CollisionSphere.

Definition at line 39 of file collisionInvSphere.cxx.

## ◆ output()

void CollisionInvSphere::output | ( | std::ostream & | out | ) | const
| virtual

Reimplemented from CollisionSphere.

Definition at line 74 of file collisionInvSphere.cxx.

## ◆ register_with_read_factory()

void CollisionInvSphere::register_with_read_factory | ( |  | ) |
| static

Factory method to generate a CollisionInvSphere object.

Definition at line 454 of file collisionInvSphere.cxx.

References BamReader::get_factory(), and Factory< Type >::register_factory().

Referenced by init_libcollide().

## ◆ test_intersection()

PointerTo< CollisionEntry > CollisionInvSphere::test_intersection | ( | const CollisionEntry & | entry | ) | const
| virtual

Reimplemented from CollisionSphere.

Definition at line 47 of file collisionInvSphere.cxx.

## ◆ write_datagram()

void CollisionInvSphere::write_datagram | ( | BamWriter * | manager,
|  | Datagram & | me )
| virtual

Function to write the important information in the particular object to a Datagram.

Reimplemented from CollisionSphere.

Definition at line 463 of file collisionInvSphere.cxx.

References CollisionSphere::write_datagram().

The documentation for this class was generated from the following files:

- panda/src/collide/collisionInvSphere.h
- panda/src/collide/collisionInvSphere.cxx
- panda/src/collide/collisionInvSphere.I