#include <iso_flock_swarm_behavior.h>
Inherits iso::flock::Behavior.
Inherited by iso::flock::StatisticsBehavior.
Inheritance diagram for iso::flock::SwarmBehavior:
Public Member Functions | ||||
SwarmBehavior (const base::String &pInputSwarmParameterString, const base::String &pInputAgentParameterString, const base::String &pOutputSwarmParameterString, const base::String &pOutputAgentParameterString) | ||||
create swarm behavior | ||||
SwarmBehavior (Swarm *pSwarm, const base::String &pSwarmBehaviorName, const base::String &pInputSwarmParameterString, const base::String &pInputAgentParameterString, const base::String &pOutputSwarmParameterString, const base::String &pOutputAgentParameterString) | ||||
create swarm behavior | ||||
virtual | ~SwarmBehavior () | |||
destructor | ||||
virtual Behavior * | create (const base::String &pBehaviorName, Agent *pSwarm) const =0 | |||
create copy of behavior | ||||
virtual Behavior * | create (const base::String &pInputSwarmParameterString, const base::String &pInputAgentParameterString, const base::String &pOutputSwarmParameterString, const base::String &pOutputAgentParameterString) const =0 | |||
create copy of behavior | ||||
void | createAgentParameterIndices () | |||
create agent parameter indices | ||||
const base::String & | inputSwarmParameterString () const | |||
return input swarm parameter string | ||||
const base::String & | outputSwarmParameterString () const | |||
return output swarm parameter string | ||||
const base::String & | inputAgentParameterString () const | |||
return input agent parameter string | ||||
const base::String & | outputAgentParameterString () const | |||
return output agent parameter string | ||||
virtual base::String | info (int pPropagationLevel=0) const | |||
print behavior information | ||||
Protected Member Functions | ||||
SwarmBehavior () | ||||
default constructor | ||||
Behavior * | create (const base::String &pInputParameterString, const base::String &pOutputParameterString) const | |||
create copy of behavior | ||||
void | createInputSwarmParameters () throw (FlockException) | |||
create swarm input behavior parameters
| ||||
void | createOutputSwarmParameters () throw (FlockException) | |||
create swarm output behavior parameters
| ||||
Parameter * | createInternalSwarmParameter (const base::String &pSwarmParameterName, const math::Vector< real > &pValues) | |||
create internal swarm behavior parameter | ||||
Protected Attributes | ||||
Swarm * | mSwarm | |||
base::String | mInputSwarmParameterString | |||
swarm this behavior belongs to | ||||
base::String | mOutputSwarmParameterString | |||
unparsed string containing all swarm input parameter names | ||||
QVector< Parameter * > | mInputSwarmParameters | |||
unparsed string containing all swarm output parameter names | ||||
QVector< space::NeighborGroup * > | mInputSwarmNeighborGroups | |||
input swarm parameters (behavior reads from them) | ||||
QVector< Parameter * > | mOutputSwarmParameters | |||
input swarm neighbor groups (behavior reads from them) | ||||
QVector< Parameter * > | mInternalSwarmParameters | |||
output swarm parameters (behavior writes to them) | ||||
QVector< Parameter * > & | mInputAgentParameters | |||
internal swarm parameters (including scales) | ||||
QVector< space::NeighborGroup * > & | mInputAgentNeighborGroups | |||
input agent parameters (behavior reads from them) | ||||
QVector< Parameter * > & | mOutputAgentParameters | |||
input agent neighbor groups (behavior reads from them) | ||||
QVector< space::NeighborGroup * > & | mOutputAgentNeighborGroups | |||
output agent parameters (behavior writes to them) | ||||
QVector< Parameter * > & | mInternalAgentParameters | |||
output agent neighbor groups (behavior writes to them) | ||||
QVector< unsigned int > | mInputAgentParameterIndices | |||
internal agent parameters (including scales) | ||||
QVector< unsigned int > | mInputAgentNeighborGroupIndices | |||
input agent parameter indices | ||||
QVector< unsigned int > | mOutputAgentParameterIndices | |||
input agent neighbor group indices | ||||
QVector< unsigned int > | mOutputAgentNeighborGroupIndices | |||
output agent parameter indices | ||||
QVector< unsigned int > | mInternalAgentParameterIndices | |||
output agent neighbor group indices | ||||
Friends | ||||
std::ostream & | operator<< (std::ostream &pOstream, const SwarmBehavior &pBehavior) | |||
retrieve textual behavior info |
Created by Daniel Bisig on 8/1/08.
SwarmBehavior::SwarmBehavior | ( | const base::String & | pInputSwarmParameterString, | |
const base::String & | pInputAgentParameterString, | |||
const base::String & | pOutputSwarmParameterString, | |||
const base::String & | pOutputAgentParameterString | |||
) |
create swarm behavior
pInputSwarmParameterString | input swarm parameter string (parameters are space separated) | |
pInputAgentParameterString | input agent parameter string (parameters are space separated) | |
pOutputSwarmParameterString | output swarm parameter string (paramaters are space separated) | |
pOutputAgentParameterString | output agent parameter string (paramaters are space separated) |
SwarmBehavior::SwarmBehavior | ( | Swarm * | pSwarm, | |
const base::String & | pSwarmBehaviorName, | |||
const base::String & | pInputSwarmParameterString, | |||
const base::String & | pInputAgentParameterString, | |||
const base::String & | pOutputSwarmParameterString, | |||
const base::String & | pOutputAgentParameterString | |||
) |
create swarm behavior
pSwarm | reference to swarm to which this behavior is added | |
pSwarmBehaviorName | swarm behavior name | |
pInputSwarmParameterString | input swarm parameter string (parameters are space separated) | |
pInputAgentParameterString | input agent parameter string (parameters are space separated) | |
pOutputSwarmParameterString | output swarm parameter string (parameters are space separated) | |
pOutputAgentParameterString | output agent parameter string (parameters are space separated) |
SwarmBehavior::~SwarmBehavior | ( | ) | [virtual] |
destructor
SwarmBehavior::SwarmBehavior | ( | ) | [protected] |
default constructor
virtual Behavior* iso::flock::SwarmBehavior::create | ( | const base::String & | pBehaviorName, | |
Agent * | pSwarm | |||
) | const [pure virtual] |
create copy of behavior
pSwarm | swarm this behavior belongs to | |
pBehaviorName | name of behavior |
Implements iso::flock::Behavior.
Implemented in iso::flock::StatisticsBehavior.
virtual Behavior* iso::flock::SwarmBehavior::create | ( | const base::String & | pInputSwarmParameterString, | |
const base::String & | pInputAgentParameterString, | |||
const base::String & | pOutputSwarmParameterString, | |||
const base::String & | pOutputAgentParameterString | |||
) | const [pure virtual] |
create copy of behavior
pInputParameterString | input parameter string | |
pOutputParameterString | output parameter string |
Implemented in iso::flock::StatisticsBehavior.
void SwarmBehavior::createAgentParameterIndices | ( | ) |
create agent parameter indices
const base::String & SwarmBehavior::inputSwarmParameterString | ( | ) | const |
return input swarm parameter string
const base::String & SwarmBehavior::outputSwarmParameterString | ( | ) | const |
return output swarm parameter string
const base::String & SwarmBehavior::inputAgentParameterString | ( | ) | const |
return input agent parameter string
const base::String & SwarmBehavior::outputAgentParameterString | ( | ) | const |
return output agent parameter string
base::String SwarmBehavior::info | ( | int | pPropagationLevel = 0 |
) | const [virtual] |
print behavior information
pPropagationLevel | how far the propagation method proceeds through composite classes (-1: unlimited, 0: no proceeding, >0: limited proceeding) |
Reimplemented from iso::flock::Behavior.
Behavior * SwarmBehavior::create | ( | const base::String & | pInputParameterString, | |
const base::String & | pOutputParameterString | |||
) | const [protected, virtual] |
create copy of behavior
pInputParameterString | input parameter string | |
pOutputParameterString | output parameter string |
Implements iso::flock::Behavior.
void SwarmBehavior::createInputSwarmParameters | ( | ) | throw (FlockException) [protected] |
create swarm input behavior parameters
FlockException | failed to create swarm input parameters |
void SwarmBehavior::createOutputSwarmParameters | ( | ) | throw (FlockException) [protected] |
create swarm output behavior parameters
FlockException | failed to create swarm output parameters |
Parameter * SwarmBehavior::createInternalSwarmParameter | ( | const base::String & | pSwarmParameterName, | |
const math::Vector< real > & | pValues | |||
) | [protected] |
create internal swarm behavior parameter
pSwarmParameterName | name of swarm parameter | |
pValues | values of swarm parameter |
std::ostream& operator<< | ( | std::ostream & | pOstream, | |
const SwarmBehavior & | pBehavior | |||
) | [friend] |
retrieve textual behavior info
pOstream | output text stream | |
pBehavior | behavior |
Swarm* iso::flock::SwarmBehavior::mSwarm [protected] |
base::String iso::flock::SwarmBehavior::mInputSwarmParameterString [protected] |
swarm this behavior belongs to
base::String iso::flock::SwarmBehavior::mOutputSwarmParameterString [protected] |
unparsed string containing all swarm input parameter names
QVector<Parameter*> iso::flock::SwarmBehavior::mInputSwarmParameters [protected] |
unparsed string containing all swarm output parameter names
QVector<space::NeighborGroup*> iso::flock::SwarmBehavior::mInputSwarmNeighborGroups [protected] |
input swarm parameters (behavior reads from them)
QVector<Parameter*> iso::flock::SwarmBehavior::mOutputSwarmParameters [protected] |
input swarm neighbor groups (behavior reads from them)
QVector<Parameter*> iso::flock::SwarmBehavior::mInternalSwarmParameters [protected] |
output swarm parameters (behavior writes to them)
QVector<Parameter*>& iso::flock::SwarmBehavior::mInputAgentParameters [protected] |
internal swarm parameters (including scales)
QVector<space::NeighborGroup*>& iso::flock::SwarmBehavior::mInputAgentNeighborGroups [protected] |
input agent parameters (behavior reads from them)
QVector<Parameter*>& iso::flock::SwarmBehavior::mOutputAgentParameters [protected] |
input agent neighbor groups (behavior reads from them)
QVector<space::NeighborGroup*>& iso::flock::SwarmBehavior::mOutputAgentNeighborGroups [protected] |
output agent parameters (behavior writes to them)
QVector<Parameter*>& iso::flock::SwarmBehavior::mInternalAgentParameters [protected] |
output agent neighbor groups (behavior writes to them)
QVector<unsigned int> iso::flock::SwarmBehavior::mInputAgentParameterIndices [protected] |
internal agent parameters (including scales)
QVector<unsigned int> iso::flock::SwarmBehavior::mInputAgentNeighborGroupIndices [protected] |
input agent parameter indices
QVector<unsigned int> iso::flock::SwarmBehavior::mOutputAgentParameterIndices [protected] |
input agent neighbor group indices
QVector<unsigned int> iso::flock::SwarmBehavior::mOutputAgentNeighborGroupIndices [protected] |
output agent parameter indices
QVector<unsigned int> iso::flock::SwarmBehavior::mInternalAgentParameterIndices [protected] |
output agent neighbor group indices