Atoms Crowd  7.0.0
AgentNode.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/Globals.h>
11 #include <AtomsGraph/Ports.h>
12 #include <AtomsGraph/Node.h>
13 
14 namespace Atoms
15 {
16  class Agent;
17 
19 
21  class ATOMS_EXPORT AgentNode : public AtomsGraph::Node
22  {
23  public:
24 
26 
29  virtual std::string typeStr() const = 0;
30 
32 
35  virtual unsigned int typeId() const = 0;
36 
39 
41  virtual ~AgentNode();
42 
44  inline Agent* agent();
45 
47  inline void setAgent(Agent* agent);
48 
50  virtual short baseNodeType() const;
51 
52  protected:
53 
56  };
57 }
58 
59 #include "AgentNode.impl.h"
Agent.
Definition: Agent.h:44
Agent node.
Definition: AgentNode.h:22
Agent * m_agent
Agent.
Definition: AgentNode.h:55
virtual ~AgentNode()
Destructor.
virtual unsigned int typeId() const =0
Type id.
AgentNode()
Constructor.
virtual short baseNodeType() const
Base node type.
virtual std::string typeStr() const =0
Type string.
Definition: Node.h:31
Atoms namespace.
Definition: Agent.h:29