Ignore:
Timestamp:
09/25/06 18:54:21 (18 years ago)
Author:
mattausch
Message:

worked on guided visibility sampling

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/Preprocessing/src/AxisAlignedBox3.cpp

    r1415 r1486  
    21652165 
    21662166 
    2167 } 
     2167void AxisAlignedBox3::Initialize() { 
     2168    mMin = Vector3(MAXFLOAT); 
     2169    mMax = Vector3(-MAXFLOAT); 
     2170  } 
     2171 
     2172 
     2173Vector3 AxisAlignedBox3::Center() const  
     2174{  
     2175        return 0.5 * (mMin + mMax);  
     2176} 
     2177   
     2178Vector3 AxisAlignedBox3::Diagonal() const  
     2179{  
     2180        return (mMax -mMin);  
     2181} 
     2182 
     2183 
     2184float AxisAlignedBox3::Center(const int axis) const  
     2185{ 
     2186        return  0.5f * (mMin[axis] + mMax[axis]); 
     2187} 
     2188 
     2189 
     2190float AxisAlignedBox3::Min(const int axis) const  
     2191{ 
     2192        return mMin[axis]; 
     2193} 
     2194 
     2195float AxisAlignedBox3::Max(const int axis) const { 
     2196        return  mMax[axis]; 
     2197} 
     2198 
     2199float 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 
     2204const Vector3& AxisAlignedBox3::Min() const  
     2205{  
     2206        return mMin; 
     2207} 
     2208 
     2209 
     2210const Vector3& AxisAlignedBox3::Max() const  
     2211{  
     2212        return mMax; 
     2213} 
     2214 
     2215 
     2216void AxisAlignedBox3::Enlarge (const Vector3 &v)  
     2217{ 
     2218        mMax += v; 
     2219        mMin -= v; 
     2220} 
     2221 
     2222 
     2223void AxisAlignedBox3::SetMin(const Vector3 &v)  
     2224{ 
     2225        mMin = v; 
     2226} 
     2227 
     2228 
     2229void AxisAlignedBox3::SetMax(const Vector3 &v)  
     2230{ 
     2231        mMax = v; 
     2232} 
     2233 
     2234 
     2235void AxisAlignedBox3::SetMin(int axis, const float value)  
     2236{ 
     2237        mMin[axis] = value; 
     2238} 
     2239 
     2240 
     2241void AxisAlignedBox3::SetMax(int axis, const float value)  
     2242{ 
     2243        mMax[axis] = value; 
     2244} 
     2245 
     2246// Decrease box by given splitting plane 
     2247void 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 
     2257Vector3 AxisAlignedBox3::Size() const  
     2258{  
     2259        return mMax - mMin;  
     2260} 
     2261 
     2262} 
Note: See TracChangeset for help on using the changeset viewer.