FDO API Reference Feature Data Objects
Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

FdoEnvelopeImpl Class Reference

#include <EnvelopeImpl.h>

Inherits FdoIEnvelope.

Inheritance diagram for FdoEnvelopeImpl:

[legend]
List of all members.

Detailed Description

The FdoEnvelopeImpl class is a default implementation of FdoIEnvelope. FdoEnvelopeImpl implements accessors from FdoIEnvelope, matching mutators, and simple data members. Assignment, exact equality operators, and utility methods are also provided.

Definition at line 34 of file EnvelopeImpl.h.


Public Member Functions

FDO_GEOM_API void Expand (FdoIEnvelope *envelope)
 Expands the envelope's extents to include another envelope.
FDO_GEOM_API void Expand (FdoIDirectPosition *position)
 Expands the envelope's extents to include a given position.
FDO_GEOM_API bool GetIsEmpty () const
 Indicates whether the envelope's extents are set.
FDO_GEOM_API double GetMaxX () const
 Gets the maximum X coordinate value.
FDO_GEOM_API double GetMaxY () const
 Gets the maximum Y coordinate value.
FDO_GEOM_API double GetMaxZ () const
 Gets the maximum Z coordinate value.
FDO_GEOM_API double GetMinX () const
 Gets the minimum X coordinate value.
FDO_GEOM_API double GetMinY () const
 Gets the minimum Y coordinate value.
FDO_GEOM_API double GetMinZ () const
 Gets the minimum Z coordinate value.
virtual FDO_GEOM_API const
double * 
GetOrdinates ()
 Gets the ordinates as an array.
FDO_GEOM_API bool operator== (FdoEnvelopeImpl &rhs) const
 Equality operator for FdoEnvelopeImpl.
FDO_GEOM_API void SetMaxX (double maxX)
 Sets the maximum X coordinate value.
FDO_GEOM_API void SetMaxY (double maxY)
 Sets the maximum Y coordinate value.
FDO_GEOM_API void SetMaxZ (double maxZ)
 Sets the maximum Z coordinate value.
FDO_GEOM_API void SetMinX (double minX)
 Sets the minimum X coordinate value.
FDO_GEOM_API void SetMinY (double minY)
 Sets the minimum Y coordinate value.
FDO_GEOM_API void SetMinZ (double minZ)
 Sets the minimum Z coordinate value.

Static Public Member Functions

FDO_GEOM_API FdoEnvelopeImplCreate (FdoInt32 dimensionType, double *ordinates)
 Constructs a FdoEnvelopeImpl object by copying from an array of ordinates.
FDO_GEOM_API FdoEnvelopeImplCreate (FdoIDirectPosition *lowerLeft, FdoIDirectPosition *upperRight)
 Constructs a FdoEnvelopeImpl object from two positions.
FDO_GEOM_API FdoEnvelopeImplCreate (FdoEnvelopeImpl &envelopeImpl)
 Constructs a copy of a FdoEnvelopeImpl.
FDO_GEOM_API FdoEnvelopeImplCreate (double minX, double minY, double minZ, double maxX, double maxY, double maxZ)
 Constructs a 3D FdoEnvelopeImpl object from X, Y and Z ordinates.
FDO_GEOM_API FdoEnvelopeImplCreate (double minX, double minY, double maxX, double maxY)
 Constructs a 2D FdoEnvelopeImpl object from X and Y ordinates.
FDO_GEOM_API FdoEnvelopeImplCreate ()
 Constructs a default instance of a FdoEnvelopeImpl object.

Protected Member Functions

void Dispose ()
 DOXYGEN-IGNORE
FDO_GEOM_API FdoEnvelopeImpl (FdoInt32 dimensionType, double *ordinates)
 Constructs a FdoEnvelopeImpl object by copying from an array of ordinates.
FDO_GEOM_API FdoEnvelopeImpl (FdoIDirectPosition *lowerLeft, FdoIDirectPosition *upperRight)
 Constructs a FdoEnvelopeImpl object from two positions.
