AnimatLab  2
Test
NervousSystem.h
Go to the documentation of this file.
1 
7 #pragma once
8 
9 namespace AnimatSim
10 {
11  namespace Behavior
12  {
28  class ANIMAT_PORT NervousSystem : public AnimatBase
29  {
30  protected:
32  Organism *m_lpOrganism;
33 
35  CStdPtrMap<std::string, NeuralModule> m_aryNeuralModules;
36 
37  NeuralModule *LoadNeuralModule(CStdXml &oXml);
38  void AddNeuralModule(NeuralModule *lpModule);
39 
40  virtual void StepSim();
41  virtual void StepAdapters();
42 
43  public:
44  NervousSystem();
45  virtual ~NervousSystem();
46 
47  static NervousSystem *CastToDerived(AnimatBase *lpBase) {return static_cast<NervousSystem*>(lpBase);}
48 
49  virtual NeuralModule *FindNeuralModule(std::string strModuleName, bool bThrowError = true);
50  virtual void AddNeuralModule(std::string strXml);
51  virtual void RemoveNeuralModule(std::string strID);
52 
53  virtual void Kill(bool bState = true);
54  virtual void ResetSimulation();
55  virtual void MinTimeStep(float &fltMin);
56 
79  virtual void SetSystemPointers(Simulator *lpSim, Structure *lpStructure, NeuralModule *lpModule, Node *lpNode, bool bVerify);
80  virtual void VerifySystemPointers();
81  virtual void Initialize();
82  virtual void StepSimulation();
83 
84 #pragma region SnapshotMethods
85  virtual long CalculateSnapshotByteSize();
86  virtual void SaveKeyFrameSnapshot(byte *aryBytes, long &lIndex);
87  virtual void LoadKeyFrameSnapshot(byte *aryBytes, long &lIndex);
88 #pragma endregion
89 
90  virtual void Load(CStdXml &oXml);
91  };
92 
93  } //Behavior
94 } //AnimatSim
Nervous system for an organism.
Definition: NervousSystem.h:28
Simulates the entire environment.
Definition: Simulator.h:31
Root namespace for the base simulation library for AnimatLab.
Organism * m_lpOrganism
The pointer to this node's organism.
Definition: NervousSystem.h:32
Animat base class.
Definition: AnimatBase.h:36
Base class for body parts and neural network nodes.
Definition: Node.h:25
CStdPtrMap< std::string, NeuralModule > m_aryNeuralModules
The array of neural modules used within this nervous system.
Definition: NervousSystem.h:35