Atoms Crowd  7.0.0
PointsLayoutModule.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 #include <Atoms/LayoutGenerators/PointsLayoutGenerator.h>
12 
13 namespace AtomsModules
14 {
16  {
17  public:
18 
20 
22 
23  virtual void agentsCreated(const std::vector<Atoms::Agent*>& agents, Atoms::AgentGroup* agentGroup = nullptr);
24 
25  virtual void preFrame(Atoms::AgentGroup* agentGroup = nullptr);
26 
27  virtual void initSimulation(Atoms::AgentGroup* agentGroup = nullptr);
28 
29  static Atoms::BehaviourModule* creator(const std::string& parameter);
30 
31  void populateMetadataToGenerator(Atoms::PointsLayoutGenerator* pointsLayout, const AtomsCore::MapMetadata& metadata, Atoms::AgentGroup* agentGroup);
32  };
33 }
34 
Agent group.
Definition: AgentGroup.h:36
Behaviour module.
Definition: BehaviourModule.h:32
Definition: PointsLayoutGenerator.h:16
MapMetadata class.
Definition: MapMetadata.h:24
Definition: PointsLayoutModule.h:16
virtual void agentsCreated(const std::vector< Atoms::Agent * > &agents, Atoms::AgentGroup *agentGroup=nullptr)
Agents Created.
virtual void initSimulation(Atoms::AgentGroup *agentGroup=nullptr)
Init simulation.
virtual void preFrame(Atoms::AgentGroup *agentGroup=nullptr)
Pre frame.