SPATREF::COORDOP Class Reference

Coordinate Operation (conversion/transformation) service. More...

#include <mi32/coordop.h>

Inheritance diagram for SPATREF::COORDOP:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 COORDOP (const COORDOP &rhs)
 ~COORDOP ()
ERRVALUE ConvertForward (const DPOINT3DH *ipoints, DPOINT3DH *opoints, INT32 NumPoints) const
ERRVALUE ConvertForward (const DPOINT3D *ipoints, DPOINT3D *opoints, INT32 NumPoints) const
ERRVALUE ConvertForward (const DPOINT2D *ipoints, DPOINT2D *opoints, INT32 NumPoints) const
ERRVALUE ConvertForward (const DPOINT3DH &ipoint, DPOINT3DH &opoint) const
ERRVALUE ConvertForward (const DPOINT3D &ipoint, DPOINT3D &opoint) const
ERRVALUE ConvertForward (const DPOINT2D &ipoint, DPOINT2D &opoint) const
ERRVALUE ConvertForwardDense (INT32 NumPoints, int NumDim, const double *ipoint, double tolerance, COORDOP_TARGET &target) const
ERRVALUE ConvertReverse (const DPOINT3DH *ipoints, DPOINT3DH *opoints, INT32 NumPoints) const
ERRVALUE ConvertReverse (const DPOINT3D *ipoints, DPOINT3D *opoints, INT32 NumPoints) const
ERRVALUE ConvertReverse (const DPOINT2D *ipoints, DPOINT2D *opoints, INT32 NumPoints) const
ERRVALUE ConvertReverse (const DPOINT3DH &ipoint, DPOINT3DH &opoint) const
ERRVALUE ConvertReverse (const DPOINT3D &ipoint, DPOINT3D &opoint) const
ERRVALUE ConvertReverse (const DPOINT2D &ipoint, DPOINT2D &opoint) const
ERRVALUE ConvertReverseDense (INT32 NumPoints, int NumDim, const double *ipoint, double tolerance, COORDOP_TARGET &target) const
const COORDOP_IMPL::LINEARGetLinear () const
int GetLinearApproximation (COORDOP &CoordOp, COORDOP_DIRECTION direction, const REGION2D &region, double tolerance) const
const COORDREFSYSGetSourceCRS () const
const COORDREFSYSGetTargetCRS () const
bool HasForward () const
bool HasReverse () const
bool IsBidirectional () const
bool IsIdentity () const
bool IsLinear () const
bool IsList () const
COORDOPoperator= (const COORDOP &rhs)
void ReverseDirection ()

Detailed Description

Coordinate Operation (conversion/transformation) service.

Coordinate operatiosn instances are reference-counted so that assignment and list manipulation is efficient and requires no additional memory allocation.


Constructor & Destructor Documentation

SPATREF::COORDOP::COORDOP ( const COORDOP rhs  ) 

Copy constructor.

SPATREF::COORDOP::~COORDOP (  ) 

Destructor.


Member Function Documentation

ERRVALUE SPATREF::COORDOP::ConvertForward ( const DPOINT3DH ipoints,
DPOINT3DH opoints,
INT32  NumPoints 
) const [inline]

Perform forward operation on DPOINT3DH array.

Parameters:
ipoints Input point array
opoints Output point array
NumPoints Number of points to convert
ERRVALUE SPATREF::COORDOP::ConvertForward ( const DPOINT3D ipoints,
DPOINT3D opoints,
INT32  NumPoints 
) const [inline]

Perform forward operation on DPOINT3D array.

Parameters:
ipoints Input point array
opoints Output point array
NumPoints Number of points to convert
ERRVALUE SPATREF::COORDOP::ConvertForward ( const DPOINT2D ipoints,
DPOINT2D opoints,
INT32  NumPoints 
) const [inline]

Perform forward operation on DPOINT2D array.

Parameters:
ipoints Input point array
opoints Output point array
NumPoints Number of points to convert
ERRVALUE SPATREF::COORDOP::ConvertForward ( const DPOINT3DH ipoint,
DPOINT3DH opoint 
) const [inline]

Perform forward operation on DPOINT3DH.

Parameters:
ipoint Input point
opoint Output point
ERRVALUE SPATREF::COORDOP::ConvertForward ( const DPOINT3D ipoint,
DPOINT3D opoint 
) const [inline]

Perform forward operation on DPOINT3D.

Parameters:
ipoint Input point
opoint Output point
ERRVALUE SPATREF::COORDOP::ConvertForward ( const DPOINT2D ipoint,
DPOINT2D opoint 
) const [inline]

Perform forward operation on DPOINT2D.

