Physsim::PoissonRestitutionModel Class Reference

Defines the Poisson model for collision restitution. More...

#include <PoissonRestitutionModel.h>

Inheritance diagram for Physsim::PoissonRestitutionModel:

Physsim::CollisionMethod Physsim::Base List of all members.

Public Member Functions

virtual void process_impacts (const std::list< ContactPtr > &contacts) const
 Processes a set of impacting contacts.
virtual void clone (BasePtr &cloned, bimap< BasePtr, BasePtr > *object_map=NULL) const
 Clones this object.
virtual void load_from_xml (XMLTreeConstPtr node, std::map< std::string, BasePtr > &id_map)
 Implements Base::load_from_xml().
virtual void save_to_xml (XMLTreePtr node, std::list< BaseConstPtr > &shared_objects) const
 Implements Base::save_to_xml().
virtual void load_state (BaseConstPtr object, bimap< BasePtr, BasePtr > *correspondence)
 Loads the state of this object.
virtual void save_state (BasePtr object, bimap< BasePtr, BasePtr > *correspondence) const
 Saves the state of this object.
virtual bool is_global_method () const
 Indicates whether this is a global method.

Detailed Description

Defines the Poisson model for collision restitution.


Member Function Documentation

void PoissonRestitutionModel::process_impacts ( const std::list< ContactPtr > &  contacts  )  const [virtual]

Processes a set of impacting contacts.

This method must compute and apply collision impulses to all colliding bodies, either sequentially or simultaneously.

Parameters:
contacts a set of contacts, each of which has been determined to be in contact (resting, separating, or impacting)
a pointer to the contact simulator
Note:
implementing classes must provide this method

Implements Physsim::CollisionMethod.

void PoissonRestitutionModel::load_state ( BaseConstPtr  object,
bimap< BasePtr, BasePtr > *  correspondence 
) [virtual]

Loads the state of this object.

The underlying penalty resting contact method must have identical structure.

Reimplemented from Physsim::Base.

void PoissonRestitutionModel::save_state ( BasePtr  object,
bimap< BasePtr, BasePtr > *  correspondence 
) const [virtual]

Saves the state of this object.

The underlying penalty resting contact method must have identical structure.

Reimplemented from Physsim::Base.

virtual bool Physsim::PoissonRestitutionModel::is_global_method (  )  const [inline, virtual]

Indicates whether this is a global method.

Global methods determine all impulses at once, while local methods treat contacts sequentially. Global methods are called last in a hybrid framework to be able to account for all impulses, including those applied by local methods.

Implements Physsim::CollisionMethod.


The documentation for this class was generated from the following files:
Generated on Wed Oct 24 14:54:23 2007 for Physsim by  doxygen 1.5.1