Atoms Crowd
7.0.0
|
Public Member Functions | |
void | initSimulation (Atoms::AgentGroup *agentGroup=nullptr) |
Init simulation. More... | |
void | initFrame (const std::vector< Atoms::Agent * > &agents, Atoms::AgentGroup *agentGroup=nullptr) |
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 | agentsCreated (const std::vector< Agent * > &agents, AgentGroup *agentGroup=nullptr) |
Agents Created. More... | |
virtual void | agentsKilled (const std::vector< Agent * > &agents, AgentGroup *agentGroup=nullptr) |
Post frame. 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 |
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.
|
virtual |
Init simulation.
Called one time at the beginning of the simulation before the agents are created
Reimplemented from Atoms::BehaviourModule.