Helios++
Helios software for LiDAR simulations
SimplePhysicsPlatform.h
1 #pragma once
2 
3 #include "MovingPlatform.h"
4 
9 protected:
10  // *** ATTRIBUTES *** //
11  // ******************** //
15  glm::dvec3 mEngineForce = glm::dvec3(0, 0, 0);
19  glm::dvec3 mCfg_g_accel = glm::dvec3(0, 0, -9.81);
20 public:
24  double mCfg_drag = 1;
25 
26  // *** CONSTRUCTION / DESTRUCTION *** //
27  // ************************************ //
31  SimplePhysicsPlatform() = default;
32  std::shared_ptr<Platform> clone() override;
33  void _clone(std::shared_ptr<Platform> p) override;
34 
35  // *** M E T H O D S *** //
36  // *********************** //
41  void doPhysicsStep(int simFrequency_hz);
45  void doSimStep(int simFrequency_hz) override;
50  virtual void doControlStep(int simFrequency_hz);
51 
52 };
Class representing a simple phyiscs platform.
Definition: SimplePhysicsPlatform.h:8
void doPhysicsStep(int simFrequency_hz)
Phyisics step for simple phyisics platform simulation.
Definition: SimplePhysicsPlatform.cpp:20
void doSimStep(int simFrequency_hz) override
Definition: SimplePhysicsPlatform.cpp:30
virtual void doControlStep(int simFrequency_hz)
Control step for simple phyisics platform simulation.
Definition: SimplePhysicsPlatform.cpp:36
glm::dvec3 mEngineForce
Engine force vector.
Definition: SimplePhysicsPlatform.h:15
double mCfg_drag
Drag magnitude.
Definition: SimplePhysicsPlatform.h:24
glm::dvec3 mCfg_g_accel
Gravity acceleration vector.
Definition: SimplePhysicsPlatform.h:19
SimplePhysicsPlatform()=default
Simple physics platform default constructor.
Class representing a moving platform.
Definition: MovingPlatform.h:8