OpenSceneGraph  3.0.1
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
osgParticle::SinkOperator Class Reference

A sink operator kills particles if positions or velocities inside/outside the specified domain. More...

Inheritance diagram for osgParticle::SinkOperator:
Inheritance graph
[legend]

List of all members.

Public Types

enum  SinkTarget { SINK_POSITION, SINK_VELOCITY, SINK_ANGULAR_VELOCITY }
enum  SinkStrategy { SINK_INSIDE, SINK_OUTSIDE }

Public Member Functions

 SinkOperator ()
 SinkOperator (const SinkOperator &copy, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 META_Object (osgParticle, SinkOperator)
void setSinkTarget (SinkTarget so)
 Set the sink strategy.
SinkTarget getSinkTarget () const
 Get the sink strategy.
void setSinkStrategy (SinkStrategy ss)
 Set the sink strategy.
SinkStrategy getSinkStrategy () const
 Get the sink strategy.
void beginOperate (Program *prg)
 Perform some initializations. Do not call this method manually.

Protected Member Functions

virtual ~SinkOperator ()
SinkOperatoroperator= (const SinkOperator &)
virtual void handlePoint (const Domain &domain, Particle *P, double dt)
virtual void handleLineSegment (const Domain &domain, Particle *P, double dt)
virtual void handleTriangle (const Domain &domain, Particle *P, double dt)
virtual void handleRectangle (const Domain &domain, Particle *P, double dt)
virtual void handlePlane (const Domain &domain, Particle *P, double dt)
virtual void handleSphere (const Domain &domain, Particle *P, double dt)
virtual void handleBox (const Domain &domain, Particle *P, double dt)
virtual void handleDisk (const Domain &domain, Particle *P, double dt)
const osg::Vec3getValue (Particle *P)
void kill (Particle *P, bool insideDomain)

Protected Attributes

SinkTarget _sinkTarget
SinkStrategy _sinkStrategy

Detailed Description

A sink operator kills particles if positions or velocities inside/outside the specified domain.

Refer to David McAllister's Particle System API (http://www.particlesystems.org)


Member Enumeration Documentation

Enumerator:
SINK_INSIDE 
SINK_OUTSIDE 
Enumerator:
SINK_POSITION 
SINK_VELOCITY 
SINK_ANGULAR_VELOCITY 

Constructor & Destructor Documentation

osgParticle::SinkOperator::SinkOperator ( ) [inline]
osgParticle::SinkOperator::SinkOperator ( const SinkOperator copy,
const osg::CopyOp copyop = osg::CopyOp::SHALLOW_COPY 
) [inline]
virtual osgParticle::SinkOperator::~SinkOperator ( ) [inline, protected, virtual]

Member Function Documentation

void osgParticle::SinkOperator::beginOperate ( Program prg) [virtual]

Perform some initializations. Do not call this method manually.

Reimplemented from osgParticle::DomainOperator.

SinkStrategy osgParticle::SinkOperator::getSinkStrategy ( ) const [inline]

Get the sink strategy.

SinkTarget osgParticle::SinkOperator::getSinkTarget ( ) const [inline]

Get the sink strategy.

const osg::Vec3 & osgParticle::SinkOperator::getValue ( Particle P) [inline, protected]
virtual void osgParticle::SinkOperator::handleBox ( const Domain domain,
Particle P,
double  dt 
) [protected, virtual]

Reimplemented from osgParticle::DomainOperator.

virtual void osgParticle::SinkOperator::handleDisk ( const Domain domain,
Particle P,
double  dt 
) [protected, virtual]

Reimplemented from osgParticle::DomainOperator.

virtual void osgParticle::SinkOperator::handleLineSegment ( const Domain domain,
Particle P,
double  dt 
) [protected, virtual]

Reimplemented from osgParticle::DomainOperator.

virtual void osgParticle::SinkOperator::handlePlane ( const Domain domain,
Particle P,
double  dt 
) [protected, virtual]

Reimplemented from osgParticle::DomainOperator.

virtual void osgParticle::SinkOperator::handlePoint ( const Domain domain,
Particle P,
double  dt 
) [protected, virtual]

Reimplemented from osgParticle::DomainOperator.

virtual void osgParticle::SinkOperator::handleRectangle ( const Domain domain,
Particle P,
double  dt 
) [protected, virtual]

Reimplemented from osgParticle::DomainOperator.

virtual void osgParticle::SinkOperator::handleSphere ( const Domain domain,
Particle P,
double  dt 
) [protected, virtual]

Reimplemented from osgParticle::DomainOperator.

virtual void osgParticle::SinkOperator::handleTriangle ( const Domain domain,
Particle P,
double  dt 
) [protected, virtual]

Reimplemented from osgParticle::DomainOperator.

void osgParticle::SinkOperator::kill ( Particle P,
bool  insideDomain 
) [inline, protected]
osgParticle::SinkOperator::META_Object ( osgParticle  ,
SinkOperator   
)
SinkOperator& osgParticle::SinkOperator::operator= ( const SinkOperator ) [inline, protected]
void osgParticle::SinkOperator::setSinkStrategy ( SinkStrategy  ss) [inline]

Set the sink strategy.

void osgParticle::SinkOperator::setSinkTarget ( SinkTarget  so) [inline]

Set the sink strategy.


Member Data Documentation

Referenced by kill().

Referenced by getValue().


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

osg logo
Generated at Mon Oct 3 2011 12:39:48 for the OpenSceneGraph by doxygen 1.7.5.