Atoms Crowd  7.0.0
TimerMetadataModule.h
1 #pragma once
2 // ===========================================================================
3 // Copyright (c) 2015 Toolchefs Ltd. All rights reserved.
4 //
5 // Use of this software is subject to the terms of the Toolchefs license
6 // agreement provided at the time of installation or download, or which
7 // otherwise accompanies this software in either electronic or hard copy form.
8 // ===========================================================================
9 
10 #include <Atoms/BehaviourModule.h>
11 
12 namespace AtomsModules
13 {
15  {
16  public:
18 
20 
21  void initFrame(const std::vector<Atoms::Agent*>& agents, Atoms::AgentGroup* agentGroup = nullptr);
22 
23  void addMetadata(const std::vector<Atoms::Agent*>& agents, Atoms::AgentGroup* agentGroup, bool isCreation);
24 
25  static Atoms::BehaviourModule* creator(const std::string& parameter);
26 
27  private:
28 
29  template<class T>
30  void addMetaModuleProcessMetadataType(
31  Atoms::Agent* agent,
33  AtomsPtr<AtomsCore::Metadata>& agentMeta,
34  const std::string& metaName,
35  const int groupId,
36  const std::string& groupIdStr,
37  int jointId = -1);
38 
39  };
40 }
Agent group.
Definition: AgentGroup.h:36
Agent.
Definition: Agent.h:44
Behaviour Module Attribute Cache.
Definition: BehaviourModuleAttributeCache.h:41
Behaviour module.
Definition: BehaviourModule.h:32
Definition: TimerMetadataModule.h:15
void initFrame(const std::vector< Atoms::Agent * > &agents, Atoms::AgentGroup *agentGroup=nullptr)
Init frame.