Changeset 1486 for GTP/trunk/Lib/Vis/Preprocessing/src/AxisAlignedBox3.cpp
- Timestamp:
- 09/25/06 18:54:21 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Vis/Preprocessing/src/AxisAlignedBox3.cpp
r1415 r1486 2165 2165 2166 2166 2167 } 2167 void AxisAlignedBox3::Initialize() { 2168 mMin = Vector3(MAXFLOAT); 2169 mMax = Vector3(-MAXFLOAT); 2170 } 2171 2172 2173 Vector3 AxisAlignedBox3::Center() const 2174 { 2175 return 0.5 * (mMin + mMax); 2176 } 2177 2178 Vector3 AxisAlignedBox3::Diagonal() const 2179 { 2180 return (mMax -mMin); 2181 } 2182 2183 2184 float AxisAlignedBox3::Center(const int axis) const 2185 { 2186 return 0.5f * (mMin[axis] + mMax[axis]); 2187 } 2188 2189 2190 float AxisAlignedBox3::Min(const int axis) const 2191 { 2192 return mMin[axis]; 2193 } 2194 2195 float AxisAlignedBox3::Max(const int axis) const { 2196 return mMax[axis]; 2197 } 2198 2199 float AxisAlignedBox3::Size(const int axis) const { 2200 return Max(axis) - Min(axis); 2201 } 2202 2203 // Read-only const access tomMin and max vectors using references 2204 const Vector3& AxisAlignedBox3::Min() const 2205 { 2206 return mMin; 2207 } 2208 2209 2210 const Vector3& AxisAlignedBox3::Max() const 2211 { 2212 return mMax; 2213 } 2214 2215 2216 void AxisAlignedBox3::Enlarge (const Vector3 &v) 2217 { 2218 mMax += v; 2219 mMin -= v; 2220 } 2221 2222 2223 void AxisAlignedBox3::SetMin(const Vector3 &v) 2224 { 2225 mMin = v; 2226 } 2227 2228 2229 void AxisAlignedBox3::SetMax(const Vector3 &v) 2230 { 2231 mMax = v; 2232 } 2233 2234 2235 void AxisAlignedBox3::SetMin(int axis, const float value) 2236 { 2237 mMin[axis] = value; 2238 } 2239 2240 2241 void AxisAlignedBox3::SetMax(int axis, const float value) 2242 { 2243 mMax[axis] = value; 2244 } 2245 2246 // Decrease box by given splitting plane 2247 void AxisAlignedBox3::Reduce(int axis, int right, float value) 2248 { 2249 if ( (value >=mMin[axis]) && (value <= mMax[axis]) ) 2250 if (right) 2251 mMin[axis] = value; 2252 else 2253 mMax[axis] = value; 2254 } 2255 2256 2257 Vector3 AxisAlignedBox3::Size() const 2258 { 2259 return mMax - mMin; 2260 } 2261 2262 }
Note: See TracChangeset
for help on using the changeset viewer.