Atoms Crowd  7.0.0
Agent.impl.h
1 // ===========================================================================
2 // Copyright (c) 2015 Toolchefs Ltd. All rights reserved.
3 //
4 // Use of this software is subject to the terms of the Toolchefs license
5 // agreement provided at the time of installation or download, or which
6 // otherwise accompanies this software in either electronic or hard copy form.
7 // ===========================================================================
8 
9 namespace Atoms
10 {
12  {
13  return m_agentType;
14  }
15 
17  {
18  return m_pose;
19  }
20 
22  {
23  return m_pose;
24  }
25 
27  void Agent::setPose(const AtomsCore::Pose& value)
28  {
29  m_pose = value;
30  }
31 
33  {
34  return m_metadata;
35  }
36 
38  {
39  return m_metadata;
40  }
41 
43  {
44  m_metadata = value;
45  }
46 
48  {
49  return m_network;
50  }
51 
53  {
54  return m_boundingBox;
55  }
56 
58  {
59  m_boundingBox = box;
60  }
61 
62  AtomsCore::Rand48& Agent::random()
63  {
64  return m_random;
65  }
66 
67  size_t Agent::profileTime() const
68  {
69  return m_profileTime;
70  }
71 
72  size_t Agent::profileThreadId() const
73  {
74  return m_profileThreadId;
75  }
76 
77  void Agent::setProfileThreadBatch(size_t value)
78  {
79  m_profileThreadBatch = value;
80  }
81 
84  {
85  return m_profileThreadBatch;
86  }
87 
88  ContextSteeringData& Agent::contextSteeringData()
89  {
90  return *m_contextSteering;
91  }
92 
93  const ContextSteeringData& Agent::contextSteeringData() const
94  {
95  return *m_contextSteering;
96  }
97 
98  const bool Agent::hasValidContextSteeringData() const
99  {
100  return m_contextSteering != nullptr && m_contextSteering->samples.size() > 0;
101  }
102 }
Agent behaviour network.
Definition: AgentBehaviourNetwork.h:29
size_t profileThreadBatch() const
Get the profile thread batch.
Definition: Agent.impl.h:83
void setBoundingBox(const AtomsCore::Box3 &box)
Sets the agent bounding box.
Definition: Agent.impl.h:57
AtomsCore::Box3 boundingBox() const
Gets the agent bounding box.
Definition: Agent.impl.h:52
size_t profileTime() const
Get the profile time.
Definition: Agent.impl.h:67
void setProfileThreadBatch(size_t value)
Set the profile thread id.
Definition: Agent.impl.h:77
size_t profileThreadId() const
Get the profile thread id.
Definition: Agent.impl.h:72
AtomsCore::MapMetadata & metadata()
Gets the agent metadata map.
Definition: Agent.impl.h:32
AgentBehaviourNetwork & network()
Gets the agent behaviour network.
Definition: Agent.impl.h:47
AtomsCore::Pose & pose()
Gets the agent pose.
Definition: Agent.impl.h:16
void setPose(const AtomsCore::Pose &value)
Set agent pose.
Definition: Agent.impl.h:27
const AgentTypeCPtr & agentType() const
Gets the agent type.
Definition: Agent.impl.h:11
AtomsCore::Rand48 & random()
Return the internal agent random numbers generator.
Definition: Agent.impl.h:62
void setMetadata(const AtomsCore::MapMetadata &value)
Set agent metadata.
Definition: Agent.impl.h:42
Definition: ContextSteering.h:16
MapMetadata class.
Definition: MapMetadata.h:24
Pose class.
Definition: Pose.h:32
AtomsMath::Box3 Box3
Bounding box class.
Definition: AtomsMath.h:74
Atoms namespace.
Definition: Agent.h:29
AtomsPtr< const AgentType > AgentTypeCPtr
Agent type const pointer.
Definition: AgentType.h:21