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

FdoDirectPositionImpl Class Reference

#include <DirectPositionImpl.h>

Inherits FdoIDirectPosition.

Inheritance diagram for FdoDirectPositionImpl:

[legend]
List of all members.

Detailed Description

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

Definition at line 35 of file DirectPositionImpl.h.


Public Member Functions

FDO_GEOM_API FdoInt32 GetDimensionality () const
 Gets the dimensionality of ordinates in this position.
FDO_GEOM_API double GetM () const
 Gets the M ordinate.
virtual FDO_GEOM_API const
double * 
GetOrdinates ()
 Gets the ordinates as an array.
FDO_GEOM_API double GetX () const
 Gets the X ordinate.
FDO_GEOM_API double GetY () const
 Gets the Y ordinate.
FDO_GEOM_API double GetZ () const
 Gets the Z ordinate.
FDO_GEOM_API FdoDirectPositionImploperator= (const FdoIDirectPosition &position)
 Assignment operator for FdoDirectPositionImpl from a FdoIDirectPosition, using public methods.
FDO_GEOM_API FdoDirectPositionImploperator= (const FdoDirectPositionImpl &position)
 Assignment operator for FdoDirectPositionImpl.
FDO_GEOM_API bool operator== (const FdoDirectPositionImpl &rhs) const
 Equality operator for FdoDirectPositionImpl.
FDO_GEOM_API void SetDimensionality (FdoInt32 dimensionality)
 Sets the dimensionality.
FDO_GEOM_API void SetM (double m)
 Sets the M ordinate.
FDO_GEOM_API void SetX (double x)
 Sets the X ordinate.
FDO_GEOM_API void SetY (double y)
 Sets the Y ordinate.
FDO_GEOM_API void SetZ (double z)
 Sets the Z ordinate.

Static Public Member Functions

FDO_GEOM_API FdoDirectPositionImplCreate (const FdoIDirectPosition *pos)
 Constructs a copy of a FdoDirectPositionImpl.
FDO_GEOM_API FdoDirectPositionImplCreate (const FdoDirectPositionImpl &position)
 Constructs a copy of a FdoDirectPositionImpl.
FDO_GEOM_API FdoDirectPositionImplCreate (FdoInt32 dimensionality, const double *ordinates)
 Constructs a FdoDirectPositionImpl object by copying from an ordinate array.
FDO_GEOM_API FdoDirectPositionImplCreate (double x, double y, double z, double m)
 Constructs a 4D FdoDirectPositionImpl object from X, Y, Z and M ordinates.
FDO_GEOM_API FdoDirectPositionImplCreate (double x, double y, double z)
 Constructs a 3D FdoDirectPositionImpl object from X, Y and Z ordinates.
FDO_GEOM_API FdoDirectPositionImplCreate (double x, double y)
 Constructs a 2D FdoDirectPositionImpl object from X and Y ordinates.
FDO_GEOM_API FdoDirectPositionImplCreate ()
 Constructs a default instance of a FdoDirectPositionImpl object.

Protected Member Functions

void Dispose ()
 DOXYGEN-IGNORE
FDO_GEOM_API FdoDirectPositionImpl (const FdoIDirectPosition *pos)
 Pseudo-copy constructor for FdoDirectPositionImpl.
FDO_GEOM_API FdoDirectPositionImpl (const FdoDirectPositionImpl &position)
 Copy constructor for FdoDirectPositionImpl.
FDO_GEOM_API FdoDirectPositionImpl (FdoInt32 dimensionality, const double *ordinates)
 Constructs a FdoDirectPositionImpl object by copying from an ordinate array.
FDO_GEOM_API FdoDirectPositionImpl (double x, double y, double z, double m)
 Constructs a 4D FdoDirectPositionImpl object from X, Y, Z and M ordinates.
FDO_GEOM_API FdoDirectPositionImpl (double x, double y, double z)
 Constructs a 3D FdoDirectPositionImpl object from X, Y and Z ordinates.
FDO_GEOM_API FdoDirectPositionImpl (double x, double y)
 Constructs a 2D FdoDirectPositionImpl object from X and Y ordinates.
FDO_GEOM_API FdoDirectPositionImpl ()
 Constructors Constructs a default instance of a FdoDirectPositionImpl object.
virtual FDO_GEOM_API ~FdoDirectPositionImpl ()
 Destructor Default destructor.

Protected Attributes

FdoInt32 m_dimensionality
double m_m
double * m_ordinates
double m_x
double m_y
double m_z

Constructor & Destructor Documentation

FDO_GEOM_API FdoDirectPositionImpl::FdoDirectPositionImpl  )  [protected]
 

Constructors Constructs a default instance of a FdoDirectPositionImpl object.

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

