HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GfRange3f Class Reference

#include <range3f.h>

Public Types

typedef GfVec3f MinMaxType
 Helper typedef. More...
 
typedef GfVec3f::ScalarType ScalarType
 

Public Member Functions

void SetEmpty ()
 Sets the range to an empty interval. More...
 
 GfRange3f ()
 The default constructor creates an empty range. More...
 
 GfRange3f (const GfVec3f &min, const GfVec3f &max)
 This constructor initializes the minimum and maximum points. More...
 
GF_API GfRange3f (class GfRange3d const &other)
 Construct from GfRange3d. More...
 
const GfVec3fGetMin () const
 Returns the minimum value of the range. More...
 
const GfVec3fGetMax () const
 Returns the maximum value of the range. More...
 
GfVec3f GetSize () const
 Returns the size of the range. More...
 
GfVec3f GetMidpoint () const
 
void SetMin (const GfVec3f &min)
 Sets the minimum value of the range. More...
 
void SetMax (const GfVec3f &max)
 Sets the maximum value of the range. More...
 
bool IsEmpty () const
 Returns whether the range is empty (max < min). More...
 
void ExtendBy (const GfVec3f &point)
 
void ExtendBy (const GfRange3f &range)
 
bool Contains (const GfVec3f &point) const
 
bool Contains (const GfRange3f &range) const
 
bool IsInside (const GfVec3f &point) const
 
bool IsInside (const GfRange3f &range) const
 
bool IsOutside (const GfRange3f &range) const
 
const GfRange3fUnionWith (const GfRange3f &b)
 Extend this to include b. More...
 
const GfRange3fUnionWith (const GfVec3f &b)
 Extend this to include b. More...
 
const GfRange3fUnion (const GfRange3f &b)
 
const GfRange3fUnion (const GfVec3f &b)
 
const GfRange3fIntersectWith (const GfRange3f &b)
 
const GfRange3fIntersection (const GfRange3f &b)
 
GfRange3foperator+= (const GfRange3f &b)
 unary sum. More...
 
GfRange3foperator-= (const GfRange3f &b)
 unary difference. More...
 
GfRange3foperator*= (double m)
 unary multiply. More...
 
GfRange3foperator/= (double m)
 unary division. More...
 
GfRange3f operator+ (const GfRange3f &b) const
 binary sum. More...
 
GfRange3f operator- (const GfRange3f &b) const
 binary difference. More...
 
bool operator== (const GfRange3f &b) const
 The min and max points must match exactly for equality. More...
 
bool operator!= (const GfRange3f &b) const
 
GF_API bool operator== (const GfRange3d &other) const
 
GF_API bool operator!= (const GfRange3d &other) const
 
GF_API double GetDistanceSquared (const GfVec3f &p) const
 Compute the squared distance from a point to the range. More...
 
GF_API GfVec3f GetCorner (size_t i) const
 
GF_API GfRange3f GetOctant (size_t i) const
 

Static Public Member Functions

static GfRange3f GetUnion (const GfRange3f &a, const GfRange3f &b)
 Returns the smallest GfRange3f which contains both a and b. More...
 
static GfRange3f Union (const GfRange3f &a, const GfRange3f &b)
 
static GfRange3f GetIntersection (const GfRange3f &a, const GfRange3f &b)
 Returns a GfRange3f that describes the intersection of a and b. More...
 
static GfRange3f Intersection (const GfRange3f &a, const GfRange3f &b)
 

Static Public Attributes

static const size_t dimension = GfVec3f::dimension
 
static GF_API const GfRange3f UnitCube
 The unit cube. More...
 

Friends

GfRange3f operator* (double m, const GfRange3f &r)
 scalar multiply. More...
 
GfRange3f operator* (const GfRange3f &r, double m)
 scalar multiply. More...
 
GfRange3f operator/ (const GfRange3f &r, double m)
 scalar divide. More...
 
size_t hash_value (const GfRange3f &r)
 hash. More...
 

Detailed Description

Basic type: 3-dimensional floating point range.

This class represents a 3-dimensional range (or interval) All operations are component-wise and conform to interval mathematics. An empty range is one where max < min. The default empty is [FLT_MAX,-FLT_MAX]

Definition at line 46 of file range3f.h.

Member Typedef Documentation

