Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
cCoordSpace.h
Go to the documentation of this file.
1 //
6 //
7 
8 #ifndef _INC_cCoordSpace_H
9 #define _INC_cCoordSpace_H
10 #ifndef NO_PRAGMA_ONCE
11 #pragma once
12 #endif
13 
14 #include "cPoint3.h"
15 #include "../Math/cVector.h"
16 
17 namespace GrayLib
18 {
20  {
24 
25  public:
26  typedef float DVALUE_t;
27 
31 
32  public:
34  : m_d3dOffset(0, 0, 0)
35  , m_bOffsetActive(false)
36  , m_d3dFrameOffset(0)
37  {
38  }
39 
40 #if 1 // for use with USE_DEBUG_OFFSETTEST
42  {
43  // unsafe version.
44  cVector3f vPt;
45  vPt.x = pt.m_x - m_d3dOffset.x;
46  vPt.y = pt.m_z - m_d3dOffset.y;
47  vPt.z = pt.m_y - m_d3dOffset.z;
48  return vPt;
49  }
51  {
52  // unsafe version.
53  cPoint3f pt;
54  pt.m_x = vPt.x + m_d3dOffset.x;
55  pt.m_y = vPt.z + m_d3dOffset.z;
56  pt.m_z = vPt.y + m_d3dOffset.y;
57  return pt;
58  }
59 #endif
60 
62  {
66  cVector3f vPt;
67  vPt.x = pt.m_x - m_d3dOffset.x;
68  vPt.y = pt.m_z - m_d3dOffset.y;
69  vPt.z = pt.m_y - m_d3dOffset.z;
70  // ASSERT(!m_bOffsetActive);
71  return vPt;
72  }
74  {
78  cPoint3f pt;
79  pt.m_x = vPt.x + m_d3dOffset.x;
80  pt.m_y = vPt.z + m_d3dOffset.z;
81  pt.m_z = vPt.y + m_d3dOffset.y;
82  // ASSERT(!m_bOffsetActive);
83  return pt;
84  }
85 
86  UNITTEST_FRIEND(cCoordSpace);
87  };
88 }
89 #endif // _INC_cCoordSpace_H
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
Definition: cCoordSpace.h:20
cVector3f m_d3dOffset
offset for convert to d3d device.
Definition: cCoordSpace.h:28
cVector3f CvtWorldToRender2(const cPoint3f &pt) const
Definition: cCoordSpace.h:41
cVector3f CvtWorldToRender(const cPoint3f &pt) const
Definition: cCoordSpace.h:61
float DVALUE_t
Definition: cCoordSpace.h:26
cPoint3f CvtRenderToWorld2(const cVector3f &vPt) const
Definition: cCoordSpace.h:50
cCoordSpaceDX()
Definition: cCoordSpace.h:33
bool m_bOffsetActive
actively changing the m_d3dOffset
Definition: cCoordSpace.h:29
UINT m_d3dFrameOffset
for debug use. (the frame during which i did the offset)
Definition: cCoordSpace.h:30
UNITTEST_FRIEND(cCoordSpace)
cPoint3f CvtRenderToWorld(const cVector3f &vPt) const
Definition: cCoordSpace.h:73
TYPE m_z
Definition: cVecT.h:544
TYPE y
Definition: cVecT.h:545
TYPE z
Definition: cVecT.h:545
TYPE m_x
Definition: cVecT.h:544
TYPE m_y
Definition: cVecT.h:544
TYPE x
Definition: cVecT.h:545
Definition: cVector.h:94
Definition: cMesh.h:22