FDO_GEOM_API FdoDirectPositionImpl::FdoDirectPositionImpl double  x,
double  y
[protected]
 

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

Remarks:
Z and M ordinate values default to numeric_limits<double>::quiet_NaN(). Dimensionality is set to FdoDimensionality_XY.
Parameters:
x Input X ordinate value
y Input Y ordinate value
Returns:
Returns nothing

FDO_GEOM_API FdoDirectPositionImpl::FdoDirectPositionImpl double  x,
double  y,
double  z
[protected]
 

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

Remarks:
M ordinate value defaults to numeric_limits<double>::quiet_NaN(). Dimensionality is set to FdoDimensionality_XYZ.
Parameters:
x Input X ordinate value
y Input Y ordinate value
z Input Z ordinate value
Returns:
Returns nothing

FDO_GEOM_API FdoDirectPositionImpl::FdoDirectPositionImpl double  x,
double  y,
double  z,
double  m
[protected]
 

Constructs a 4D FdoDirectPositionImpl object from X, Y, Z and M ordinates.

Remarks:
Dimensionality is set to FdoDimensionality_XYZ|FdoDimensionality_M.
Parameters:
x Input X ordinate value
y Input Y ordinate value
z Input Z ordinate value
m Input M ordinate value
Returns:
Returns nothing

FDO_GEOM_API FdoDirectPositionImpl::FdoDirectPositionImpl FdoInt32  dimensionality,
const double *  ordinates
[protected]
 

Constructs a FdoDirectPositionImpl object by copying from an ordinate array.

Parameters:
dimensionality Input dimensionality of the ordinates (see FdoDimensionality)
ordinates Input ordinate array
Returns:
Returns a position

FDO_GEOM_API FdoDirectPositionImpl::FdoDirectPositionImpl const FdoDirectPositionImpl position  )  [protected]
 

Copy constructor for FdoDirectPositionImpl.

Parameters:
position Input position to copy
Returns:
Returns nothing

FDO_GEOM_API FdoDirectPositionImpl::FdoDirectPositionImpl const FdoIDirectPosition pos  )  [protected]
 

Pseudo-copy constructor for FdoDirectPositionImpl.

Remarks:
Copies position data using only public methods of FdoIDirectPosition, thus supporting conversion from any implementation of the interface.
Parameters:
pos Input position to copy
Returns:
Returns nothing

virtual FDO_GEOM_API FdoDirectPositionImpl::~FdoDirectPositionImpl  )  [protected, virtual]
 

Destructor Default destructor.

Returns:
Returns nothing

Member Function Documentation

FDO_GEOM_API FdoDirectPositionImpl* FdoDirectPositionImpl::Create const FdoIDirectPosition pos  )  [static]
 

Constructs a copy of a FdoDirectPositionImpl.

Remarks:
Copies position data using only public methods of FdoIDirectPosition, thus supporting conversion from any implementation of the interface.
Parameters:
pos Input position to copy
Returns:
Returns a position

FDO_GEOM_API FdoDirectPositionImpl* FdoDirectPositionImpl::Create const FdoDirectPositionImpl position  )  [static]
 

Constructs a copy of a FdoDirectPositionImpl.

Parameters:
position Input position to copy
Returns:
Returns a position

FDO_GEOM_API FdoDirectPositionImpl* FdoDirectPositionImpl::Create FdoInt32  dimensionality,
const double *  ordinates
[static]
 

Constructs a FdoDirectPositionImpl object by copying from an ordinate array.

Parameters:
dimensionality Input dimensionality of the ordinates (see FdoDimensionality)
ordinates Input ordinate array
Returns:
Returns a position

FDO_GEOM_API FdoDirectPositionImpl* FdoDirectPositionImpl::Create double  x,
double  y,
double  z,
double  m
[static]
 

Constructs a 4D FdoDirectPositionImpl object from X, Y, Z and M ordinates.

Remarks:
Dimensionality is set to FdoDimensionality_XY|FdoDimensionality_Z|FdoDimensionality_M.
Parameters:
x Input X ordinate value
y Input Y ordinate value
z Input Z ordinate value
m Input M ordinate value
Returns:
Returns a position

FDO_GEOM_API FdoDirectPositionImpl* FdoDirectPositionImpl::Create double  x,
double  y,
double  z
[static]
 

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

Remarks:
M ordinate value defaults to numeric_limits<double>::quiet_NaN(). Dimensionality is set to FdoDimensionality_XY|FdoDimensionality_Z.
Parameters:
x Input X ordinate value
y Input Y ordinate value
z Input Z ordinate value
Returns:
Returns a position

FDO_GEOM_API FdoDirectPositionImpl* FdoDirectPositionImpl::Create double  x,
double  y
[static]
 

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