Helper typedef.

Definition at line 51 of file range3f.h.

Definition at line 54 of file range3f.h.

Constructor & Destructor Documentation

GfRange3f::GfRange3f ( )
inline

The default constructor creates an empty range.

Definition at line 64 of file range3f.h.

GfRange3f::GfRange3f ( const GfVec3f min,
const GfVec3f max 
)
inline

This constructor initializes the minimum and maximum points.

Definition at line 69 of file range3f.h.

GF_API GfRange3f::GfRange3f ( class GfRange3d const &  other)
explicit

Construct from GfRange3d.

Member Function Documentation

bool GfRange3f::Contains ( const GfVec3f point) const
inline

Returns true if the point is located inside the range. As with all operations of this type, the range is assumed to include its extrema.

Definition at line 117 of file range3f.h.

bool GfRange3f::Contains ( const GfRange3f range) const
inline

Returns true if the range is located entirely inside the range. As with all operations of this type, the ranges are assumed to include their extrema.

Definition at line 126 of file range3f.h.

void GfRange3f::ExtendBy ( const GfVec3f point)
inline

Modifies the range if necessary to surround the given value.

Deprecated:
Use UnionWith() instead.

Definition at line 109 of file range3f.h.

void GfRange3f::ExtendBy ( const GfRange3f range)
inline

Modifies the range if necessary to surround the given range.

Deprecated:
Use UnionWith() instead.

Definition at line 113 of file range3f.h.

GF_API GfVec3f GfRange3f::GetCorner ( size_t  i) const

Returns the ith corner of the range, in the following order: LDB, RDB, LUB, RUB, LDF, RDF, LUF, RUF. Where L/R is left/right, D/U is down/up, and B/F is back/front.

GF_API double GfRange3f::GetDistanceSquared ( const GfVec3f p) const

Compute the squared distance from a point to the range.

static GfRange3f GfRange3f::GetIntersection ( const GfRange3f a,
const GfRange3f b 
)
inlinestatic

Returns a GfRange3f that describes the intersection of a and b.

Definition at line 195 of file range3f.h.

const GfVec3f& GfRange3f::GetMax ( ) const
inline

Returns the maximum value of the range.

Definition at line 83 of file range3f.h.

GfVec3f GfRange3f::GetMidpoint ( ) const
inline

Returns the midpoint of the range, that is, 0.5*(min+max). Note: this returns zero in the case of default-constructed ranges, or ranges set via SetEmpty().

Definition at line 91 of file range3f.h.

const GfVec3f& GfRange3f::GetMin ( ) const
inline

Returns the minimum value of the range.

Definition at line 80 of file range3f.h.

GF_API GfRange3f GfRange3f::GetOctant ( size_t  i) const

Returns the ith octant of the range, in the following order: LDB, RDB, LUB, RUB, LDF, RDF, LUF, RUF. Where L/R is left/right, D/U is down/up, and B/F is back/front.

GfVec3f GfRange3f::GetSize ( ) const
inline

Returns the size of the range.

Definition at line 86 of file range3f.h.

static GfRange3f GfRange3f::GetUnion ( const GfRange3f a,
const GfRange3f b 
)
inlinestatic

Returns the smallest GfRange3f which contains both a and b.

Definition at line 155 of file range3f.h.

static GfRange3f GfRange3f::Intersection ( const GfRange3f a,
const GfRange3f b 
)
inlinestatic

Returns a GfRange3f that describes the intersection of a and b.

Deprecated:
Use GetIntersection() instead.

Definition at line 204 of file range3f.h.

const GfRange3f& GfRange3f::Intersection ( const GfRange3f b)
inline

Modifies this range to hold its intersection with b and returns the result.

Deprecated:
Use IntersectWith() instead.

Definition at line 219 of file range3f.h.

const GfRange3f& GfRange3f::IntersectWith ( const GfRange3f b)
inline

Modifies this range to hold its intersection with b and returns the result

Definition at line 210 of file range3f.h.

bool GfRange3f::IsEmpty ( ) const
inline

Returns whether the range is empty (max < min).

Definition at line 103 of file range3f.h.

bool GfRange3f::IsInside ( const GfVec3f point) const
inline

Returns true if the point is located inside the range. As with all operations of this type, the range is assumed to include its extrema.