FDO_GEOM_API FdoEnvelopeImpl (FdoEnvelopeImpl &envelopeImpl)
 Copy constructor for FdoEnvelopeImpl.
FDO_GEOM_API FdoEnvelopeImpl (double minX, double minY, double minZ, double maxX, double maxY, double maxZ)
 Constructs a 3D FdoEnvelopeImpl object from X, Y and Z ordinates.
FDO_GEOM_API FdoEnvelopeImpl (double minX, double minY, double maxX, double maxY)
 Constructs a 2D FdoEnvelopeImpl object from X and Y ordinates.
FDO_GEOM_API FdoEnvelopeImpl ()
 DOXYGEN-IGNORE Constructs a default instance of a FdoEnvelopeImpl object.
virtual ~FdoEnvelopeImpl ()
 Default destructor.

Protected Attributes

bool m_isEmpty
double m_maxX
double m_maxY
double m_maxZ
double m_minX
double m_minY
double m_minZ
double * m_ordinates

Constructor & Destructor Documentation

FDO_GEOM_API FdoEnvelopeImpl::FdoEnvelopeImpl  )  [protected]
 

DOXYGEN-IGNORE Constructs a default instance of a FdoEnvelopeImpl object.

Remarks:
Ordinate values default to numeric_limits<double>::quiet_NaN().
Returns:
Returns nothing

FDO_GEOM_API FdoEnvelopeImpl::FdoEnvelopeImpl double  minX,
double  minY,
double  maxX,
double  maxY
[protected]
 

Constructs a 2D FdoEnvelopeImpl object from X and Y ordinates.

Remarks:
Z ordinate value defaults to numeric_limits<double>::quiet_NaN().
Parameters:
minX Input Lower-left X ordinate
minY Input Lower-left Y ordinate
maxX Input Upper-right X ordinate
maxY Input Upper-right Y ordinate
Returns:
Returns nothing

FDO_GEOM_API FdoEnvelopeImpl::FdoEnvelopeImpl double  minX,
double  minY,
double  minZ,
double  maxX,
double  maxY,
double  maxZ
[protected]
 

Constructs a 3D FdoEnvelopeImpl object from X, Y and Z ordinates.

Parameters:
minX Input Lower-left X ordinate
minY Input Lower-left Y ordinate
minZ Input Lower-left, rear Z ordinate
maxX Input Upper-right X ordinate
maxY Input Upper-right Y ordinate
maxZ Input Upper-right, front Z ordinate
Returns:
Returns nothing

FDO_GEOM_API FdoEnvelopeImpl::FdoEnvelopeImpl FdoEnvelopeImpl envelopeImpl  )  [protected]
 

Copy constructor for FdoEnvelopeImpl.

Parameters:
envelopeImpl Input envelope to copy
Returns:
Returns nothing

FDO_GEOM_API FdoEnvelopeImpl::FdoEnvelopeImpl FdoIDirectPosition lowerLeft,
FdoIDirectPosition upperRight
[protected]
 

Constructs a FdoEnvelopeImpl object from two positions.

Parameters:
lowerLeft Input Lower-left position
upperRight Input Upper-right position
Returns:
Returns nothing

FDO_GEOM_API FdoEnvelopeImpl::FdoEnvelopeImpl FdoInt32  dimensionType,
double *  ordinates
[protected]
 

Constructs a FdoEnvelopeImpl object by copying from an array of ordinates.

Parameters:
dimensionType Input dimensionality of the ordinates (see FdoDimensionality)
ordinates Input ordinate array representing two positions
Returns:
Returns nothing

virtual FdoEnvelopeImpl::~FdoEnvelopeImpl  )  [protected, virtual]
 

Default destructor.

Returns:
Returns nothing

Member Function Documentation

FDO_GEOM_API FdoEnvelopeImpl* FdoEnvelopeImpl::Create FdoInt32  dimensionType,
double *  ordinates
[static]
 

Constructs a FdoEnvelopeImpl object by copying from an array of ordinates.

Parameters:
dimensionType Input dimensionality of the ordinates (see FdoDimensionality)
ordinates Input ordinate array representing two positions
Returns:
Returns nothing