Remarks:
Z and M ordinate values default to numeric_limits<double>::quiet_NaN(). Dimensionality is set to FdoDimensionality_XY.
Parameters:
x Input X ordinate value
y Input Y ordinate value
Returns:
Returns a position

FDO_GEOM_API FdoDirectPositionImpl* FdoDirectPositionImpl::Create  )  [static]
 

Constructs a default instance of a FdoDirectPositionImpl object.

Remarks:
Ordinate values default to numeric_limits<double>::quiet_NaN(). Dimensionality defaults to FdoDimensionality_XY.
Returns:
Returns a position

void FdoDirectPositionImpl::Dispose  )  [protected, virtual]
 

DOXYGEN-IGNORE

Implements FdoIDisposable.

FDO_GEOM_API FdoInt32 FdoDirectPositionImpl::GetDimensionality  )  const [virtual]
 

Gets the dimensionality of ordinates in this position.

Remarks:
Values are from the FdoDimensionality enumeration. A return type of "FdoInt32" is used instead of the enumeration, catering to typical use with bit masking.
Returns:
Returns the ordinate dimensionality

Implements FdoIDirectPosition.

FDO_GEOM_API double FdoDirectPositionImpl::GetM  )  const [virtual]
 

Gets the M ordinate.

Returns:
Returns the M ordinate; default is numeric_limits<double>::quiet_NaN()

Implements FdoIDirectPosition.

virtual FDO_GEOM_API const double* FdoDirectPositionImpl::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 FdoIDirectPosition.

FDO_GEOM_API double FdoDirectPositionImpl::GetX  )  const [virtual]
 

Gets the X ordinate.

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

Implements FdoIDirectPosition.

FDO_GEOM_API double FdoDirectPositionImpl::GetY  )  const [virtual]
 

Gets the Y ordinate.

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

Implements FdoIDirectPosition.

FDO_GEOM_API double FdoDirectPositionImpl::GetZ  )  const [virtual]
 

Gets the Z ordinate.

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

Implements FdoIDirectPosition.

FDO_GEOM_API FdoDirectPositionImpl& FdoDirectPositionImpl::operator= const FdoIDirectPosition position  ) 
 

Assignment operator for FdoDirectPositionImpl from a FdoIDirectPosition, using public methods.

Parameters:
position Input position to copy
Returns:
Returns a position

FDO_GEOM_API FdoDirectPositionImpl& FdoDirectPositionImpl::operator= const FdoDirectPositionImpl position  ) 
 

Assignment operator for FdoDirectPositionImpl.

Parameters:
position Input position to copy
Returns:
Returns a position

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

Equality operator for FdoDirectPositionImpl.

Parameters:
rhs Input position for comparison (right-hand-side of equation)
Returns:
Returns true if all ordinates and dimensionality are exactly equal.

FDO_GEOM_API void FdoDirectPositionImpl::SetDimensionality FdoInt32  dimensionality  ) 
 

Sets the dimensionality.

Remarks:
Use values (including bitwise combinations) from the FdoDimensionality enumeration.
Parameters:
dimensionality Input dimensionality value
Returns:
Returns nothing

FDO_GEOM_API void FdoDirectPositionImpl::SetM double  m  ) 
 

Sets the M ordinate.

Parameters:
m Input M ordinate value
Returns:
Returns nothing

FDO_GEOM_API void FdoDirectPositionImpl::SetX double  x  ) 
 

Sets the X ordinate.

Parameters:
x Input X ordinate value
Returns:
Returns nothing

FDO_GEOM_API void FdoDirectPositionImpl::SetY double  y  ) 
 

Sets the Y ordinate.

Parameters:
y Input Y ordinate value
Returns:
Returns nothing

FDO_GEOM_API void FdoDirectPositionImpl::SetZ double  z  ) 
 

Sets the Z ordinate.

Parameters:
z Input Z ordinate value
Returns:
Returns nothing

Member Data Documentation

FdoInt32 FdoDirectPositionImpl::m_dimensionality [protected]
 

Definition at line 427 of file DirectPositionImpl.h.

double FdoDirectPositionImpl::m_m [protected]
 

Definition at line 426 of file DirectPositionImpl.h.

double* FdoDirectPositionImpl::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 m_x, m_y, ... above.

Definition at line 433 of file DirectPositionImpl.h.

double FdoDirectPositionImpl::m_x [protected]
 

Definition at line 423 of file DirectPositionImpl.h.

double FdoDirectPositionImpl::m_y [protected]
 

Definition at line 424 of file DirectPositionImpl.h.

double FdoDirectPositionImpl::m_z [protected]
 

Definition at line 425 of file DirectPositionImpl.h.


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