10 #include <Atoms/LayoutGenerators/LayoutGenerator.h>
23 virtual std::vector<AgentInitData>
generate(
double time)
33 inline std::vector<AtomsCore::Vector3>& positions();
35 inline void setPositions(
const std::vector<AtomsCore::Vector3>& pos);
37 inline std::vector<AtomsCore::Vector3>& directions();
39 inline void setDirections(
const std::vector<AtomsCore::Vector3>& dir);
41 inline std::vector<AtomsCore::Vector3>& upVectors();
43 inline void setUpVectors(
const std::vector<AtomsCore::Vector3>& dir);
45 inline std::vector<std::string>& agentTypes();
47 inline void setAgentTypes(
const std::vector<std::string>& aTypes);
49 inline std::vector<int>& ids();
51 inline void setIds(
const std::vector<int>&
id);
53 inline const char*
typeName()
override {
return "pointsLayout"; };
63 std::vector<AtomsCore::Vector3> m_positions;
65 std::vector<AtomsCore::Vector3> m_directions;
67 std::vector<AtomsCore::Vector3> m_upVectors;
69 std::vector<std::string> m_agentTypes;
71 std::vector<int> m_ids;
74 std::vector<int> m_dynamicOldIds;
79 #include "PointsLayoutGenerator.impl.h"
Layout generator.
Definition: LayoutGenerator.h:31
Definition: PointsLayoutGenerator.h:16
bool mustBeFirst() override
Returns wheter this layout generator should be the first one in the stack.
Definition: PointsLayoutGenerator.h:57
virtual std::vector< AgentInitData > generate(double time)
Generate a vector of agent init data.
bool allowMultiple() override
Returns whether an Agent Group can have multiple instances of this layout generator.
Definition: PointsLayoutGenerator.h:55
const char * typeName() override
Get the type name for this generator.
Definition: PointsLayoutGenerator.h:53
AtomsMath::Matrix Matrix
Matrix class.
Definition: AtomsMath.h:63
Atoms namespace.
Definition: Agent.h:29