Deprecated:
Use Contains() instead.

Definition at line 133 of file range3f.h.

bool GfRange3f::IsInside ( const GfRange3f range) const
inline

Returns true if the range is located entirely inside the range. As with all operations of this type, the ranges are assumed to include their extrema.

Deprecated:
Use Contains() instead.

Definition at line 141 of file range3f.h.

bool GfRange3f::IsOutside ( const GfRange3f range) const
inline

Returns true if the range is located entirely outside the range. As with all operations of this type, the ranges are assumed to include their extrema.

Definition at line 148 of file range3f.h.

bool GfRange3f::operator!= ( const GfRange3f b) const
inline

Definition at line 295 of file range3f.h.

bool GfRange3f::operator!= ( const GfRange3d other) const
inline

Definition at line 360 of file range3f.h.

GfRange3f& GfRange3f::operator*= ( double  m)
inline

unary multiply.

Definition at line 238 of file range3f.h.

GfRange3f GfRange3f::operator+ ( const GfRange3f b) const
inline

binary sum.

Definition at line 256 of file range3f.h.

GfRange3f& GfRange3f::operator+= ( const GfRange3f b)
inline

unary sum.

Definition at line 224 of file range3f.h.

GfRange3f GfRange3f::operator- ( const GfRange3f b) const
inline

binary difference.

Definition at line 262 of file range3f.h.

GfRange3f& GfRange3f::operator-= ( const GfRange3f b)
inline

unary difference.

Definition at line 231 of file range3f.h.

GfRange3f& GfRange3f::operator/= ( double  m)
inline

unary division.

Definition at line 251 of file range3f.h.

bool GfRange3f::operator== ( const GfRange3f b) const
inline

The min and max points must match exactly for equality.

Definition at line 291 of file range3f.h.

PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE bool GfRange3f::operator== ( const GfRange3d other) const
inline

Compare this range to a GfRange3d.

The values must match exactly and it does exactly what you might expect when comparing float and double values.

Definition at line 354 of file range3f.h.

void GfRange3f::SetEmpty ( )
inline

Sets the range to an empty interval.

Definition at line 58 of file range3f.h.

void GfRange3f::SetMax ( const GfVec3f max)
inline

Sets the maximum value of the range.

Definition at line 100 of file range3f.h.

void GfRange3f::SetMin ( const GfVec3f min)
inline

Sets the minimum value of the range.

Definition at line 97 of file range3f.h.

static GfRange3f GfRange3f::Union ( const GfRange3f a,
const GfRange3f b 
)
inlinestatic

Returns the smallest GfRange3f which contains both a and b

Deprecated:
Use GetUnion() instead.

Definition at line 178 of file range3f.h.

const GfRange3f& GfRange3f::Union ( const GfRange3f b)
inline

Extend this to include b.

Deprecated:
Use UnionWith() instead.

Definition at line 184 of file range3f.h.

const GfRange3f& GfRange3f::Union ( const GfVec3f b)
inline

Extend this to include b.

Deprecated:
Use UnionWith() instead.

Definition at line 190 of file range3f.h.

const GfRange3f& GfRange3f::UnionWith ( const GfRange3f b)
inline

Extend this to include b.

Definition at line 163 of file range3f.h.

const GfRange3f& GfRange3f::UnionWith ( const GfVec3f b)
inline

Extend this to include b.

Definition at line 170 of file range3f.h.

Friends And Related Function Documentation

size_t hash_value ( const GfRange3f r)
friend

hash.

Definition at line 286 of file range3f.h.

GfRange3f operator* ( double  m,
const GfRange3f r 
)
friend

scalar multiply.

Definition at line 267 of file range3f.h.

GfRange3f operator* ( const GfRange3f r,
double  m 
)
friend

scalar multiply.

Definition at line 274 of file range3f.h.

GfRange3f operator/ ( const GfRange3f r,
double  m 
)
friend

scalar divide.

Definition at line 281 of file range3f.h.

Member Data Documentation

const size_t GfRange3f::dimension = GfVec3f::dimension
static

Definition at line 53 of file range3f.h.

GF_API const GfRange3f GfRange3f::UnitCube
static

The unit cube.

Definition at line 324 of file range3f.h.


The documentation for this class was generated from the following file: