Panda3D
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 More...
 
virtual void init ()=0
 
virtual PhysicsObjectmake_copy () const =0
 dynamic copy. More...
 
virtual void output (std::ostream &out) const
 Write a string representation of this instance to <out>. More...
 
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>. More...
 
- Public Member Functions inherited from PhysicsObject
 PhysicsObject ()
 Default Constructor. More...
 
 PhysicsObject (const PhysicsObject &copy)
 copy constructor More...
 
virtual ~PhysicsObject ()
 Destructor. More...
 
virtual void add_impact (const LPoint3 &offset_from_center_of_mass, const LVector3 &impulse)
 Adds an impulse and/or torque (i.e. More...
 
void add_impulse (const LVector3 &impulse)
 Adds an impulse force (i.e. More...
 
virtual void add_local_impact (const LPoint3 &offset_from_center_of_mass, const LVector3 &impulse)
 Adds an impulse and/or torque (i.e. More...
 
void add_local_impulse (const LVector3 &impulse)
 Adds an impulse force (i.e. More...
 
void add_local_torque (const LRotation &torque)
 Adds an torque force (i.e. More...
 
void add_torque (const LRotation &torque)
 Adds an torque force (i.e. More...
 
virtual TypeHandle force_init_type ()
 
bool get_active () const
 Process Flag Query. More...
 
LVector3 get_implicit_velocity () const
 Velocity Query over the last dt. More...
 
virtual LMatrix4 get_inertial_tensor () const
 returns a transform matrix that represents the object's willingness to be forced. More...
 
LPoint3 get_last_position () const
 Get the position of the physics object at the start of the most recent do_physics. More...
 
virtual LMatrix4 get_lcs () const
 returns a transform matrix to this object's local coordinate system. More...
 
PN_stdfloat get_mass () const
 Get the mass in slugs (or kilograms). More...
 
const std::string & get_name ()
 
LOrientation get_orientation () const
 get current orientation. More...
 
bool get_oriented () const
 See set_oriented(). More...
 
LPoint3 get_position () const
 Position Query. More...
 
LRotation get_rotation () const
 get rotation per second. More...
 
PN_stdfloat get_terminal_velocity () const
 tv query More...
 
virtual TypeHandle get_type () const
 
LVector3 get_velocity () const
 Velocity Query per second. More...
 
const PhysicsObjectoperator= (const PhysicsObject &other)
 
void reset_orientation (const LOrientation &orientation)
 set the orientation while clearing the rotation velocity. More...
 
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. More...
 
void set_active (bool flag)
 Process Flag assignment. More...
 
void set_last_position (const LPoint3 &pos)
 Last position assignment. More...
 
void set_mass (PN_stdfloat)
 Set the mass in slugs (or kilograms). More...
 
void set_name (const std::string &name)
 
void set_orientation (const LOrientation &orientation)
 
void set_oriented (bool flag)
 Set flag to determine whether this object should do any rotation or orientation calculations. More...
 
void set_position (const LPoint3 &pos)
 Vector position assignment. More...
 
void set_position (PN_stdfloat x, PN_stdfloat y, PN_stdfloat z)
 Piecewise position assignment. More...
 
void set_rotation (const LRotation &rotation)
 set rotation as a quaternion delta per second. More...
 
void set_terminal_velocity (PN_stdfloat tv)
 tv assignment More...
 
void set_velocity (const LVector3 &vel)
 Vector velocity assignment. More...
 
void set_velocity (PN_stdfloat x, PN_stdfloat y, PN_stdfloat z)
 Piecewise velocity assignment. More...
 
- 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. More...
 
const TypedObjectas_typed_object () const
 Returns the object, upcast (if necessary) to a TypedObject pointer. More...
 
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. More...
 
bool is_exact_type (TypeHandle handle) const
 Returns true if the current object is the indicated type exactly. More...
 
bool is_of_type (TypeHandle handle) const
 Returns true if the current object is or derives from the indicated type. More...
 
TypedObjectoperator= (const TypedObject &copy)=default
 
- Public Member Functions inherited from ReferenceCount
int get_ref_count () const
 
WeakReferenceListget_weak_list () const
 Returns the WeakReferenceList associated with this ReferenceCount object. More...
 
bool has_weak_list () const
 Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. More...
 
void local_object ()
 This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. More...
 
void ref () const
 Explicitly increments the reference count. More...
 
bool ref_if_nonzero () const
 Atomically increases the reference count of this object if it is not zero. More...
 
bool test_ref_count_integrity () const
 Does some easy checks to make sure that the reference count isn't completely bogus. More...
 
bool test_ref_count_nonzero () const
 Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More...
 
virtual bool unref () const
 Explicitly decrements the reference count. More...
 
WeakReferenceListweak_ref ()
 Adds the indicated PointerToVoid as a weak reference to this object. More...
 
void weak_unref ()
 Removes the indicated PointerToVoid as a weak reference to this object. More...
 

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. More...
 
- Static Public Member Functions inherited from ReferenceCount
static TypeHandle get_class_type ()
 
static void init_type ()
 
- Public Attributes inherited from TypedObject
 get_type
 
- Public Attributes inherited from ReferenceCount
 get_ref_count
 Returns the current reference count. More...
 
- 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

◆ get_theta()

PN_stdfloat BaseParticle::get_theta ( ) const
virtual

for spriteParticleRenderer

Reimplemented in ZSpinParticle.

Definition at line 46 of file baseParticle.cxx.

◆ make_copy()

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

dynamic copy.

Reimplemented from PhysicsObject.

Implemented in PointParticle, ZSpinParticle, and OrientedParticle.

◆ output()

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

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

Reimplemented from PhysicsObject.

Reimplemented in ZSpinParticle, OrientedParticle, and PointParticle.

Definition at line 54 of file baseParticle.cxx.

◆ 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 ZSpinParticle, OrientedParticle, and PointParticle.

Definition at line 64 of file baseParticle.cxx.

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

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


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