Atoms Crowd  7.0.0
JointAimModule.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:
17 
19 
20  ~JointAimModule();
21 
22  void initSimulation(Atoms::AgentGroup* agentGroup = nullptr);
23 
24  void agentsCreated(const std::vector<Atoms::Agent*>& agents, Atoms::AgentGroup* agentGroup = nullptr);
25 
26  void initFrame(const std::vector<Atoms::Agent*>& agents, Atoms::AgentGroup* agentGroup = nullptr);
27 
28  void endFrame(const std::vector<Atoms::Agent*>& agents, Atoms::AgentGroup* agentGroup = nullptr);
29 
30  static Atoms::BehaviourModule* creator(const std::string& parameter);
31 
32  private:
33  std::map<int, int> m_jointIdMap;
34  std::map<int, std::vector<int>> m_allJointIds;
35  std::map<int, std::vector<AtomsCore::Quaternion>> m_startRotations;
36  bool m_first;
37  };
38 }
39 
40 
41 
Agent group.
Definition: AgentGroup.h:36
Behaviour module.
Definition: BehaviourModule.h:32
Definition: JointAimModule.h:15
void agentsCreated(const std::vector< Atoms::Agent * > &agents, Atoms::AgentGroup *agentGroup=nullptr)
Agents Created.
void initSimulation(Atoms::AgentGroup *agentGroup=nullptr)
Init simulation.
void initFrame(const std::vector< Atoms::Agent * > &agents, Atoms::AgentGroup *agentGroup=nullptr)
Init frame.
void endFrame(const std::vector< Atoms::Agent * > &agents, Atoms::AgentGroup *agentGroup=nullptr)
End frame.