SPATREF::COORDOP_ONEWAY Class Reference

Base for one-way coordinate operation implementation. More...

#include <mi32/coordop.h>

List of all members.

Public Types

enum  TYPE {
  TYPE_Undefined, TYPE_Identity, TYPE_Linear, TYPE_Single,
  TYPE_List
}

Public Member Functions

 COORDOP_ONEWAY ()
void AddRef () const
int Convert (DPOINT3DH *points, INT32 NumPoints, UINT8 *validity=0) const
int Convert (DPOINT3D *points, INT32 NumPoints, UINT8 *validity=0) const
int Convert (DPOINT2D *points, INT32 NumPoints, UINT8 *validity=0) const
ERRVALUE ConvertDense (const DPOINT3D *ipoints, INT32 NumPoints, double tolerance, COORDOP_TARGET &target) const
ERRVALUE ConvertDense (const DPOINT2D *ipoints, INT32 NumPoints, double tolerance, COORDOP_TARGET &target) const
const COORDREFSYSGetSourceCRS () const
const COORDREFSYSGetTargetCRS () const
TYPE GetType () const
bool GetValidExtents2D (DRECT2D &extents) const
bool GetValidExtents3D (DRECT3D &extents) const
bool IsLocked () const
void Release ()

Static Public Member Functions

static COORDOP_ONEWAYCombine (const COORDOP_ONEWAY &first, const COORDOP_ONEWAY &second)

Protected Member Functions

 COORDOP_ONEWAY (const COORDOP_ONEWAY &rhs)
 COORDOP_ONEWAY (TYPE type)
virtual ~COORDOP_ONEWAY ()
bool GetDisableRangeCheck () const
void SetDisableRangeCheck (bool DisableRangeCheck)
void SetLocked (bool IsLocked)
void SetSourceCRS (const COORDREFSYS &SourceCRS)
void SetTargetCRS (const COORDREFSYS &TargetCRS)

Private Member Functions

virtual COORDOP_ONEWAYv_CombineWithNext (const COORDOP_ONEWAY &next) const
virtual COORDOP_ONEWAYv_CombineWithPrevious (const COORDOP_ONEWAY &previous) const
virtual ERRVALUE v_Convert (DPOINT3DH *points, INT32 NumPoints, UINT8 *validity) const
virtual ERRVALUE v_Convert (DPOINT3D *points, INT32 NumPoints, UINT8 *validity) const
virtual ERRVALUE v_Convert (DPOINT2D *points, INT32 NumPoints, UINT8 *validity) const
virtual bool v_GetValidExtents2D (DRECT2D &extents) const
virtual bool v_GetValidExtents3D (DRECT3D &extents) const

Detailed Description

Base for one-way coordinate operation implementation.


Member Enumeration Documentation

Enumerator:
TYPE_Undefined 
TYPE_Identity 
TYPE_Linear 
TYPE_Single 
TYPE_List 

Constructor & Destructor Documentation

SPATREF::COORDOP_ONEWAY::COORDOP_ONEWAY (  ) 

Default constructor, creates "undefined" operation.

SPATREF::COORDOP_ONEWAY::COORDOP_ONEWAY ( TYPE  type  )  [explicit, protected]

Common constructor.

virtual SPATREF::COORDOP_ONEWAY::~COORDOP_ONEWAY (  )  [protected, virtual]

Destructor.

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

Copy constructor.


Member Function Documentation

void SPATREF::COORDOP_ONEWAY::AddRef (  )  const [inline]
static COORDOP_ONEWAY* SPATREF::COORDOP_ONEWAY::Combine ( const COORDOP_ONEWAY first,
const COORDOP_ONEWAY second 
) [static]

Attempt to combine pair of operations.

Returns:
Pointer to combined operation or NULL if can't combine. Caller must use Release on returned pointer if non-NULL.
int SPATREF::COORDOP_ONEWAY::Convert ( DPOINT3DH points,
INT32  NumPoints,
UINT8 validity = 0 
) const [inline]

Perform operation on DPOINT3DH array.

Returns:
TRUE (1) if all points successful, FALSE(0) if any point invalid, < 0 if error. If a "validity" array is specified it must initially contain nonzero values for every valid point. On return it will contain 0 for points that could not be completely transformed. An error will be returned no validity array is specified or if all points fail. Points which are initially valid may be altered even if the transformation fails.
Parameters:
points Point array passed/returned
NumPoints Number of points to convert
validity Validity array returned, if NULL will return error if any point cannot be converted
int SPATREF::COORDOP_ONEWAY::Convert ( DPOINT3D points,
INT32  NumPoints,
UINT8 validity = 0 
) const [inline]

Perform operation on DPOINT3D array.

Returns:
TRUE (1) if all points successful, FALSE(0) if any point invalid, < 0 if error. If a "validity" array is specified it must initially contain nonzero values for every valid point. On return it will contain 0 for points that could not be completely transformed. An error will be returned no validity array is specified or if all points fail. Points which are initially valid may be altered even if the transformation fails.
Parameters:
points Point array passed/returned
NumPoints Number of points to convert
validity Validity array returned, if NULL will return error if any point cannot be converted
int SPATREF::COORDOP_ONEWAY::Convert ( DPOINT2D points,
INT32  NumPoints,
UINT8 validity = 0 
) const [inline]

