Atoms Crowd
7.0.0
|
Layout generator. More...
#include <LayoutGenerator.h>
Public Member Functions | |
LayoutGenerator (bool isStatic=true) | |
Constructor. More... | |
virtual | ~LayoutGenerator () |
Destructor. | |
virtual bool | allowMultiLayoutGenerator () |
Returns whether this layout generator can work in conjunction with other layout generators. | |
virtual bool | allowMultiple () |
Returns whether an Agent Group can have multiple instances of this layout generator. | |
virtual bool | mustBeFirst () |
Returns wheter this layout generator should be the first one in the stack. | |
bool | isStaticGenerator () const |
Get the static state for this generator. | |
void | setAsStaticGenerator (bool value) |
Set the static state for this generator. | |
virtual std::vector< AgentInitData > | generate (double time)=0 |
Generate a vector of agent init data. | |
virtual AgentTypePtr | agentType (const int groupId, const std::string &groupIdStr) |
Get the agent type used by this generator. | |
void | setAgentTypeAttributeCache (const BehaviourModuleAttributeCache< std::string > &agentTypeAttributeCache) |
void | setDirectionAttributeCache (const BehaviourModuleAttributeCache< AtomsCore::Vector3 > &directionAttributeCache) |
void | setUpVectorAttributeCache (const BehaviourModuleAttributeCache< AtomsCore::Vector3 > &upVectorAttributeCache) |
std::atomic< size_t > & | nextFreeId () |
const std::atomic< size_t > & | nextFreeId () const |
void | setName (const std::string &name) |
Set the name of this generator. | |
const std::string & | name () |
Get the name of this generator. | |
virtual const char * | typeName ()=0 |
Get the type name for this generator. | |
void | setGroupIdOffset (const int offset) |
Set the offset for the group ids of this layout generator. | |
const int | groupIdOffset () |
Get the offset for the group ids of this layout generator. | |
void | setOffsetPelvisHeight (bool state) |
Sets the flag to offset height according to the distance between pelvis and foot. | |
void | setOffsetPelvisHeightOverride (const std::map< int, bool > &value) |
Sets the map per agent to offset height according to the distance between pelvis and foot. | |
void | setOffsetPelvisHeightAttributeCache (const BehaviourModuleAttributeCache< bool > &offsetPelvisHeightCache) |
Sets offset pelvis height attribute cache. | |
Static Public Member Functions | |
static const std::string | getDefaultAgentType () |
Get the default agent type name. | |
Protected Attributes | |
BehaviourModuleAttributeCache< bool > | m_applyPelvisHeightOffsetCache |
BehaviourModuleAttributeCache< std::string > | m_agentTypeAttributeCache |
BehaviourModuleAttributeCache< AtomsCore::Vector3 > | m_directionAttributeCache |
BehaviourModuleAttributeCache< AtomsCore::Vector3 > | m_upVectorAttributeCache |
Layout generator.
A layout generator is responsible for generating a vector of agent initialization data. The agent group class actually generates the agents with this data. A layout generator can either be static (creates agents only when the simulation is initialized) or non-static (can create agents also during the simulation).
Atoms::LayoutGenerator::LayoutGenerator | ( | bool | isStatic = true | ) |
Constructor.
isStatic | The static state for this generator |