![]() |
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 |