iso::flock::SplineFollowBehavior Class Reference

cause Agent to move towards and along a spline shape More...

#include <iso_flock_spline_follow_behavior.h>

Inherits iso::flock::Behavior.

Inheritance diagram for iso::flock::SplineFollowBehavior:

Inheritance graph
[legend]
Collaboration diagram for iso::flock::SplineFollowBehavior:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SplineFollowBehavior (const base::String &pInputParameterString, const base::String &pOutputParameterString)
 create behavior
 SplineFollowBehavior (Agent *pAgent, const base::String &pBehaviorName, const base::String &pInputParameterString, const base::String &pOutputParameterString) throw (FlockException)
 create behavior
 ~SplineFollowBehavior ()
 destructor
virtual Behavior * create (const base::String &pBehaviorName, Agent *pAgent) const throw (FlockException)
 create copy of behavior
virtual Behavior * create (const base::String &pInputParameterString, const base::String &pOutputParameterString) const
 create copy of behavior
void act ()
 perform behavior

Protected Attributes

Parameter * mPositionPar
Parameter * mForcePar
 position parameter (input)
Parameter * mMinDistPar
 force parameter (output)
Parameter * mMaxDistPar
 minimum distance parameter (internal)
Parameter * mAmountPar
 maximum distance parameter (internal)
space::NeighborGroup * mPositionNeighbors
 behavior amount parameter (internal)
math::Vector< real > mAvgDirection
 position neighbor group
int mIndexSearchRange
 avg of neighboring value directions
int mPointSearchRange
space::SplineShape * mPreviousSplineShape
int mPreviousSearchIndex
unsigned int mPreviousSplineCount
unsigned int mPreviousSplineIndex
int * mPreviousSplineShapes
unsigned int * mPreviousSplinePointCounts
int * mPreviousSearchIndexes
real * mPreviousDistances
math::Vector< real > mOcSearchPoint
math::Vector< real > mOcClosestPoint
math::Vector< real > mWcClosestPoint
math::MatrixH< real > mWc2ocMatrix
math::Vector< real > mOrtDirection
math::Vector< real > mTangDirection

Detailed Description

cause Agent to move towards and along a spline shape

to move towards and along a spline shape

The Behavior causes Agent to move towards and along a spline shape.
The behavior requires that the Agent 's neighbors are actually spline shapes.

Input Parameter:
type: position dim: 3D neighbors: required (and must be spline shapes)

Output Parameter:
type: force dim: 3D write: add

Internal Parameter:
name: xxx_minDist dim: 1D defaultValue: 0.0
name: xxx_maxDist dim: 1D defaultValue: 0.5
name: xxx_amount dim: 1D defaultValue: 0.1
name: xxx_active dim: 1D defaultValue: 1.0

Created by Daniel Bisig on 5/18/07.


Constructor & Destructor Documentation

SplineFollowBehavior::SplineFollowBehavior ( const base::String &  pInputParameterString,
const base::String &  pOutputParameterString 
)

create behavior

Parameters:
pInputParameterString input parameter string (parameters are space separated)
pOutputParameterString output paramaters are space separated)

SplineFollowBehavior::SplineFollowBehavior ( Agent *  pAgent,
const base::String &  pBehaviorName,
const base::String &  pInputParameterString,
const base::String &  pOutputParameterString 
) throw (FlockException)

create behavior

Parameters:
pAgent agent this behavior belongs to
pBehaviorName name of behavior
pInputParameterString input parameter string (parameters are space separated)
pOutputParameterString output paramaters are space separated)
Exceptions:
FlockException wrong number of type of parameters

SplineFollowBehavior::~SplineFollowBehavior (  ) 

destructor


Member Function Documentation

Behavior * SplineFollowBehavior::create ( const base::String &  pBehaviorName,
Agent *  pAgent 
) const throw (FlockException) [virtual]

create copy of behavior

Parameters:
pAgent agent this behavior belongs to
pBehaviorName name of behavior
Returns:
new behavior
Exceptions:
FlockException wrong number of type of parameters

Implements iso::flock::Behavior.

Behavior * SplineFollowBehavior::create ( const base::String &  pInputParameterString,
const base::String &  pOutputParameterString 
) const [virtual]

create copy of behavior

Parameters:
pInputParameterString input parameter string
pOutputParameterString output parameter string
Returns:
new behavior

Implements iso::flock::Behavior.

void SplineFollowBehavior::act (  )  [virtual]

perform behavior

Implements iso::flock::Behavior.


Member Data Documentation

Parameter* iso::flock::SplineFollowBehavior::mPositionPar [protected]

Parameter* iso::flock::SplineFollowBehavior::mForcePar [protected]

position parameter (input)

Parameter* iso::flock::SplineFollowBehavior::mMinDistPar [protected]

force parameter (output)

Parameter* iso::flock::SplineFollowBehavior::mMaxDistPar [protected]

minimum distance parameter (internal)

Parameter* iso::flock::SplineFollowBehavior::mAmountPar [protected]

maximum distance parameter (internal)

space::NeighborGroup* iso::flock::SplineFollowBehavior::mPositionNeighbors [protected]

behavior amount parameter (internal)

math::Vector<real> iso::flock::SplineFollowBehavior::mAvgDirection [protected]

position neighbor group

int iso::flock::SplineFollowBehavior::mIndexSearchRange [protected]

avg of neighboring value directions

int iso::flock::SplineFollowBehavior::mPointSearchRange [protected]

space::SplineShape* iso::flock::SplineFollowBehavior::mPreviousSplineShape [protected]

int iso::flock::SplineFollowBehavior::mPreviousSearchIndex [protected]

unsigned int iso::flock::SplineFollowBehavior::mPreviousSplineCount [protected]

unsigned int iso::flock::SplineFollowBehavior::mPreviousSplineIndex [protected]

int* iso::flock::SplineFollowBehavior::mPreviousSplineShapes [protected]

unsigned int* iso::flock::SplineFollowBehavior::mPreviousSplinePointCounts [protected]

int* iso::flock::SplineFollowBehavior::mPreviousSearchIndexes [protected]

real* iso::flock::SplineFollowBehavior::mPreviousDistances [protected]

math::Vector<real> iso::flock::SplineFollowBehavior::mOcSearchPoint [protected]

math::Vector<real> iso::flock::SplineFollowBehavior::mOcClosestPoint [protected]

math::Vector<real> iso::flock::SplineFollowBehavior::mWcClosestPoint [protected]

math::MatrixH<real> iso::flock::SplineFollowBehavior::mWc2ocMatrix [protected]

math::Vector<real> iso::flock::SplineFollowBehavior::mOrtDirection [protected]

math::Vector<real> iso::flock::SplineFollowBehavior::mTangDirection [protected]


The documentation for this class was generated from the following files:
Generated on Fri Feb 25 15:28:03 2011 for iso_flock by  doxygen 1.5.1