ARGoS  3
A parallel, multi-engine simulator for swarm robotics
space_no_threads.cpp
Go to the documentation of this file.
1 
11 #include "space_no_threads.h"
12 #include <argos3/core/simulator/simulator.h>
13 
14 namespace argos {
15 
16  /****************************************/
17  /****************************************/
18 
20  for(size_t i = 0; i < m_vecControllableEntities.size(); ++i) {
21  m_vecControllableEntities[i]->Act();
22  }
23  }
24 
25  /****************************************/
26  /****************************************/
27 
29  /* Update the physics engines */
30  for(size_t i = 0; i < m_ptPhysicsEngines->size(); ++i) {
31  (*m_ptPhysicsEngines)[i]->Update();
32  }
33  /* Perform entity transfer from engine to engine, if needed */
34  for(size_t i = 0; i < m_ptPhysicsEngines->size(); ++i) {
35  if((*m_ptPhysicsEngines)[i]->IsEntityTransferNeeded()) {
36  (*m_ptPhysicsEngines)[i]->TransferEntities();
37  }
38  }
39  }
40 
41  /****************************************/
42  /****************************************/
43 
45  for(size_t i = 0; i < m_ptMedia->size(); ++i) {
46  (*m_ptMedia)[i]->Update();
47  }
48  }
49 
50  /****************************************/
51  /****************************************/
52 
54  for(size_t i = 0; i < m_vecControllableEntities.size(); ++i) {
55  m_vecControllableEntities[i]->Sense();
56  m_vecControllableEntities[i]->ControlStep();
57  }
58  }
59 
60  /****************************************/
61  /****************************************/
62 
63 }
argos::CSpace::m_vecControllableEntities
CControllableEntity::TVector m_vecControllableEntities
A vector of controllable entities.
Definition: space.h:438
argos::CSpaceNoThreads::UpdateControllableEntitiesSenseStep
virtual void UpdateControllableEntitiesSenseStep()
Definition: space_no_threads.cpp:53
argos
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
space_no_threads.h
argos::CSpaceNoThreads::UpdateControllableEntitiesAct
virtual void UpdateControllableEntitiesAct()
Definition: space_no_threads.cpp:19
argos::CSpace::m_ptPhysicsEngines
CPhysicsEngine::TVector * m_ptPhysicsEngines
A pointer to the list of physics engines.
Definition: space.h:444
argos::CSpaceNoThreads::UpdateMedia
virtual void UpdateMedia()
Definition: space_no_threads.cpp:44
argos::CSpace::m_ptMedia
CMedium::TVector * m_ptMedia
A pointer to the list of media.
Definition: space.h:447
argos::CSpaceNoThreads::UpdatePhysics
virtual void UpdatePhysics()
Definition: space_no_threads.cpp:28