#include <iso_flock_cone_vision_behavior.h>
Inherits iso::flock::Behavior.
Inheritance diagram for iso::flock::ConeVisionBehavior:
Public Member Functions | |
ConeVisionBehavior (const base::String &pInputParameterString, const base::String &pOutputParameterString) | |
create behavior | |
ConeVisionBehavior (Agent *pAgent, const base::String &pBehaviorName, const base::String &pInputParameterString, const base::String &pOutputParameterString) throw (FlockException) | |
create behavior | |
~ConeVisionBehavior () | |
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 * | mPositionInPar |
Parameter * | mVelocityPar |
position parameter (input) | |
Parameter * | mPositionOutPar |
velocity parameter (input) | |
Parameter * | mVisionAnglePar |
position parameter (output) | |
space::NeighborGroup * | mPositionInNeighbors |
force parameter (internal) | |
space::NeighborGroup * | mPositionOutNeighbors |
position neighbor group | |
math::Vector< real > | mNormVelocity |
position neighbor group | |
math::Vector< real > | mNormNeighborDirection |
behavior
The behavior implements cone vision for agents.
It does so by copying those neighbors from an input neighbor group into an output neighbor group that fall within the interior of an agent's vision cone.
. The tip of vision cone is placed at the agent's position and oriented in the direction of the agent's velocity.
Input Parameter:
type: position dim: nD neighbors: required
type: velocity dim: nD neighbors: ignore
Output Parameter:
type: position dim: nD neighbors: required
Internal Parameter:
name: xxx_visionAngle dim: 1D defaultValue: 0.0
Created by Daniel Bisig on 4/15/09.
ConeVisionBehavior::ConeVisionBehavior | ( | const base::String & | pInputParameterString, | |
const base::String & | pOutputParameterString | |||
) |
create behavior
pInputParameterString | input parameter string (parameters are space separated) | |
pOutputParameterString | output paramaters are space separated) |
ConeVisionBehavior::ConeVisionBehavior | ( | Agent * | pAgent, | |
const base::String & | pBehaviorName, | |||
const base::String & | pInputParameterString, | |||
const base::String & | pOutputParameterString | |||
) | throw (FlockException) |
create behavior
pAgent | agent this behavior belongs to | |
pBehaviorName | name of behavior | |
pInputParameterString | input parameter string (parameters are space separated) | |
pOutputParameterString | output paramaters are space separated) |
FlockException | wrong number of type of parameters |
ConeVisionBehavior::~ConeVisionBehavior | ( | ) |
destructor
Behavior * ConeVisionBehavior::create | ( | const base::String & | pBehaviorName, | |
Agent * | pAgent | |||
) | const throw (FlockException) [virtual] |
create copy of behavior
pAgent | agent this behavior belongs to | |
pBehaviorName | name of behavior |
FlockException | wrong number of type of parameters |
Implements iso::flock::Behavior.
Behavior * ConeVisionBehavior::create | ( | const base::String & | pInputParameterString, | |
const base::String & | pOutputParameterString | |||
) | const [virtual] |
create copy of behavior
pInputParameterString | input parameter string | |
pOutputParameterString | output parameter string |
Implements iso::flock::Behavior.
void ConeVisionBehavior::act | ( | ) | [virtual] |
Parameter* iso::flock::ConeVisionBehavior::mPositionInPar [protected] |
Parameter* iso::flock::ConeVisionBehavior::mVelocityPar [protected] |
position parameter (input)
Parameter* iso::flock::ConeVisionBehavior::mPositionOutPar [protected] |
velocity parameter (input)
Parameter* iso::flock::ConeVisionBehavior::mVisionAnglePar [protected] |
position parameter (output)
space::NeighborGroup* iso::flock::ConeVisionBehavior::mPositionInNeighbors [protected] |
force parameter (internal)
space::NeighborGroup* iso::flock::ConeVisionBehavior::mPositionOutNeighbors [protected] |
position neighbor group
math::Vector<real> iso::flock::ConeVisionBehavior::mNormVelocity [protected] |
position neighbor group
math::Vector<real> iso::flock::ConeVisionBehavior::mNormNeighborDirection [protected] |