Atoms Crowd
7.0.0
|
Public Member Functions | |
void | agentsCreated (const std::vector< Atoms::Agent * > &agents, Atoms::AgentGroup *agentGroup) |
Agents Created. More... | |
void | initFrame (const std::vector< Atoms::Agent * > &agents, Atoms::AgentGroup *agentGroup) |
Init frame. More... | |
void | endFrame (const std::vector< Atoms::Agent * > &agents, Atoms::AgentGroup *agentGroup=nullptr) |
End frame. More... | |
Public Member Functions inherited from Atoms::BehaviourModule | |
BehaviourModule () | |
Constructor. | |
virtual | ~BehaviourModule () |
Destructor. | |
virtual void | agentsKilled (const std::vector< Agent * > &agents, AgentGroup *agentGroup=nullptr) |
Post frame. More... | |
virtual void | initSimulation (AgentGroup *agentGroup=nullptr) |
Init simulation. More... | |
virtual void | preFrame (AgentGroup *agentGroup=nullptr) |
Pre frame. More... | |
virtual void | prePhysics (const std::vector< Agent * > &agents, AgentGroup *agentGroup=nullptr) |
Pre Physics. More... | |
virtual void | postPhysics (const std::vector< Agent * > &agents, AgentGroup *agentGroup=nullptr) |
Post Physics. More... | |
virtual void | endSimulation (const std::vector< Agent * > &agents, AgentGroup *agentGroup=nullptr) |
End simulation. More... | |
virtual void | resetSimulation (const std::vector< Agent * > &agents, AgentGroup *agentGroup=nullptr) |
Reset simulation. More... | |
virtual void | preDraw (DrawContext *context, const std::vector< Agent * > &agents, AgentGroup *agentGroup=nullptr) |
Pre draw. More... | |
virtual void | draw (DrawContext *context, const std::vector< Agent * > &agents, AgentGroup *agentGroup=nullptr) |
Draw. More... | |
virtual AtomsCore::MapMetadata & | attributes () |
Returns the module attributes map. | |
virtual AtomsCore::MapMetadata & | attributeProperties () |
Returns the module attribute properties map. | |
virtual const std::string & | typeName () const |
Gets the module type name. | |
virtual void | setTypeName (const std::string &typeName) |
Sets the module type name. | |
virtual void | addAttribute (const std::string &attributeName, AtomsPtr< AtomsCore::Metadata > &metadata, bool perAgent=false) |
Add an attribute to the module, if the perAgent flag is set to true an extra attribute is added with the same name plus the "_override" suffix. This new attribute stores the agent overrides. | |
virtual void | addAttribute (const std::string &attributeName, AtomsCore::Metadata *metadata, bool perAgent=false) |
virtual void | addAttributeProperty (const std::string &attributeName, const std::string &propertyName, AtomsPtr< AtomsCore::Metadata > &metadata) |
Add an attribute property to the module. | |
virtual void | addAttributeProperty (const std::string &attributeName, const std::string &propertyName, AtomsCore::Metadata *metadata) |
virtual bool | removeAttribute (const std::string &attributeName) |
Removes an attribute from the module, this also removes the _override entry if present. | |
virtual void | setEnabled (bool value) |
Set the enabled state for this module. | |
virtual bool | isEnabled () const |
Gets the enabled state for this module. | |
void | setSingleThread (bool value) |
Use single thread. | |
bool | singleThread () const |
Return true if this module use a single thread. | |
virtual const std::string & | name () const |
Gets the module name. | |
virtual void | setName (const std::string &name) |
Sets the module name. | |
virtual void | refreshAttributes () |
Refresh the attribute map metadata. | |
virtual bool | hasDynamicAttributes () const |
Check if this module can generate attribute dynamically. | |
template<typename T > | |
T | getAttributePerAgent (const T &defaultValue, AtomsCore::MapMetadata *overrideMap, const std::string &id) |
Utils to get per agent attributes. | |
template<typename T > | |
T | getAttributePerAgent (const T &defaultValue, AtomsCore::MapMetadata *overrideMap, const std::string &id, const AtomsCore::MapMetadata &agentMetadata, const std::string &metadataName) |
Utils to get per agent attributes. | |
size_t | profileTime (unsigned short index) const |
Get profile time. | |
void | setProfileTime (unsigned short index, size_t us) |
Static Public Member Functions | |
static Atoms::BehaviourModule * | creator (const std::string ¶meter) |
Static Public Member Functions inherited from Atoms::BehaviourModule | |
static bool | ignoreCurrentModule (Atoms::Agent *agent, const std::string ¤tModuleName, const std::vector< std::string > &moduleNames, const std::string &metadataName) |
static void | enableCurrentActiveModuleMetadata (Atoms::Agent *agent, const std::string ¤tModuleName, const std::string &metadataName, const bool enable) |
static void | initializeAngularVelocity (Atoms::Agent *agent) |
static void | setAngularVelocities (Atoms::Agent *agent, const AtomsCore::Vector3 &newDir, const AtomsCore::Vector3 &preMaxTurnAngleDir, const double fps) |
static void | setAngularVelocities (Atoms::Agent *agent, const double angularVelocity, const double frameAngularVelocity) |
Additional Inherited Members | |
Public Types inherited from Atoms::BehaviourModule | |
enum | ProfileType { kInitSimulation = 0 , kPreFrame , kAgentsCreated , kInitFrame , kEndFrame , kPrePhysics , kPostPhysics , kAgentsKilled , kEndSimulation , kResetSimulation } |
enum | ModuleTpe { kNative = 0 , kScript = 1 } |
|
virtual |
Agents Created.
Called after the layout generators and the pool finished to allocate the memory for the new agents. At this point it is possibe to modify the behaviour network, the pose and metadatas of the agents.
Reimplemented from Atoms::BehaviourModule.
|
virtual |
End frame.
Called at the end of each frame after the agent poses are computed
Reimplemented from Atoms::BehaviourModule.
|
virtual |
Init frame.
Called at the beginning of each frame before the agent poses are computed
Reimplemented from Atoms::BehaviourModule.