AnimatLab  2
Test
RbMovableItem.cpp
1 #include "StdAfx.h"
2 #include <stdarg.h>
3 #include "RbMovableItem.h"
4 #include "RbSimulator.h"
5 
6 namespace RoboticsAnimatSim
7 {
8  namespace Environment
9  {
10 
12 // Construction/Destruction
14 
15 RbMovableItem::RbMovableItem()
16 {
17  m_lpRbSim = NULL;
18  m_lpThisAB = NULL;
19  m_lpThisMI = NULL;
20  m_lpThisRbMI = NULL;
21  m_lpParentRbMI = NULL;
22  m_fltReportNull = 0;
23 }
24 
25 
26 RbMovableItem::~RbMovableItem()
27 {
28 }
29 
30 void RbMovableItem::SetThisPointers()
31 {
32  m_lpThisAB = dynamic_cast<AnimatBase *>(this);
33  if(!m_lpThisAB)
34  THROW_TEXT_ERROR(Rb_Err_lThisPointerNotDefined, Rb_Err_strThisPointerNotDefined, "m_lpThisAB");
35 
36  m_lpThisMI = dynamic_cast<MovableItem *>(this);
37  if(!m_lpThisMI)
38  THROW_TEXT_ERROR(Rb_Err_lThisPointerNotDefined, Rb_Err_strThisPointerNotDefined, "m_lpThisMI, " + m_lpThisAB->Name());
39 
40  m_lpThisRbMI = dynamic_cast<RbMovableItem *>(this);
41  if(!m_lpThisRbMI)
42  THROW_TEXT_ERROR(Rb_Err_lThisPointerNotDefined, Rb_Err_strThisPointerNotDefined, "m_lpThisRbMI, " + m_lpThisAB->Name());
43 
44  m_lpThisMI->PhysicsMovableItem(this);
45 }
46 
47 RbSimulator *RbMovableItem::GetRbSimulator()
48 {
49  if(!m_lpRbSim)
50  {
51  m_lpRbSim = dynamic_cast<RbSimulator *>(m_lpThisAB->GetSimulator());
52  if(!m_lpThisRbMI)
53  THROW_TEXT_ERROR(Rb_Err_lThisPointerNotDefined, Rb_Err_strThisPointerNotDefined, "m_lpRbSim, " + m_lpThisAB->Name());
54  }
55 
56  return m_lpRbSim;
57 }
58 
59 std::string RbMovableItem::Physics_ID()
60 {
61  if(m_lpThisAB)
62  return m_lpThisAB->ID();
63  else
64  return "";
65 }
66 
67 #pragma region Selection-Code
68 
69 void RbMovableItem::Physics_Selected(bool bValue, bool bSelectMultiple)
70 {
71 }
72 
73 #pragma endregion
74 
75 float *RbMovableItem::Physics_GetDataPointer(const std::string &strDataType) {return NULL;}
76 
77 RbMovableItem *RbMovableItem::RbParent()
78 {
79  return m_lpParentRbMI;
80 }
81 
82 bool RbMovableItem::Physics_CalculateLocalPosForWorldPos(float fltWorldX, float fltWorldY, float fltWorldZ, CStdFPoint &vLocalPos)
83 {
84  return false;
85 }
86 
87 void RbMovableItem::Physics_UpdateMatrix()
88 {
89 }
90 
91 void RbMovableItem::Physics_UpdateAbsolutePosition()
92 {
93 }
94 
95 void RbMovableItem::Physics_LoadLocalTransformMatrix(CStdXml &oXml)
96 {
97 }
98 
99 void RbMovableItem::Physics_SaveLocalTransformMatrix(CStdXml &oXml)
100 {
101 }
102 
103 std::string RbMovableItem::Physics_GetLocalTransformMatrixString()
104 {
105  return "";
106 }
107 
108 void RbMovableItem::Physics_ResizeDragHandler(float fltRadius)
109 {
110 }
111 
112 void RbMovableItem::Physics_ResetGraphicsAndPhysics()
113 {
114 }
115 
116 void RbMovableItem::Physics_PositionChanged()
117 {
118 }
119 
120 void RbMovableItem::Physics_RotationChanged()
121 {
122 }
123 
124 BoundingBox RbMovableItem::Physics_GetBoundingBox()
125 {
126  BoundingBox abb;
127  return abb;
128 }
129 
130 float RbMovableItem::Physics_GetBoundingRadius()
131 {
132  BoundingBox bb = Physics_GetBoundingBox();
133  return bb.MaxDimension();
134 }
135 
136 void RbMovableItem::Physics_CollectData()
137 {
138 }
139 
140 void RbMovableItem::Physics_ResetSimulation()
141 {
142 }
143 
144 void RbMovableItem::Physics_OrientNewPart(float fltXPos, float fltYPos, float fltZPos, float fltXNorm, float fltYNorm, float fltZNorm)
145 {
146 }
147 
148 void RbMovableItem::CreateItem()
149 {
150  m_lpThisAB->Initialize();
151 }
152 
153  } // Environment
154 //} //RoboticsAnimatSim
155 
156 }
float m_fltReportNull
Used to report back nulls.
Definition: RbMovableItem.h:21
Classes for implementing the cm-labs vortex physics engine for AnimatLab.