FDO_GEOM_API FdoEnvelopeImpl* FdoEnvelopeImpl::Create FdoIDirectPosition lowerLeft,
FdoIDirectPosition upperRight
[static]
 

Constructs a FdoEnvelopeImpl object from two positions.

Parameters:
lowerLeft Input Lower-left position
upperRight Input Upper-right position
Returns:
Returns nothing

FDO_GEOM_API FdoEnvelopeImpl* FdoEnvelopeImpl::Create FdoEnvelopeImpl envelopeImpl  )  [static]
 

Constructs a copy of a FdoEnvelopeImpl.

Parameters:
envelopeImpl Input envelope to copy
Returns:
Returns nothing

FDO_GEOM_API FdoEnvelopeImpl* FdoEnvelopeImpl::Create double  minX,
double  minY,
double  minZ,
double  maxX,
double  maxY,
double  maxZ
[static]
 

Constructs a 3D FdoEnvelopeImpl object from X, Y and Z ordinates.

Parameters:
minX Input Lower-left X ordinate
minY Input Lower-left Y ordinate
minZ Input Lower-left, rear Z ordinate
maxX Input Upper-right X ordinate
maxY Input Upper-right Y ordinate
maxZ Input Upper-right, front Z ordinate
Returns:
Returns nothing

FDO_GEOM_API FdoEnvelopeImpl* FdoEnvelopeImpl::Create double  minX,
double  minY,
double  maxX,
double  maxY
[static]
 

Constructs a 2D FdoEnvelopeImpl object from X and Y ordinates.

Remarks:
Z ordinate value defaults to numeric_limits<double>::quiet_NaN().
Parameters:
minX Input Lower-left X ordinate
minY Input Lower-left Y ordinate
maxX Input Upper-right X ordinate
maxY Input Upper-right Y ordinate
Returns:
Returns nothing

FDO_GEOM_API FdoEnvelopeImpl* FdoEnvelopeImpl::Create  )  [static]
 

Constructs a default instance of a FdoEnvelopeImpl object.

Remarks:
Ordinate values default to numeric_limits<double>::quiet_NaN().
Returns:
Returns nothing

void FdoEnvelopeImpl::Dispose  )  [protected, virtual]
 

DOXYGEN-IGNORE

Implements FdoIDisposable.

FDO_GEOM_API void FdoEnvelopeImpl::Expand FdoIEnvelope envelope  ) 
 

Expands the envelope's extents to include another envelope.

Parameters:
envelope Input envelope to include in extent
Returns:
Returns nothing

FDO_GEOM_API void FdoEnvelopeImpl::Expand FdoIDirectPosition position  ) 
 

Expands the envelope's extents to include a given position.

Parameters:
position Input position to include in extent
Returns:
Returns nothing

FDO_GEOM_API bool FdoEnvelopeImpl::GetIsEmpty  )  const [virtual]
 

Indicates whether the envelope's extents are set.

Returns:
Returns 'true' if none of the X, Y and Z extents have been set; 'false' otherwise

Implements FdoIEnvelope.

FDO_GEOM_API double FdoEnvelopeImpl::GetMaxX  )  const [virtual]
 

Gets the maximum X coordinate value.

Returns:
Returns the maximum X ordinate; numeric_limits<double>::quiet_NaN() by default

Implements FdoIEnvelope.

FDO_GEOM_API double FdoEnvelopeImpl::GetMaxY  )  const [virtual]
 

Gets the maximum Y coordinate value.

Returns:
Returns the maximum Y ordinate; numeric_limits<double>::quiet_NaN() by default

Implements FdoIEnvelope.

FDO_GEOM_API double FdoEnvelopeImpl::GetMaxZ  )  const [virtual]
 

Gets the maximum Z coordinate value.

Returns:
Returns the maximum Z ordinate; numeric_limits<double>::quiet_NaN() by default

Implements FdoIEnvelope.

FDO_GEOM_API double FdoEnvelopeImpl::GetMinX  )  const [virtual]
 

Gets the minimum X coordinate value.

