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

Basic type: 1-dimensional floating point range. More...

Public Types

typedef double MinMaxType
 Helper typedef. More...
 
typedef MinMaxType ScalarType
 

Public Member Functions

void SetEmpty ()
 Sets the range to an empty interval. More...
 
 GfRange1d ()
 The default constructor creates an empty range. More...
 
 GfRange1d (double min, double max)
 This constructor initializes the minimum and maximum points. More...
 
double GetMin () const
 Returns the minimum value of the range. More...
 
double GetMax () const
 Returns the maximum value of the range. More...
 
double GetSize () const
 Returns the size of the range. More...
 
double GetMidpoint () const
 Returns the midpoint of the range, that is, 0.5*(min+max). More...
 
void SetMin (double min)
 Sets the minimum value of the range. More...
 
void SetMax (double max)
 Sets the maximum value of the range. More...
 
bool IsEmpty () const
 Returns whether the range is empty (max < min). More...
 
void ExtendBy (double point)
 Modifies the range if necessary to surround the given value. More...
 
void ExtendBy (const GfRange1d &range)
 Modifies the range if necessary to surround the given range. More...
 
bool Contains (double point) const
 Returns true if the point is located inside the range. More...
 
bool Contains (const GfRange1d &range) const
 Returns true if the range is located entirely inside the range. More...
 
bool IsInside (double point) const
 Returns true if the point is located inside the range. More...
 
bool IsInside (const GfRange1d &range) const
 Returns true if the range is located entirely inside the range. More...
 
bool IsOutside (const GfRange1d &range) const
 Returns true if the range is located entirely outside the range. More...
 
const GfRange1dUnionWith (const GfRange1d &b)
 Extend this to include b. More...
 
const GfRange1dUnionWith (double b)
 Extend this to include b. More...
 
const GfRange1dUnion (const GfRange1d &b)
 Extend this to include b. More...
 
const GfRange1dUnion (double b)
 Extend this to include b. More...
 
const GfRange1dIntersectWith (const GfRange1d &b)
 Modifies this range to hold its intersection with b and returns the result. More...
 
const GfRange1dIntersection (const GfRange1d &b)
 Modifies this range to hold its intersection with b and returns the result. More...
 
GfRange1d operator+= (const GfRange1d &b)
 unary sum. More...
 
GfRange1d operator-= (const GfRange1d &b)
 unary difference. More...
 
GfRange1d operator*= (double m)
 unary multiply. More...
 
GfRange1d operator/= (double m)
 unary division. More...
 
GfRange1d operator+ (const GfRange1d &b) const
 binary sum. More...
 
GfRange1d operator- (const GfRange1d &b) const
 binary difference. More...
 
bool operator== (const GfRange1d &b) const
 The min and max points must match exactly for equality. More...
 
bool operator!= (const GfRange1d &b) const
 
GF_API bool operator== (const GfRange1f &other) const
 Compare this range to a GfRange1f. More...
 
GF_API bool operator!= (const GfRange1f &other) const
 
GF_API double GetDistanceSquared (double p) const
 Compute the squared distance from a point to the range. More...
 

Static Public Member Functions

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

Static Public Attributes

static const size_t dimension = 1
 

Friends

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

Detailed Description

Basic type: 1-dimensional floating point range.

This class represents a 1-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 62 of file range1d.h.

Member Typedef Documentation

typedef double MinMaxType

Helper typedef.

Definition at line 67 of file range1d.h.

Constructor & Destructor Documentation

GfRange1d ( )
inline

The default constructor creates an empty range.

Definition at line 80 of file range1d.h.

GfRange1d ( double  min,
double  max 
)
inline

This constructor initializes the minimum and maximum points.

Definition at line 85 of file range1d.h.

Member Function Documentation

