00001 // SamplePoint.h: interface for the CSamplePoint class. 00002 // 00004 #include "Vector3D.h" 00005 #include "Point3D.h" 00006 00007 #if !defined(AFX_SAMPLEPOINT_H__60A73276_047C_4915_8F63_653EEA1F5212__INCLUDED_) 00008 #define AFX_SAMPLEPOINT_H__60A73276_047C_4915_8F63_653EEA1F5212__INCLUDED_ 00009 00010 #if _MSC_VER > 1000 00011 #pragma once 00012 #endif // _MSC_VER > 1000 00013 00015 00022 class CSamplePoint: public CObject 00023 { 00024 public: 00025 float * GetAdditional(); 00026 void SetAdditional(float *additional); 00028 float GetUnitZVec(); 00030 float GetUnitYVec(); 00032 float GetUnitXVec(); 00034 CVector3D *GetUnitVec(); 00036 void SetUnitVec(CVector3D &unitVec); 00038 void SetMagnitude(float magnitude); 00040 float GetMagnitude(); 00041 00043 CSamplePoint& operator=(const CSamplePoint &samplePoint); 00044 00046 CSamplePoint(const CSamplePoint &samplePoint); 00047 00049 static int GetAdditionalSize(); 00051 static void SetAdditionalSize(int size); 00052 00054 float GetZVec(); 00056 float GetYVec(); 00058 float GetXVec(); 00059 00060 CSamplePoint(); 00062 00066 CSamplePoint(CPoint3D &pos3D, CVector3D &vector3D,float *additional); 00068 00072 CSamplePoint(CPoint3D &pos3D, CVector3D &unitVec3D,float magnitude, 00073 float *additional); 00074 00075 virtual ~CSamplePoint(); 00076 00078 void SetPos(CPoint3D &pos3D); 00079 00081 00085 void SetVector(CVector3D &vector3D); 00086 00088 void SetAdditional(int index, float value); 00089 00091 void GetVector(CVector3D &vec); 00092 00094 float GetXPos(); 00096 float GetYPos(); 00098 float GetZPos(); 00099 00101 float GetAdditional(int i); 00102 00104 float GetQuadMinDist(); 00105 00107 CPoint3D *GetPos(); 00108 00110 float Distance(CSamplePoint *samplePoint); 00111 00113 float GetQuadDistance(CSamplePoint *samplePoint); 00114 00116 bool CSamplePoint::ComputeQuadMinDist(CObList *samplePoints,float minDist); 00117 00118 private: 00119 00121 CPoint3D m_Pos; 00123 CVector3D m_Vector; 00125 float *m_Additional; 00126 00128 float m_QuadMinDist; 00129 00131 float m_Magnitude; 00132 00134 static int m_AdditionalSize; 00135 00136 }; 00137 00138 00139 00140 #endif // !defined(AFX_SAMPLEPOINT_H__60A73276_047C_4915_8F63_653EEA1F5212__INCLUDED_) 00141