Panda3D
Loading...
Searching...
No Matches
Public Member Functions | List of all members
BaseParticle Class Referenceabstract

An individual, physically-modelable particle abstract base class. More...

#include "baseParticle.h"

Inheritance diagram for BaseParticle:
PhysicsObject TypedReferenceCount TypedObject ReferenceCount MemoryBase MemoryBase OrientedParticle PointParticle ZSpinParticle

Public Member Functions

virtual void die ()=0
 
PN_stdfloat get_age () const
 
bool get_alive () const
 
int get_index () const
 
PN_stdfloat get_lifespan () const
 
PN_stdfloat get_parameterized_age () const
 
PN_stdfloat get_parameterized_vel () const
 
virtual PN_stdfloat get_theta () const
 for spriteParticleRenderer
 
virtual void init ()=0
 
virtual PhysicsObjectmake_copy () const =0
 dynamic copy.
 
virtual void output (std::ostream &out) const
 Write a string representation of this instance to <out>.
 
void set_age (PN_stdfloat age)
 
void set_alive (bool alive)
 
void set_index (int index)
 
void set_lifespan (PN_stdfloat lifespan)
 
virtual void update ()=0
 
virtual void write (std::ostream &out, int indent=0) const
 Write a string representation of this instance to <out>.
 
- Public Member Functions inherited from PhysicsObject
 PhysicsObject ()
 Default Constructor.
 
 PhysicsObject (const PhysicsObject &copy)
 copy constructor
 
virtual ~PhysicsObject ()
 Destructor.
 
