SPATREF::COORDOP_IMPL Class Reference

Base for coordinate operation implementation. More...

#include <mi32/coordop.h>

List of all members.

Classes

class  LINEAR

Public Member Functions

virtual ~COORDOP_IMPL ()
void AddRef ()
int ComputeLinearApproximation (COORDOP_DIRECTION direction, const REGION2D &region, double tolerance, LINEAR &Linear) const
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 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 ConvertReverseDense (INT32 NumPoints, int NumDim, const double *ipoint, double tolerance, COORDOP_TARGET &target) const
const LINEARGetLinear () const
const COORDREFSYSGetSourceCRS () const
const COORDREFSYSGetTargetCRS () const
bool HasForward () const
bool HasReverse () const
bool IsBidirectional () const
bool IsLinear () const
void Release ()

Protected Types

enum  TYPE { TYPE_Identity, TYPE_Single, TYPE_List }

Protected Member Functions

 COORDOP_IMPL (const COORDOP_IMPL &rhs)
 COORDOP_IMPL (TYPE type, bool IsLinear=false)
bool GetDisableRangeCheck () const
TYPE GetType () const
void SetDisableRangeCheck (bool DisableRangeCheck)
void SetLinear (const LINEAR &Linear)
void SetNonLinear ()
void SetSourceCRS (const COORDREFSYS &SourceCRS)
void SetTargetCRS (const COORDREFSYS &TargetCRS)
void SetValidDirections (bool hasForward, bool hasReverse)

Private Member Functions

virtual ERRVALUE v_ConvertForward (const DPOINT3DH *ipoints, DPOINT3DH *opoints, INT32 NumPoints) const =0
virtual ERRVALUE v_ConvertForward (const DPOINT3D *ipoints, DPOINT3D *opoints, INT32 NumPoints) const =0
virtual ERRVALUE v_ConvertForward (const DPOINT2D *ipoints, DPOINT2D *opoints, INT32 NumPoints) const =0
virtual ERRVALUE v_ConvertReverse (const DPOINT3DH *ipoints, DPOINT3DH *opoints, INT32 NumPoints) const =0
virtual ERRVALUE v_ConvertReverse (const DPOINT3D *ipoints, DPOINT3D *opoints, INT32 NumPoints) const =0
virtual ERRVALUE v_ConvertReverse (const DPOINT2D *ipoints, DPOINT2D *opoints, INT32 NumPoints) const =0
virtual COORDOP_IMPLv_Copy () const =0
virtual void v_Reverse ()=0

Detailed Description

Base for coordinate operation implementation.


Member Enumeration Documentation

enum SPATREF::COORDOP_IMPL::TYPE [protected]
Enumerator:
TYPE_Identity 
TYPE_Single 
TYPE_List 

Constructor & Destructor Documentation

virtual SPATREF::COORDOP_IMPL::~COORDOP_IMPL (  )  [virtual]

Destructor.

SPATREF::COORDOP_IMPL::COORDOP_IMPL ( TYPE  type,
bool  IsLinear = false 
) [explicit, protected]

Default constructor.

SPATREF::COORDOP_IMPL::COORDOP_IMPL ( const COORDOP_IMPL rhs  )  [protected]

Copy constructor.


Member Function Documentation

void SPATREF::COORDOP_IMPL::AddRef (  )  [inline]
int SPATREF::COORDOP_IMPL::ComputeLinearApproximation ( COORDOP_DIRECTION  direction,
const REGION2D region,
double  tolerance,
LINEAR Linear 
) const

Compute approximated linear transformation if within specified tolerance.

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

