Atoms Crowd  7.0.0
SyncLayoutGenerator.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/LayoutGenerators/LayoutGenerator.h>
11 #include <vector>
12 
13 namespace Atoms
14 {
15  class ATOMS_EXPORT SyncLayoutGenerator : public LayoutGenerator
16  {
17  public:
18 
20 
21  virtual ~SyncLayoutGenerator();
22 
23  virtual std::vector<AgentInitData> generate(double time)
24  #ifdef __APPLE__
25  override
26  #endif
27  ;
28 
29  inline void setParentGenerator(Atoms::LayoutGeneratorPtr& parent);
30 
31  inline void setDefaultAgentType(const std::string& data);
32 
33  inline const std::string defaultAgentType() const;
34 
35  inline const char* typeName() override { return "syncLayout"; };
36 
37  inline bool allowMultiLayoutGenerator() override { return false; }
38 
39  private:
40 
41  Atoms::LayoutGeneratorPtr m_parentGenerator;
42  };
43 }
44 
45 #include "SyncLayoutGenerator.impl.h"
Layout generator.
Definition: LayoutGenerator.h:31
Definition: SyncLayoutGenerator.h:16
const char * typeName() override
Get the type name for this generator.
Definition: SyncLayoutGenerator.h:35
virtual std::vector< AgentInitData > generate(double time)
Generate a vector of agent init data.
bool allowMultiLayoutGenerator() override
Returns whether this layout generator can work in conjunction with other layout generators.
Definition: SyncLayoutGenerator.h:37
Atoms namespace.
Definition: Agent.h:29