virtual void add_impact (const LPoint3 &offset_from_center_of_mass, const LVector3 &impulse)
 Adds an impulse and/or torque (i.e.
 
void add_impulse (const LVector3 &impulse)
 Adds an impulse force (i.e.
 
virtual void add_local_impact (const LPoint3 &offset_from_center_of_mass, const LVector3 &impulse)
 Adds an impulse and/or torque (i.e.
 
void add_local_impulse (const LVector3 &impulse)
 Adds an impulse force (i.e.
 
void add_local_torque (const LRotation &torque)
 Adds an torque force (i.e.
 
void add_torque (const LRotation &torque)
 Adds an torque force (i.e.
 
virtual TypeHandle force_init_type ()
 
bool get_active () const
 
LVector3 get_implicit_velocity () const
 
virtual LMatrix4 get_inertial_tensor () const
 returns a transform matrix that represents the object's willingness to be forced.
 
LPoint3 get_last_position () const
 
virtual LMatrix4 get_lcs () const
 returns a transform matrix to this object's local coordinate system.
 
PN_stdfloat get_mass () const
 
const std::string & get_name ()
 
LOrientation get_orientation () const
 
bool get_oriented () const
 
LPoint3 get_position () const
 
LRotation get_rotation () const
 
PN_stdfloat get_terminal_velocity () const
 
virtual TypeHandle get_type () const
 
LVector3 get_velocity () const
 
const PhysicsObjectoperator= (const PhysicsObject &other)
 
void reset_orientation (const LOrientation &orientation)
 set the orientation while clearing the rotation velocity.
 
void reset_position (const LPoint3 &pos)
 use this to place an object in a completely new position, that has nothing to do with its last position.
 
void set_active (bool flag)
 
void set_last_position (const LPoint3 &pos)
 
void set_mass (PN_stdfloat)
 
void set_name (const std::string &name)
 
void set_orientation (const LOrientation &orientation)
 
void set_oriented (bool flag)
 
void set_position (const LPoint3 &pos)
 
void set_position (PN_stdfloat x, PN_stdfloat y, PN_stdfloat z)
 
void set_rotation (const LRotation &rotation)
 
void set_terminal_velocity (PN_stdfloat tv)
 
void set_velocity (const LVector3 &vel)
 
void set_velocity (PN_stdfloat x, PN_stdfloat y, PN_stdfloat z)
 
- Public Member Functions inherited from TypedReferenceCount
 TypedReferenceCount (const TypedReferenceCount &copy)
 
void operator= (const TypedReferenceCount &copy)
 
- Public Member Functions inherited from TypedObject
 TypedObject (const TypedObject &copy)=default
 
TypedObjectas_typed_object ()
 Returns the object, upcast (if necessary) to a TypedObject pointer.
 
const TypedObjectas_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.
 
TypedObjectoperator= (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
 
WeakReferenceListget_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.
 
WeakReferenceListweak_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.
 

Additional Inherited Members

- Public Types inherited from PhysicsObject
typedef pvector< PT(PhysicsObject)> Vector
 
- Static Public Member Functions inherited from PhysicsObject
static TypeHandle get_class_type ()
 
static void init_type ()
 
- Static Public Member Functions inherited from TypedReferenceCount
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 ()
 
- Public Attributes inherited from PhysicsObject
 get_active
 Process Flag Query.
 
 get_implicit_velocity
 Velocity Query over the last dt.
 
 get_last_position
 Get the position of the physics object at the start of the most recent do_physics.
 
 get_mass
 Get the mass in slugs (or kilograms).
 
 get_orientation
 get current orientation.
 
 get_oriented
 See set_oriented().
 
 get_position
 Position Query.
 
 get_rotation
 get rotation per second.
 
 get_terminal_velocity
 tv query
 
 get_velocity
 Velocity Query per second.
 
 set_active
 Process Flag assignment.
 
 set_last_position
 Last position assignment.
 
 set_mass
 Set the mass in slugs (or kilograms).
 
 set_orientation
 
 set_oriented
 Set flag to determine whether this object should do any rotation or orientation calculations.
 
 set_position
 Vector position assignment.
 
 set_rotation
 set rotation as a quaternion delta per second.
 
 set_terminal_velocity
 tv assignment
 
 set_velocity
 Vector velocity assignment.
 
- 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 PhysicsObject
static ConfigVariableDouble _default_terminal_velocity
 

Detailed Description

An individual, physically-modelable particle abstract base class.

Definition at line 23 of file baseParticle.h.

Member Function Documentation

◆ die()

virtual void BaseParticle::die ( )
pure virtual

Implemented in OrientedParticle, and PointParticle.

◆ get_age()

PN_stdfloat BaseParticle::get_age ( ) const
inline

Definition at line 30 of file baseParticle.I.

◆ get_alive()

bool BaseParticle::get_alive ( ) const
inline

Definition at line 38 of file baseParticle.I.

◆ get_index()

int BaseParticle::get_index ( ) const
inline

Definition at line 42 of file baseParticle.I.

◆ get_lifespan()

PN_stdfloat BaseParticle::get_lifespan ( ) const
inline

Definition at line 34 of file baseParticle.I.

◆ get_parameterized_age()

PN_stdfloat BaseParticle::get_parameterized_age ( ) const
inline

Definition at line 46 of file baseParticle.I.

◆ get_parameterized_vel()

PN_stdfloat BaseParticle::get_parameterized_vel ( ) const
inline

Definition at line 51 of file baseParticle.I.

◆ get_theta()

PN_stdfloat BaseParticle::get_theta ( ) const
virtual

for spriteParticleRenderer

Reimplemented in ZSpinParticle.

Definition at line 45 of file baseParticle.cxx.

◆ init()

virtual void BaseParticle::init ( )
pure virtual

Implemented in OrientedParticle, and PointParticle.

◆ make_copy()

virtual PhysicsObject * BaseParticle::make_copy ( ) const
pure virtual

dynamic copy.

Reimplemented from PhysicsObject.

Implemented in OrientedParticle, PointParticle, and ZSpinParticle.

◆ output()

void BaseParticle::output ( std::ostream & out) const
virtual

Write a string representation of this instance to <out>.

Reimplemented from PhysicsObject.

Reimplemented in OrientedParticle, PointParticle, and ZSpinParticle.

Definition at line 53 of file baseParticle.cxx.

◆ set_age()

void BaseParticle::set_age ( PN_stdfloat age)
inline

Definition at line 14 of file baseParticle.I.

◆ set_alive()

void BaseParticle::set_alive ( bool alive)
inline

Definition at line 22 of file baseParticle.I.

◆ set_index()

void BaseParticle::set_index ( int index)
inline

Definition at line 26 of file baseParticle.I.

◆ set_lifespan()

void BaseParticle::set_lifespan ( PN_stdfloat lifespan)
inline

Definition at line 18 of file baseParticle.I.

◆ update()

virtual void BaseParticle::update ( )
pure virtual

Implemented in OrientedParticle, and PointParticle.

◆ write()

void BaseParticle::write ( std::ostream & out,
int indent = 0 ) const
virtual

Write a string representation of this instance to <out>.

Reimplemented from PhysicsObject.

Reimplemented in OrientedParticle, PointParticle, and ZSpinParticle.

Definition at line 63 of file baseParticle.cxx.

References indent(), and PhysicsObject::write().

Referenced by OrientedParticle::write(), PointParticle::write(), and ZSpinParticle::write().


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