bool Contains ( double  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 128 of file range1d.h.

bool Contains ( const GfRange1d 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 135 of file range1d.h.

void ExtendBy ( double  point)
inline

Modifies the range if necessary to surround the given value.

Deprecated:
Use UnionWith() instead.

Definition at line 120 of file range1d.h.

void ExtendBy ( const GfRange1d range)
inline

Modifies the range if necessary to surround the given range.

Deprecated:
Use UnionWith() instead.

Definition at line 124 of file range1d.h.

GF_API double GetDistanceSquared ( double  p) const

Compute the squared distance from a point to the range.

static GfRange1d GetIntersection ( const GfRange1d a,
const GfRange1d b 
)
inlinestatic

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

Definition at line 202 of file range1d.h.

double GetMax ( ) const
inline

Returns the maximum value of the range.

Definition at line 94 of file range1d.h.

double 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 102 of file range1d.h.

double GetMin ( ) const
inline

Returns the minimum value of the range.

Definition at line 91 of file range1d.h.

double GetSize ( ) const
inline

Returns the size of the range.

Definition at line 97 of file range1d.h.

static GfRange1d GetUnion ( const GfRange1d a,
const GfRange1d b 
)
inlinestatic

Returns the smallest GfRange1d which contains both a and b.

Definition at line 162 of file range1d.h.

static GfRange1d Intersection ( const GfRange1d a,
const GfRange1d b 
)
inlinestatic

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

Deprecated:
Use GetIntersection() instead.

Definition at line 211 of file range1d.h.

const GfRange1d& Intersection ( const GfRange1d b)
inline

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

Deprecated:
Use IntersectWith() instead.

Definition at line 226 of file range1d.h.

const GfRange1d& IntersectWith ( const GfRange1d b)
inline

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

Definition at line 217 of file range1d.h.

bool IsEmpty ( ) const
inline

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

Definition at line 114 of file range1d.h.

bool IsInside ( double  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 142 of file range1d.h.

bool IsInside ( const GfRange1d 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 150 of file range1d.h.

bool IsOutside ( const GfRange1d 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 157 of file range1d.h.

GfRange1d operator*= ( double  m)
inline

unary multiply.

Definition at line 245 of file range1d.h.

GfRange1d operator+ ( const GfRange1d b) const
inline

binary sum.

Definition at line 263 of file range1d.h.

GfRange1d operator+= ( const GfRange1d b)
inline

unary sum.

Definition at line 231 of file range1d.h.

GfRange1d operator- ( const GfRange1d b) const
inline

binary difference.

Definition at line 269 of file range1d.h.

GfRange1d operator-= ( const GfRange1d b)
inline

unary difference.

Definition at line 238 of file range1d.h.

GfRange1d operator/= ( double  m)
inline

unary division.

Definition at line 258 of file range1d.h.

bool operator== ( const GfRange1d b) const
inline

The min and max points must match exactly for equality.

Definition at line 301 of file range1d.h.

bool operator== ( const GfRange1f other) const
inline

Compare this range to a GfRange1f.

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

Definition at line 345 of file range1d.h.

void SetEmpty ( )
inline

Sets the range to an empty interval.

Definition at line 74 of file range1d.h.

void SetMax ( double  max)
inline

Sets the maximum value of the range.

Definition at line 111 of file range1d.h.

void SetMin ( double  min)
inline

Sets the minimum value of the range.

Definition at line 108 of file range1d.h.

static GfRange1d Union ( const GfRange1d a,
const GfRange1d b 
)
inlinestatic

Returns the smallest GfRange1d which contains both a and b.

Deprecated:
Use GetUnion() instead.

Definition at line 185 of file range1d.h.

const GfRange1d& Union ( const GfRange1d b)
inline

Extend this to include b.

Deprecated:
Use UnionWith() instead.

Definition at line 191 of file range1d.h.

const GfRange1d& Union ( double  b)
inline

Extend this to include b.

Deprecated:
Use UnionWith() instead.

Definition at line 197 of file range1d.h.

const GfRange1d& UnionWith ( const GfRange1d b)
inline

Extend this to include b.

Definition at line 170 of file range1d.h.

const GfRange1d& UnionWith ( double  b)
inline

Extend this to include b.

Definition at line 177 of file range1d.h.

Friends And Related Function Documentation

size_t hash_value ( const GfRange1d r)
friend

hash.

Definition at line 293 of file range1d.h.

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

scalar multiply.

Definition at line 274 of file range1d.h.

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

scalar multiply.

Definition at line 281 of file range1d.h.

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

scalar divide.

Definition at line 288 of file range1d.h.


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