Atoms Crowd  7.0.0
SetAgentMetadataBehaviour.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/BehaviourTree/Behaviour.h>
11 #include <Atoms/BehaviourTree/BlackboardValue.h>
12 #include <Atoms/Agent.h>
13 
14 namespace Atoms
15 {
16  class ATOMS_EXPORT SetAgentMetadataBehaviour : public Behaviour
17  {
18  public:
19 
21 
22  virtual ~SetAgentMetadataBehaviour();
23 
24  virtual const char* typeName() const override;
25 
26  static const char* staticTypeName();
27 
28  virtual void initialize(BehaviourTreeContext* context, State* data) override;
29 
30  virtual void update(BehaviourTreeContext* context, State* data) override;
31 
32  virtual void releaseData(BehaviourTreeContext* context, State* data) override;
33 
34  virtual void setAttributes(const AtomsCore::MapMetadata* attributes, Blackboard* blackboard) override;
35 
36  virtual void getAttributes(AtomsCore::MapMetadata* attributes, Blackboard* blackboard) override;
37 
38  virtual void getAttributeProperties(AtomsCore::MapMetadata* attributes) override;
39 
40  static Behaviour* creator();
41 
42  private:
43 
44  Agent* getAgent(BehaviourTreeContext* context, State* data);
45 
46  public:
47 
49 
50  BlackboardStringValue metadataName;
51 
52  BlackboardStringValue jointName;
53 
54  BlackboardIntValue agentId;
55 
56  BlackboardBoolValue isGlobalId;
57 
58  BlackboardDoubleValue interpolationTime;
59 
60  bool createMetadata;
61  };
62 }
Agent.
Definition: Agent.h:44
Definition: Behaviour.h:21
Definition: BehaviourTreeContext.h:24
Definition: Blackboard.h:35
Definition: SetAgentMetadataBehaviour.h:17
MapMetadata class.
Definition: MapMetadata.h:24
Atoms namespace.
Definition: Agent.h:29
Definition: Behaviour.h:34