AnimatLab  2
Test
Node.h
Go to the documentation of this file.
1 
7 #pragma once
8 
9 
10 namespace AnimatSim
11 {
25  class ANIMAT_PORT Node : public AnimatBase
26  {
27  protected:
29  Organism *m_lpOrganism;
30 
33 
35  float m_fltEnabled;
36 
37  virtual void UpdateData();
38 
39  public:
40  Node();
41  virtual ~Node();
42 
43  static Node *CastToDerived(AnimatBase *lpBase) {return static_cast<Node*>(lpBase);}
44 
45  virtual bool Enabled();
46  virtual void Enabled(bool bValue);
47 
48  virtual void Kill(bool bState = true);
49 
50  virtual void Copy(CStdSerialize *lpSource);
51 
68  virtual void AddExternalNodeInput(int iTargetDataType, float fltInput) = 0;
69 
70  virtual int GetTargetDataTypeIndex(const std::string &strDataType);
71 
72  virtual void ResetSimulation();
73 
74 #pragma region DataAccesMethods
75 
76  virtual void SetSystemPointers(Simulator *lpSim, Structure *lpStructure, NeuralModule *lpModule, Node *lpNode, bool bVerify);
77  virtual void VerifySystemPointers();
78  virtual bool SetData(const std::string &strDataType, const std::string &strValue, bool bThrowError = true);
79  virtual void QueryProperties(CStdPtrArray<TypeProperty> &aryProperties);
80 
81 #pragma endregion
82 
83  };
84 
85 } //AnimatSim
86 
bool m_bInitEnabled
Keeps track of the enabled state at sim startup.
Definition: Node.h:32
Simulates the entire environment.
Definition: Simulator.h:31
Root namespace for the base simulation library for AnimatLab.
float m_fltEnabled
This is used for reporting the enabled state in a GetDataPointer call.
Definition: Node.h:35
Organism * m_lpOrganism
The pointer to this node's organism.
Definition: Node.h:29
Animat base class.
Definition: AnimatBase.h:36
Base class for body parts and neural network nodes.
Definition: Node.h:25