AnimatLab  2
Test
RbSimulator.h
1 
2 #pragma once
3 
4 #include "RbMaterialType.h"
5 
11 namespace RoboticsAnimatSim
12 {
13 
14  class ROBOTICS_PORT RbSimulator : public AnimatSim::Simulator
15  {
16  protected:
17  double m_dblTotalVortexStepTime;
18  long m_lStepVortexTimeCount;
19 
20  virtual AnimatSim::Recording::SimulationRecorder *CreateSimulationRecorder();
21 
22  //helper functions
23  void InitializeRobotics(int argc, const char **argv);
24  void SetSimulationStabilityParams();
25 
26  virtual void StepSimulation();
27  virtual void SimulateEnd();
28 
29  virtual void UpdateSimulationWindows() {};
30  virtual void SnapshotStopFrame() {};
31 
32  public:
33  RbSimulator();
34  virtual ~RbSimulator();
35 
36 #pragma region CreateMethods
37 
38  virtual void GenerateCollisionMeshFile(std::string strOriginalMeshFile, std::string strCollisionMeshFile, float fltScaleX, float fltScaleY, float fltScaleZ) {};
39  virtual void ConvertV1MeshFile(std::string strOriginalMeshFile, std::string strNewMeshFile, std::string strTexture) {};
40 
41 #pragma endregion
42 
43 #pragma region AccessorMutatorOverrides
44 
45  virtual bool InSimulation();
46 
47 #pragma endregion
48 
49 #pragma region HelperMethods
50 
51  virtual void GetPositionAndRotationFromD3DMatrix(float (&aryTransform)[4][4], CStdFPoint &vPos, CStdFPoint &vRot) {};
52 
53  //Timer Methods
54  virtual unsigned long long GetTimerTick();
55  virtual double TimerDiff_n(unsigned long long lStart, unsigned long long lEnd);
56  virtual double TimerDiff_u(unsigned long long lStart, unsigned long long lEnd);
57  virtual double TimerDiff_m(unsigned long long lStart, unsigned long long lEnd);
58  virtual double TimerDiff_s(unsigned long long lStart, unsigned long long lEnd);
59  virtual void MicroSleep(unsigned int iMicroTime);
60  virtual void WriteToConsole(std::string strMessage);
61 
62 #pragma endregion
63 
64 #pragma region FluidMethods
65 
66 #pragma endregion
67 
68  virtual void Reset(); //Resets the entire application back to the default state
69  virtual void ResetSimulation(); //Resets the current simulation back to time 0.0
70  virtual void Initialize(int argc, const char **argv);
71  virtual void ShutdownSimulation();
72  virtual void ToggleSimulation();
73  virtual void StopSimulation();
74  virtual bool StartSimulation();
75  virtual bool PauseSimulation();
76  };
77 
78 } //RoboticsAnimatSim
Simulates the entire environment.
Definition: Simulator.h:31
virtual void SnapshotStopFrame()
Takes a snapshot of the current frame.
Definition: RbSimulator.h:30
Records the simulation keyframes and videos.
Classes for implementing the cm-labs vortex physics engine for AnimatLab.