Parameters:
ipoint Input point
opoint Output point
ERRVALUE SPATREF::COORDOP::ConvertForwardDense ( INT32  NumPoints,
int  NumDim,
const double *  ipoint,
double  tolerance,
COORDOP_TARGET target 
) const [inline]

Perform forward operation with possible densification.

Parameters:
NumPoints Number of points
NumDim Number of dimensions (usually 2, 3 or 4 (indicates homogeneous))
ipoint Input point array of specified dimension
tolerance Densification tolerance in target coordinates
target Target for converted points
ERRVALUE SPATREF::COORDOP::ConvertReverse ( const DPOINT3DH ipoints,
DPOINT3DH opoints,
INT32  NumPoints 
) const [inline]

Perform reverse operation on DPOINT3DH array.

Parameters:
ipoints Input point array
opoints Output point array
NumPoints Number of points to convert
ERRVALUE SPATREF::COORDOP::ConvertReverse ( const DPOINT3D ipoints,
DPOINT3D opoints,
INT32  NumPoints 
) const [inline]

Perform reverse operation on DPOINT3D array.

Parameters:
ipoints Input point array
opoints Output point array
NumPoints Number of points to convert
ERRVALUE SPATREF::COORDOP::ConvertReverse ( const DPOINT2D ipoints,
DPOINT2D opoints,
INT32  NumPoints 
) const [inline]

Perform reverse operation on DPOINT2D array.

Parameters:
ipoints Input point array
opoints Output point array
NumPoints Number of points to convert
ERRVALUE SPATREF::COORDOP::ConvertReverse ( const DPOINT3DH ipoint,
DPOINT3DH opoint 
) const [inline]

Perform reverse operation on DPOINT3DH.

Parameters:
ipoint Input point
opoint Output point
ERRVALUE SPATREF::COORDOP::ConvertReverse ( const DPOINT3D ipoint,
DPOINT3D opoint 
) const [inline]

Perform reverse operation on DPOINT3D.

Parameters:
ipoint Input point
opoint Output point
ERRVALUE SPATREF::COORDOP::ConvertReverse ( const DPOINT2D ipoint,
DPOINT2D opoint 
) const [inline]

Perform reverse operation on DPOINT2D.

Parameters:
ipoint Input point
opoint Output point
ERRVALUE SPATREF::COORDOP::ConvertReverseDense ( INT32  NumPoints,
int  NumDim,
const double *  ipoint,
double  tolerance,
COORDOP_TARGET target 
) const [inline]

Perform reverse operation with possible densification.

Parameters:
NumPoints Number of points
NumDim Number of dimensions (usually 2, 3 or 4 (indicates homogeneous))
ipoint Input point array of specified dimension
tolerance Densification tolerance in target coordinates
target Target for converted points
const COORDOP_IMPL::LINEAR& SPATREF::COORDOP::GetLinear (  )  const [inline]

Get linear implementation instance for subsequent fast inline conversion.

Note: If IsLinear() returns false then the returned LINEAR operation will not be valid.

int SPATREF::COORDOP::GetLinearApproximation ( COORDOP CoordOp,
COORDOP_DIRECTION  direction,
const REGION2D region,
double  tolerance 
) const

Attempt to get linear approximation to operation within specified tolerance.

Regardless of direction specified, any returned LINEAR operation will have the same direction as the operation instance itself.

Returns:
TRUE if returned operation is linear, FALSE if not, < 0 if error.
Parameters:
CoordOp Coordinate operation returned
direction Direction in which to perform approximation
region Region in 'input' CRS based on specified direction
tolerance Tolerance in 'output' CRS based on specified direction
const COORDREFSYS& SPATREF::COORDOP::GetSourceCRS (  )  const [inline]

Get source coordinate reference system description.

const COORDREFSYS& SPATREF::COORDOP::GetTargetCRS (  )  const [inline]

Get target coordinate reference system description.

bool SPATREF::COORDOP::HasForward (  )  const [inline]

Determine if forward operation is supported.

bool SPATREF::COORDOP::HasReverse (  )  const [inline]

Determine if reverse operation is supported.

bool SPATREF::COORDOP::IsBidirectional (  )  const [inline]

Determine if both forward and reverse operations are supported.

bool SPATREF::COORDOP::IsIdentity ( void   )  const [inline]
bool SPATREF::COORDOP::IsLinear (  )  const [inline]

Determine if linear transformation available.

bool SPATREF::COORDOP::IsList (  )  const [inline]

Determine if operation uses a list.

COORDOP& SPATREF::COORDOP::operator= ( const COORDOP rhs  ) 

Assignment.

Reimplemented in SPATREF::COORDOP_LIST.

void SPATREF::COORDOP::ReverseDirection (  ) 

Reverse direction of operation.


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

Generated on Sun Oct 7 21:40:25 2012 for TNTsdk 2012 by  doxygen 1.6.1