Perform operation on DPOINT2D array.

Returns:
TRUE (1) if all points successful, FALSE(0) if any point invalid, < 0 if error. If a "validity" array is specified it must initially contain nonzero values for every valid point. On return it will contain 0 for points that could not be completely transformed. An error will be returned no validity array is specified or if all points fail. Points which are initially valid may be altered even if the transformation fails.
Parameters:
points Point array passed/returned
NumPoints Number of points to convert
validity Validity array passed/returned, if NULL will return error if any point cannot be converted
ERRVALUE SPATREF::COORDOP_ONEWAY::ConvertDense ( const DPOINT3D ipoints,
INT32  NumPoints,
double  tolerance,
COORDOP_TARGET target 
) const

Perform operation on DPOINT3D array with possible densification.

Parameters:
ipoints Input point array.
NumPoints Number of points
tolerance Densification tolerance in target coordinates
target Target for converted points
ERRVALUE SPATREF::COORDOP_ONEWAY::ConvertDense ( const DPOINT2D ipoints,
INT32  NumPoints,
double  tolerance,
COORDOP_TARGET target 
) const

Perform operation on DPOINT2D array with possible densification.

Parameters:
ipoints Input point array.
NumPoints Number of points
tolerance Densification tolerance in target coordinates
target Target for converted points
bool SPATREF::COORDOP_ONEWAY::GetDisableRangeCheck (  )  const [inline, protected]

Get whether range check is disabled.

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

Get source coordinate reference system.

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

Get target coordinate reference system.

TYPE SPATREF::COORDOP_ONEWAY::GetType (  )  const [inline]

Get operation type.

bool SPATREF::COORDOP_ONEWAY::GetValidExtents2D ( DRECT2D extents  )  const [inline]

Get valid input coordinate extents as DRECT2D.

Returns:
true if extents are exact, false if approximate.
Parameters:
extents Extents returned
bool SPATREF::COORDOP_ONEWAY::GetValidExtents3D ( DRECT3D extents  )  const [inline]

Get valid input coordinate extents as DRECT3D.

Returns:
true if extents are exact, false if approximate.
Parameters:
extents Extents returned
bool SPATREF::COORDOP_ONEWAY::IsLocked (  )  const [inline]

Determine whether operation is considered "locked" against further changes.

void SPATREF::COORDOP_ONEWAY::Release (  ) 

Release reference, destroying if last one.

void SPATREF::COORDOP_ONEWAY::SetDisableRangeCheck ( bool  DisableRangeCheck  )  [inline, protected]

Set whether range check is disabled.

void SPATREF::COORDOP_ONEWAY::SetLocked ( bool  IsLocked  )  [inline, protected]

Set whether operation is considered to be "locked" against further changes.

Operations are constructed as locked by default.

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

Set source coordinate reference system.

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

Set target coordinate reference system.

virtual COORDOP_ONEWAY* SPATREF::COORDOP_ONEWAY::v_CombineWithNext ( const COORDOP_ONEWAY next  )  const [private, virtual]

Attempt to combine with specified next operation.

Returns:
Pointer to combined operation or NULL if can't combine. Default implementation returns NULL. Simple combinations with "identity" or matching CRS are automatically handled by caller and do not need to be checked for.
virtual COORDOP_ONEWAY* SPATREF::COORDOP_ONEWAY::v_CombineWithPrevious ( const COORDOP_ONEWAY previous  )  const [private, virtual]

Attempt to combine with specified previous operation.

Returns:
Pointer to combined operation or NULL if can't combine. Default implementation returns NULL. Simple combinations with "identity" or matching CRS are automatically handled by caller and do not need to be checked for.
virtual ERRVALUE SPATREF::COORDOP_ONEWAY::v_Convert ( DPOINT3DH points,
INT32  NumPoints,
UINT8 validity 
) const [private, virtual]

Perform operation on DPOINT3DH array.

Default implementation returns EProgramError, indicating operation not supported.

virtual ERRVALUE SPATREF::COORDOP_ONEWAY::v_Convert ( DPOINT3D points,
INT32  NumPoints,
UINT8 validity 
) const [private, virtual]

Perform operation on DPOINT3D array.

Default implementation returns EProgramError, indicating operation not supported.

virtual ERRVALUE SPATREF::COORDOP_ONEWAY::v_Convert ( DPOINT2D points,
INT32  NumPoints,
UINT8 validity 
) const [private, virtual]

Perform operation on DPOINT2D array.

Default implementation returns EProgramError, indicating operation not supported.

virtual bool SPATREF::COORDOP_ONEWAY::v_GetValidExtents2D ( DRECT2D extents  )  const [private, virtual]

Get valid input coordinate extents as DRECT2D.

Returns:
true if extents are exact, false if approximate. Default implementation returns false with rectangle encompassing approximately entire double-precision range.
virtual bool SPATREF::COORDOP_ONEWAY::v_GetValidExtents3D ( DRECT3D extents  )  const [private, virtual]

Get valid input coordinate extents as DRECT3D.

Returns:
true if extents are exact, false if approximate. Default implementation returns false with rectangle encompassing approximately entire double-precision range.

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

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