00001 00002 #ifndef VOXEL_H 00003 #define VOXEL_H 00004 00009 class Voxel 00010 { 00011 00012 public: 00013 00014 Voxel() 00015 { 00016 setValue(0.0f); 00017 }; 00018 00019 00020 Voxel( const Voxel &newValue ) 00021 { 00022 m_fValue = newValue.m_fValue; 00023 }; 00024 00025 00026 Voxel( const float fValue ) 00027 { 00028 setValue( fValue ); 00029 }; 00030 00031 00032 ~Voxel() 00033 { 00034 }; 00035 00036 00037 void setValue( const float fValue ) 00038 { 00039 m_fValue = fValue; 00040 00041 }; 00042 00043 const float getValue() const 00044 { 00045 return m_fValue; 00046 }; 00047 00048 00049 const bool operator==(const Voxel &datOther) const 00050 { 00051 return (getValue() == datOther.getValue()); 00052 }; 00053 00054 const bool operator!=(const Voxel &datOther) const 00055 { 00056 return !(*this == datOther); 00057 }; 00058 00059 const bool operator>(const Voxel &datOther) const 00060 { 00061 return getValue() > datOther.getValue(); 00062 }; 00063 00064 const bool operator>=(const Voxel &datOther) const 00065 { 00066 return getValue() >= datOther.getValue(); 00067 }; 00068 00069 const bool operator<(const Voxel &datOther) const 00070 { 00071 return getValue() < datOther.getValue(); 00072 }; 00073 00074 const bool operator<=(const Voxel &datOther) const 00075 { 00076 return getValue() <= datOther.getValue(); 00077 }; 00078 00079 const Voxel & operator+=(const Voxel & datOther) 00080 { 00081 m_fValue += datOther.m_fValue; 00082 return *this; 00083 }; 00084 00085 const Voxel & operator-=(const Voxel & datOther) 00086 { 00087 m_fValue -= datOther.m_fValue; 00088 return *this; 00089 }; 00090 00091 const Voxel & operator*=(const float & fOther) 00092 { 00093 m_fValue *= fOther; 00094 return *this; 00095 }; 00096 00097 const Voxel & operator/=(const float & fOther) 00098 { 00099 m_fValue /= fOther; 00100 return *this; 00101 }; 00102 00103 const Voxel operator+(const Voxel & datOther) const 00104 { 00105 Voxel voxNew = *this; 00106 voxNew += datOther; 00107 return voxNew; 00108 }; 00109 00110 const Voxel operator-(const Voxel & datOther) const 00111 { 00112 Voxel voxNew = *this; 00113 voxNew -= datOther; 00114 return voxNew; 00115 }; 00116 00117 const Voxel operator*(const float & fOther) const 00118 { 00119 Voxel voxNew = *this; 00120 voxNew *= fOther; 00121 return voxNew; 00122 }; 00123 00124 const Voxel operator/(const float & fOther) const 00125 { 00126 Voxel voxNew = *this; 00127 voxNew /= fOther; 00128 return voxNew; 00129 }; 00130 00131 00132 private: 00136 float m_fValue; 00137 00138 }; 00139 00140 #endif