Returns:
TRUE if approximation valid, FALSE if not, < 0 if error
Parameters:
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
Linear Linear approximation returned if available
ERRVALUE SPATREF::COORDOP_IMPL::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_IMPL::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_IMPL::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_IMPL::ConvertForwardDense ( INT32  NumPoints,
int  NumDim,
const double *  ipoint,
double  tolerance,
COORDOP_TARGET target 
) const

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_IMPL::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_IMPL::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_IMPL::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_IMPL::ConvertReverseDense ( INT32  NumPoints,
int  NumDim,
const double *  ipoint,
double  tolerance,
COORDOP_TARGET target 
) const

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
bool SPATREF::COORDOP_IMPL::GetDisableRangeCheck (  )  const [inline, protected]
const LINEAR& SPATREF::COORDOP_IMPL::GetLinear (  )  const [inline]

Get linear implementation if operation is linear.

const COORDREFSYS& SPATREF::COORDOP_IMPL::GetSourceCRS (  )  const [inline]

Get source coordinate reference system description.

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

Get target coordinate reference system description.

TYPE SPATREF::COORDOP_IMPL::GetType (  )  const [inline, protected]

Get operation type.

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

Determine if forward operation is supported.

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

Determine if reverse operation is supported.

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

Determine if both forward and reverse operations are supported.

bool SPATREF::COORDOP_IMPL::IsLinear (  )  const [inline]

Determine if operation is linear.

void SPATREF::COORDOP_IMPL::Release (  ) 
void SPATREF::COORDOP_IMPL::SetDisableRangeCheck ( bool  DisableRangeCheck  )  [inline, protected]
void SPATREF::COORDOP_IMPL::SetLinear ( const LINEAR Linear  )  [inline, protected]

Set to use specified linear implementation.

void SPATREF::COORDOP_IMPL::SetNonLinear (  )  [inline, protected]

Set operation to be nonlinear.

void SPATREF::COORDOP_IMPL::SetSourceCRS ( const COORDREFSYS SourceCRS  )  [inline, protected]

Set source coordinate reference system.

void SPATREF::COORDOP_IMPL::SetTargetCRS ( const COORDREFSYS TargetCRS  )  [inline, protected]

Set target coordinate reference system.

void SPATREF::COORDOP_IMPL::SetValidDirections ( bool  hasForward,
bool  hasReverse 
) [inline, protected]

Set valid directions.

virtual ERRVALUE SPATREF::COORDOP_IMPL::v_ConvertForward ( const DPOINT3DH ipoints,
DPOINT3DH opoints,
INT32  NumPoints 
) const [private, pure virtual]

Perform forward operation on DPOINT3DH array.

virtual ERRVALUE SPATREF::COORDOP_IMPL::v_ConvertForward ( const DPOINT3D ipoints,
DPOINT3D opoints,
INT32  NumPoints 
) const [private, pure virtual]

Perform forward operation on DPOINT3D array.

virtual ERRVALUE SPATREF::COORDOP_IMPL::v_ConvertForward ( const DPOINT2D ipoints,
DPOINT2D opoints,
INT32  NumPoints 
) const [private, pure virtual]

Perform forward operation on DPOINT2D array.

virtual ERRVALUE SPATREF::COORDOP_IMPL::v_ConvertReverse ( const DPOINT3DH ipoints,
DPOINT3DH opoints,
INT32  NumPoints 
) const [private, pure virtual]

Perform reverse operation on DPOINT3DH array.

virtual ERRVALUE SPATREF::COORDOP_IMPL::v_ConvertReverse ( const DPOINT3D ipoints,
DPOINT3D opoints,
INT32  NumPoints 
) const [private, pure virtual]

Perform reverse operation on DPOINT3D array.

virtual ERRVALUE SPATREF::COORDOP_IMPL::v_ConvertReverse ( const DPOINT2D ipoints,
DPOINT2D opoints,
INT32  NumPoints 
) const [private, pure virtual]

Perform reverse operation on DPOINT2D array.

virtual COORDOP_IMPL* SPATREF::COORDOP_IMPL::v_Copy (  )  const [private, pure virtual]

Construct copy of instance.

virtual void SPATREF::COORDOP_IMPL::v_Reverse (  )  [private, pure virtual]

Reverse operation direction.


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