Returns:
Returns the minimum X ordinate; numeric_limits<double>::quiet_NaN() by default

Implements FdoIEnvelope.

FDO_GEOM_API double FdoEnvelopeImpl::GetMinY  )  const [virtual]
 

Gets the minimum Y coordinate value.

Returns:
Returns the minimum Y ordinate; numeric_limits<double>::quiet_NaN() by default

Implements FdoIEnvelope.

FDO_GEOM_API double FdoEnvelopeImpl::GetMinZ  )  const [virtual]
 

Gets the minimum Z coordinate value.

Returns:
Returns the minimum Z ordinate; numeric_limits<double>::quiet_NaN() by default

Implements FdoIEnvelope.

virtual FDO_GEOM_API const double* FdoEnvelopeImpl::GetOrdinates  )  [virtual]
 

Gets the ordinates as an array.

Remarks:
The caller must not free the returned array. The ordinates are in the order XYZM, with only those present according to the dimensionality.
Returns:
Returns the ordinates

Implements FdoIEnvelope.

FDO_GEOM_API bool FdoEnvelopeImpl::operator== FdoEnvelopeImpl rhs  )  const
 

Equality operator for FdoEnvelopeImpl.

Parameters:
rhs Input envelope for comparison (right-hand-side of equation)
Returns:
Returns true if all non-NaN ordinates exactly equal. All NaN values compare as equal to each other.

FDO_GEOM_API void FdoEnvelopeImpl::SetMaxX double  maxX  ) 
 

Sets the maximum X coordinate value.

Parameters:
maxX Input Upper-right X ordinate
Returns:
Returns nothing

FDO_GEOM_API void FdoEnvelopeImpl::SetMaxY double  maxY  ) 
 

Sets the maximum Y coordinate value.

Parameters:
maxY Input Upper-right Y ordinate
Returns:
Returns nothing

FDO_GEOM_API void FdoEnvelopeImpl::SetMaxZ double  maxZ  ) 
 

Sets the maximum Z coordinate value.

Parameters:
maxZ Input Upper-right, front Z ordinate
Returns:
Returns nothing

FDO_GEOM_API void FdoEnvelopeImpl::SetMinX double  minX  ) 
 

Sets the minimum X coordinate value.

Parameters:
minX Input Lower-left X ordinate
Returns:
Returns nothing

FDO_GEOM_API void FdoEnvelopeImpl::SetMinY double  minY  ) 
 

Sets the minimum Y coordinate value.

Parameters:
minY Input Lower-left Y ordinate
Returns:
Returns nothing

FDO_GEOM_API void FdoEnvelopeImpl::SetMinZ double  minZ  ) 
 

Sets the minimum Z coordinate value.

Parameters:
minZ Input Lower-left, rear Z ordinate
Returns:
Returns nothing

Member Data Documentation

bool FdoEnvelopeImpl::m_isEmpty [protected]
 

Definition at line 412 of file EnvelopeImpl.h.

double FdoEnvelopeImpl::m_maxX [protected]
 

Definition at line 409 of file EnvelopeImpl.h.

double FdoEnvelopeImpl::m_maxY [protected]
 

Definition at line 410 of file EnvelopeImpl.h.

double FdoEnvelopeImpl::m_maxZ [protected]
 

Definition at line 411 of file EnvelopeImpl.h.

double FdoEnvelopeImpl::m_minX [protected]
 

Definition at line 406 of file EnvelopeImpl.h.

double FdoEnvelopeImpl::m_minY [protected]
 

Definition at line 407 of file EnvelopeImpl.h.

double FdoEnvelopeImpl::m_minZ [protected]
 

Definition at line 408 of file EnvelopeImpl.h.

double* FdoEnvelopeImpl::m_ordinates [protected]
 

The following is just to retain ownership of the ordinate array in case GetOrdinates() is called. An alternative implementation might optimise for GetOrdinates() by always using "double m_ordinates[4]" instead of the individual ordinate members above.

Definition at line 418 of file EnvelopeImpl.h.


The documentation for this class was generated from the following file:
Comments or suggestions? Send us feedback.