transgen.h File Reference

<mi32/transgen.h> Function prototypes and macros for TransGen functions More...

#include <mi32/ctrlpt.h>
#include <mi32/pttriang.h>
#include <mi32/stddefns.h>

Include dependency graph for transgen.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace  SPATREF

Classes

struct  TRANSPARM

Defines

#define GEOMLIBEXPORT   MI_DLLIMPORT
#define TRANSDIR_Forward   0
#define TRANSDIR_Inverse   1
#define TRANSGENCOORD_External   0x00000004
#define TRANSGENCOORD_Input   0x00000001
#define TRANSGENCOORD_Map   0x00000008
#define TRANSGENCOORD_Output   0x00000002

Typedefs

typedef int(* TRANSFUNC )(void *, void *, int, int, void *)

Functions

int DisectGen2D (const DPOINT2D_OLD *point, double size, double *xscale, double *yscale, double *rotangle, double *shear, TRANSFUNC transfunc, void *transdata)
GEOMLIBEXPORT int DisectGen2D (const DPOINT2D *point, double size, double *xscale, double *yscale, double *rotangle, double *shearangle, TRANSFUNC transfunc, void *transfuncdata)
GEOMLIBEXPORT int TransGenConvPointFwd (const TRANSPARM *transparm, const DPOINT2D *ipoint, DPOINT2D *opoint)
GEOMLIBEXPORT int TransGenConvPointInputToMap (const TRANSPARM *transparm, const DPOINT2D *ipoint, DPOINT2D *opoint)
GEOMLIBEXPORT int TransGenConvPointInv (const TRANSPARM *transparm, const DPOINT2D *ipoint, DPOINT2D *opoint)
GEOMLIBEXPORT int TransGenConvPointMapToInput (const TRANSPARM *transparm, const DPOINT2D *ipoint, DPOINT2D *opoint)
GEOMLIBEXPORT int TransGenConvPointMapToMapFwd (const TRANSPARM *transparm, const DPOINT2D *ipoint, DPOINT2D *opoint)
GEOMLIBEXPORT int TransGenConvPointMapToMapInv (const TRANSPARM *transparm, const DPOINT2D *ipoint, DPOINT2D *opoint)
GEOMLIBEXPORT int TransGenConvPointMapToOutput (const TRANSPARM *transparm, const DPOINT2D *ipoint, DPOINT2D *opoint)
GEOMLIBEXPORT int TransGenConvPointOutputToMap (const TRANSPARM *transparm, const DPOINT2D *ipoint, DPOINT2D *opoint)
GEOMLIBEXPORT int TransGenConvPointSetFwd (const TRANSPARM *transparm, const double *ipoint, INT32 iNumPoints, int NumDim, double *opoint)
GEOMLIBEXPORT int TransGenConvPointSetInv (const TRANSPARM *transparm, const double *ipoint, INT32 iNumPoints, int NumDim, double *opoint)
INT32 TransGenConvPointsFwdDense (const TRANSPARM *transparm, const double *ipoints, INT32 iNumPoints, int NumDim, MIDOUBLEARRAY &opoints)
INT32 TransGenConvPointsInvDense (const TRANSPARM *transparm, const double *ipoints, INT32 iNumPoints, int NumDim, MIDOUBLEARRAY &opoints)
GEOMLIBEXPORT int TransGenConvRectFwd (const TRANSPARM *transparm, const DRECT2D *irect, DRECT2D *orect, int sidepoints)
GEOMLIBEXPORT int TransGenConvRectInv (const TRANSPARM *transparm, const DRECT2D *irect, DRECT2D *orect, int sidepoints)
GEOMLIBEXPORT int TransGenCopy (TRANSPARM *otp, const TRANSPARM *itp)
GEOMLIBEXPORT int TransGenCopyInputParms (TRANSPARM *dtransparm, const TRANSPARM *stransparm)
GEOMLIBEXPORT int TransGenCopyInputToOutput (TRANSPARM *dtransparm, const TRANSPARM *stransparm)
GEOMLIBEXPORT int TransGenCopyOutputParms (TRANSPARM *dtransparm, const TRANSPARM *stransparm)
GEOMLIBEXPORT int TransGenCopyOutputToInput (TRANSPARM *dtransparm, const TRANSPARM *stransparm)
GEOMLIBEXPORT int TransGenDisectFwd (const TRANSPARM *transparm, const DPOINT2D *point, double size, double *xscale, double *yscale, double *rotangle, double *shearangle)
GEOMLIBEXPORT int TransGenDisectInv (const TRANSPARM *transparm, const DPOINT2D *point, double size, double *xscale, double *yscale, double *rotangle, double *shearangle)
GEOMLIBEXPORT void TransGenFreeParm (TRANSPARM *transparm)
GEOMLIBEXPORT INT32 TransGenGetActiveTriangle (const TRANSPARM *tp, const bool input=true)
GEOMLIBEXPORT int TransGenGetAffine (const TRANSPARM *transparm, MAT3X3 ItoO, MAT3X3 OtoI)
GEOMLIBEXPORT int TransGenGetAffineLocal (const TRANSPARM *transparm, const DPOINT2D *point, double size, MAT3X3 ItoO, MAT3X3 OtoI, UINT32 flags)
GEOMLIBEXPORT const SPATREF::COORDREFSYSTransGenGetInputMapCoordRefSys (const TRANSPARM &transparm)
GEOMLIBEXPORT UINT16 TransGenGetInputModel (const TRANSPARM *tp)
GEOMLIBEXPORT int TransGenGetInputTransAffine (const TRANSPARM *transparm, MAT3X3 ItoO, MAT3X3 OtoI)
GEOMLIBEXPORT ERRVALUE TransGenGetInputTransCtrlPoint (TRANSPARM *transparm, CTRLPOINT3 **ctrlpoint)
GEOMLIBEXPORT bool TransGenGetNode2D (const TRANSPARM *tp, const INT32 node, DPOINT2D &point, const bool input=true, const bool map=true)
GEOMLIBEXPORT bool TransGenGetNode3D (const TRANSPARM *tp, const INT32 node, DPOINT3D &point, const bool input=true, const bool map=true)
GEOMLIBEXPORT const SPATREF::COORDREFSYSTransGenGetOutputMapCoordRefSys (const TRANSPARM &transparm)
GEOMLIBEXPORT UINT16 TransGenGetOutputModel (const TRANSPARM *tp)
GEOMLIBEXPORT int TransGenGetOutputTransAffine (const TRANSPARM *transparm, MAT3X3 ItoO, MAT3X3 OtoI)
GEOMLIBEXPORT ERRVALUE TransGenGetOutputTransCtrlPoint (TRANSPARM *transparm, CTRLPOINT3 **ctrlpoint)
GEOMLIBEXPORT PTTRIANGULATORTransGenGetTriangulator (const TRANSPARM *tp, const bool input=true)
GEOMLIBEXPORT int TransGenInit (TRANSPARM *transparm)
bool TransGenIsAffine (const TRANSPARM *transparm)
bool TransGenIsIdentity (const TRANSPARM *transparm)
bool TransGenIsInitialized (const TRANSPARM *transparm)
GEOMLIBEXPORT bool TransGenIsInputTransIdentity (const TRANSPARM *transparm)
GEOMLIBEXPORT bool TransGenIsOutputTransIdentity (const TRANSPARM *transparm)
bool TransGenIsReversible (const TRANSPARM *transparm)
GEOMLIBEXPORT void TransGenSetActiveTriangle (const TRANSPARM *tp, const INT32 triangle, const bool input=true)
GEOMLIBEXPORT int TransGenSetAffineApprox (TRANSPARM *transparm, const DRECT2D *rect, double tolerance, UINT32 flags)
GEOMLIBEXPORT void TransGenSetDoInsert (TRANSPARM *transparm, UINT8 doinsert)
GEOMLIBEXPORT void TransGenSetExtrapOutside (TRANSPARM *transparm, UINT8 extrapoutside)
GEOMLIBEXPORT int TransGenSetFullTransAffine (TRANSPARM *transparm, const MAT3X3 ItoO, const MAT3X3 OtoI)
GEOMLIBEXPORT ERRVALUE TransGenSetInputBound (TRANSPARM *transparm, const DRECT2D *boundrect)
GEOMLIBEXPORT void TransGenSetInputInsertMaxError (TRANSPARM *transparm, double MaxError)
GEOMLIBEXPORT ERRVALUE TransGenSetInputMapCoordRefSys (TRANSPARM &transparm, const SPATREF::COORDREFSYS &MapCRS)
GEOMLIBEXPORT int TransGenSetInputTransAffine (TRANSPARM *transparm, const MAT3X3 ItoM, const MAT3X3 MtoI)
GEOMLIBEXPORT ERRVALUE TransGenSetInputTransCtrlPoint (TRANSPARM *transparm, const CTRLPOINT3 *ctrlpoint, int NumPoints, UINT16 transmodel)
GEOMLIBEXPORT int TransGenSetInputTransIdentity (TRANSPARM *transparm)
GEOMLIBEXPORT void TransGenSetMaxInsertVertices (TRANSPARM *transparm, int MaxVertices)
GEOMLIBEXPORT ERRVALUE TransGenSetOutputBound (TRANSPARM *transparm, const DRECT2D *boundrect)
GEOMLIBEXPORT void TransGenSetOutputInsertMaxError (TRANSPARM *transparm, double MaxError)
GEOMLIBEXPORT ERRVALUE TransGenSetOutputMapCoordRefSys (TRANSPARM &transparm, const SPATREF::COORDREFSYS &MapCRS)
GEOMLIBEXPORT int TransGenSetOutputTransAffine (TRANSPARM *transparm, const MAT3X3 OtoM, const MAT3X3 MtoO)
GEOMLIBEXPORT ERRVALUE TransGenSetOutputTransCtrlPoint (TRANSPARM *transparm, const CTRLPOINT3 *ctrlpoint, int NumPoints, UINT16 transmodel)
GEOMLIBEXPORT int TransGenSetOutputTransIdentity (TRANSPARM *transparm)
GEOMLIBEXPORT void TransGenSetPrimaryDirection (TRANSPARM *transparm, UINT8 directions)
GEOMLIBEXPORT ERRVALUE TransGenTransFuncFwd (void *ipoint, void *opoint, int numpoints, int numdim, void *vtp)
GEOMLIBEXPORT ERRVALUE TransGenTransFuncInv (void *ipoint, void *opoint, int numpoints, int numdim, void *vtp)
GEOMLIBEXPORT ERRVALUE TransGenUpdate (TRANSPARM *transparm)
GEOMLIBEXPORT ERRVALUE TransGenUpdatePiecewise (const TRANSPARM *tp, const bool input=true)


Detailed Description

<mi32/transgen.h> Function prototypes and macros for TransGen functions

Definition in file transgen.h.


Define Documentation

#define GEOMLIBEXPORT   MI_DLLIMPORT
 

Definition at line 206 of file transgen.h.

#define TRANSDIR_Forward   0
 

Definition at line 257 of file transgen.h.

#define TRANSDIR_Inverse   1
 

Definition at line 258 of file transgen.h.

#define TRANSGENCOORD_External   0x00000004
 

Definition at line 263 of file transgen.h.

#define TRANSGENCOORD_Input   0x00000001
 

Definition at line 261 of file transgen.h.

#define TRANSGENCOORD_Map   0x00000008
 

Definition at line 264 of file transgen.h.

#define TRANSGENCOORD_Output   0x00000002
 

Definition at line 262 of file transgen.h.


Typedef Documentation

typedef int(* TRANSFUNC)(void *, void *, int, int, void *)
 

Definition at line 219 of file transgen.h.


Function Documentation

int DisectGen2D const DPOINT2D_OLD point,
double  size,
double *  xscale,
double *  yscale,
double *  rotangle,
double *  shear,
TRANSFUNC  transfunc,
void *  transdata
[inline]
 

Disect a transformation into component parts (scale, rotation, shear).

Parameters:
point  Point to compute values at
size  Size in source coordinates over which to compute (usually 1.0)
xscale  X scale at specified point returned
yscale  Y scale at specified point returned
rotangle  Rotation angle at specified point returned (radians)
shear  Shear angle at specified point returned (radians)
transfunc  Transformation function to "disect"
transdata  "userdata" for transfunc

Definition at line 872 of file transgen.h.

GEOMLIBEXPORT int DisectGen2D const DPOINT2D point,
double  size,
double *  xscale,
double *  yscale,
double *  rotangle,
double *  shearangle,
TRANSFUNC  transfunc,
void *  transfuncdata
 

Disect a transformation into component parts (scale, rotation, shear).

#include <mi32/geom2d.h> This function is used to compute the affine transformation parameters above at a given point for a general transformation function.

Parameters:
point  Point to compute values at
size  Size in source coodinates over which to compute (usually 1.0)
xscale  X scale at specified point returned
yscale  Y scale at specified point returned
rotangle  Rotation angle at specified point returned (radians)
shearangle  Shear angle at specified point returned (radians)
transfunc  Transformation function to "disect"
transfuncdata  "userdata' for transfunc

GEOMLIBEXPORT int TransGenConvPointFwd const TRANSPARM transparm,
const DPOINT2D ipoint,
DPOINT2D opoint
 

Transform single point from "input" to "output" coordinates.

Returns:
Error code < 0
Parameters:
transparm  Transformation parameter structure
ipoint  Input point
opoint  Converted point coordinates returned

GEOMLIBEXPORT int TransGenConvPointInputToMap const TRANSPARM transparm,
const DPOINT2D ipoint,
DPOINT2D opoint
 

Transform single point from "input" to map coordinates.

Returns:
Error code < 0
Parameters:
transparm  Transformation parameter structure
ipoint  Input point
opoint  Converted point coordinates returned

GEOMLIBEXPORT int TransGenConvPointInv const TRANSPARM transparm,
const DPOINT2D ipoint,
DPOINT2D opoint
 

Transform single point from "output" to "input" coordinates.

Returns:
Error code < 0
Parameters:
transparm  Transformation parameter structure
ipoint  Input point
opoint  Converted point coordinates returned

GEOMLIBEXPORT int TransGenConvPointMapToInput const TRANSPARM transparm,
const DPOINT2D ipoint,
DPOINT2D opoint
 

Transform single point from map to "input" coordinates.

Returns:
Error code < 0
Parameters:
transparm  Transformation parameter structure
ipoint  Input point
opoint  Converted point coordinates returned

GEOMLIBEXPORT int TransGenConvPointMapToMapFwd const TRANSPARM transparm,
const DPOINT2D ipoint,
DPOINT2D opoint
 

Transform single point from input map coordinates to output map coordinates.

Returns:
Error code < 0
Parameters:
transparm  Transformation parameter structure
ipoint  Input point
opoint  Converted point coordinates returned

GEOMLIBEXPORT int TransGenConvPointMapToMapInv const TRANSPARM transparm,
const DPOINT2D ipoint,
DPOINT2D opoint
 

Transform single point from output map coordinates to input map coordinates.

Returns:
Error code < 0
Parameters:
transparm  Transformation parameter structure
ipoint  Input point
opoint  Converted point coordinates returned

GEOMLIBEXPORT int TransGenConvPointMapToOutput const TRANSPARM transparm,
const DPOINT2D ipoint,
DPOINT2D opoint
 

Transform single point from map to "output" coordinates.

Returns:
Error code < 0
Parameters:
transparm  Transformation parameter structure
ipoint  Input point
opoint  Converted point coordinates returned

GEOMLIBEXPORT int TransGenConvPointOutputToMap const TRANSPARM transparm,
const DPOINT2D ipoint,
DPOINT2D opoint
 

Transform single point from "output" to map coordinates.

Returns:
Error code < 0
Parameters:
transparm  Transformation parameter structure
ipoint  Input point
opoint  Converted point coordinates returned

GEOMLIBEXPORT int TransGenConvPointSetFwd const TRANSPARM transparm,
const double *  ipoint,
INT32  iNumPoints,
int  NumDim,
double *  opoint
 

Transform N-dimensional point "set" from "input" to "output" coordinates.

Returns:
Error code < 0
Parameters:
transparm  Transformation parameter structure
ipoint  Input point array
iNumPoints  Number of input points
NumDim  Number of dimensions in point array (usually 2 or 3)
opoint  Output point array

GEOMLIBEXPORT int TransGenConvPointSetInv const TRANSPARM transparm,
const double *  ipoint,
INT32  iNumPoints,
int  NumDim,
double *  opoint
 

Transform N-dimensional point "set" from "output" to "input" coordinates.

Returns:
Error code < 0
Parameters:
transparm  Transformation parameter structure
ipoint  Input point array
iNumPoints  Number of input points
NumDim  Number of dimensions in point array (usually 2 or 3)
opoint  Output point array

INT32 TransGenConvPointsFwdDense const TRANSPARM transparm,
const double *  ipoints,
INT32  iNumPoints,
int  NumDim,
MIDOUBLEARRAY opoints
 

Transform N-dimensional point array from "input" to "output" coordinates with possible densification.

Returns:
Number of output points or error code < 0 Note: The number of output points may be different than iNumPoints, if you want to transform the points one-to-one use TransGenConvPointSetFwd().
Parameters:
transparm  Transformation parameter structure
ipoints  Input point array
iNumPoints  Number of input points
NumDim  Numer of dimensions
opoints  Array of output points returned

INT32 TransGenConvPointsInvDense const TRANSPARM transparm,
const double *  ipoints,
INT32  iNumPoints,
int  NumDim,
MIDOUBLEARRAY opoints
 

Transform N-dimensional point array from "output" to "input" coordinates with possible densification.

Returns:
Number of output points or error code < 0 Note: The number of output points may be different than iNumPoints, if you want to transform the points one-to-one use TransGenConvPointSetFwd().
Parameters:
transparm  Transformation parameter structure
ipoints  Input point array
iNumPoints  Number of input points
NumDim  Numer of dimensions
opoints  Array of output points returned

GEOMLIBEXPORT int TransGenConvRectFwd const TRANSPARM transparm,
const DRECT2D irect,
DRECT2D orect,
int  sidepoints
 

Transform rectangle (DRECT2D) from "input" to "output" coordinates.

Returns:
Error code < 0
Parameters:
transparm  Transformation parameter structure
irect  Input rectangle to be translated
orect  Output rectangle
sidepoints  Number of points per side of box if needed (0 for default)

GEOMLIBEXPORT int TransGenConvRectInv const TRANSPARM transparm,
const DRECT2D irect,
DRECT2D orect,
int  sidepoints
 

Transform rectangle (DRECT2D) from "output" to "input" coordinates.

Returns:
Error code < 0
Parameters:
transparm  Transformation parameter structure
irect  Input rectangle to be translated
orect  Output rectangle
sidepoints  Number of points per side of box if needed (0 for default)

GEOMLIBEXPORT int TransGenCopy TRANSPARM otp,
const TRANSPARM itp
 

Copy one TRANSPARM to another.

Returns:
Error code < 0
Parameters:
otp  Output transformation parameter structure
itp  Input transformation parameter structure

GEOMLIBEXPORT int TransGenCopyInputParms TRANSPARM dtransparm,
const TRANSPARM stransparm
 

Copy "input parameters" from on TRANSPARM structure to another.

Returns:
Error code < 0
Parameters:
dtransparm  Destination transformation parameters
stransparm  Source transformation parameters

GEOMLIBEXPORT int TransGenCopyInputToOutput TRANSPARM dtransparm,
const TRANSPARM stransparm
 

Copy "input parameters" from one TRANSPARM to "output parameters" of another.

Returns:
Error code < 0
Parameters:
dtransparm  Destination transformation parameters
stransparm  Source transformation parameters

GEOMLIBEXPORT int TransGenCopyOutputParms TRANSPARM dtransparm,
const TRANSPARM stransparm
 

Copy "output parameters" from one TRANSPARM to another.

Returns:
Error code < 0
Parameters:
dtransparm  Destination transformation parameters
stransparm  Source transformation parameters

GEOMLIBEXPORT int TransGenCopyOutputToInput TRANSPARM dtransparm,
const TRANSPARM stransparm
 

Copy "output parameters" from one TRANSPARM to "input parameters" of another.

Returns:
Error code < 0
Parameters:
dtransparm  Destination transformation parameters
stransparm  Source transformation parameters

GEOMLIBEXPORT int TransGenDisectFwd const TRANSPARM transparm,
const DPOINT2D point,
double  size,
double *  xscale,
double *  yscale,
double *  rotangle,
double *  shearangle
 

Determine scale/rotation/shear at specified point for forward transformation.

Returns:
Error code < 0
Parameters:
transparm  Transformation parameter structure
point  Reference point at which values will be computed (NULL for 0,0)
size  Size of area over which to compute values
xscale  X scale factor returned (NULL if don't need)
yscale  Y scale factor returned (NULL if don't need)
rotangle  Rotation angle returned in radians (NULL if don't need)
shearangle  Shear angle returned in radians (NULL if don't need)

GEOMLIBEXPORT int TransGenDisectInv const TRANSPARM transparm,
const DPOINT2D point,
double  size,
double *  xscale,
double *  yscale,
double *  rotangle,
double *  shearangle
 

Determine scale/rotation/shear at specified point for inverse transformation.

Returns:
Error code < 0
Parameters:
transparm  Transformation parameter structure
point  Reference point at which values will be computed (NULL for 0,0)
size  Size of area over which to compute values
xscale  X scale factor returned (NULL if don't need)
yscale  Y scale factor returned (NULL if don't need)
rotangle  Rotation angle returned in radians (NULL if don't need)
shearangle  Shear angle returned in radians (NULL if don't need)

GEOMLIBEXPORT void TransGenFreeParm TRANSPARM transparm  ) 
 

Free all allocated entried in the TRANSPARM structure.

Parameters:
transparm  Transformation parameter structure

GEOMLIBEXPORT INT32 TransGenGetActiveTriangle const TRANSPARM tp,
const bool  input = true
 

Get active triangle for piecewise transformation.

Returns:
index of active triangle

GEOMLIBEXPORT int TransGenGetAffine const TRANSPARM transparm,
MAT3X3  ItoO,
MAT3X3  OtoI
 

Get affine (Mat3x3) transformation if available.

Returns:
Error code < 0
Parameters:
transparm  Transformation parameter structure
ItoO  Input to output transformation returned (NULL if don't need)
OtoI  Output to input transformation returned (NULL if don't need)

GEOMLIBEXPORT int TransGenGetAffineLocal const TRANSPARM transparm,
const DPOINT2D point,
double  size,
MAT3X3  ItoO,
MAT3X3  OtoI,
UINT32  flags
 

Determine affine transformation at specified point.

return Error code < 0 The flags value determines if the specified point is in "input" or "output" coordinates.

Parameters:
transparm  Transformation parameter structure
point  Reference point at which values will be computed
size  Size of area over which to compute values
ItoO  Input to output transformation returned
OtoI  Output to input transformation returned
flags  TRANSGENCOORD_Input or TRANSGENCOORD_Output

GEOMLIBEXPORT const SPATREF::COORDREFSYS& TransGenGetInputMapCoordRefSys const TRANSPARM transparm  ) 
 

Get "input map" Coordinate Reference System.

Parameters:
transparm  Transformation parameter structure

GEOMLIBEXPORT UINT16 TransGenGetInputModel const TRANSPARM tp  ) 
 

Get input transformation model.

Returns:
Transformation model
Parameters:
tp  Transformation parameter structure

GEOMLIBEXPORT int TransGenGetInputTransAffine const TRANSPARM transparm,
MAT3X3  ItoO,
MAT3X3  OtoI
 

Get input object-map affine transformation if possible.

Returns:
Error code < 0 An error (EBadFuncParm) will be returned if the object-map transformation is not affine.
Parameters:
transparm  Transformation parameter structure
ItoO  Input to output transformation returned
OtoI  Output to input transformation returned

GEOMLIBEXPORT ERRVALUE TransGenGetInputTransCtrlPoint TRANSPARM transparm,
CTRLPOINT3 **  ctrlpoint
 

Get "input transformation" as control points if any.

Returns:
Error code < 0 or number of control points
Parameters:
transparm  Transformation parameter structure
ctrlpoint  Control point array

GEOMLIBEXPORT bool TransGenGetNode2D const TRANSPARM tp,
const INT32  node,
DPOINT2D point,
const bool  input = true,
const bool  map = true
 

Get DPOINT2D for given node for piecewise transformation.

Returns:
true if exist

GEOMLIBEXPORT bool TransGenGetNode3D const TRANSPARM tp,
const INT32  node,
DPOINT3D point,
const bool  input = true,
const bool  map = true
 

Get DPOINT3D for given node for piecewise transformation.

Returns:
true if exist

GEOMLIBEXPORT const SPATREF::COORDREFSYS& TransGenGetOutputMapCoordRefSys const TRANSPARM transparm  ) 
 

Get "output map" Coordinate Reference System.

Parameters:
transparm  Transformation parameter structure

GEOMLIBEXPORT UINT16 TransGenGetOutputModel const TRANSPARM tp  ) 
 

Get output transformation model.

Returns:
Transformation model
Parameters:
tp  Transformation parameter structure

GEOMLIBEXPORT int TransGenGetOutputTransAffine const TRANSPARM transparm,
MAT3X3  ItoO,
MAT3X3  OtoI
 

Get output object-map affine transformation if possible.

Returns:
Error code < 0 An error (EBadFuncParm) will be returned if the object-map transformation is not affine.
Parameters:
transparm  Transformation parameter structure
ItoO  Input to output transformation returned
OtoI  Output to input transformation returned

GEOMLIBEXPORT ERRVALUE TransGenGetOutputTransCtrlPoint TRANSPARM transparm,
CTRLPOINT3 **  ctrlpoint
 

Get "output transformation" as control points if any.

Returns:
Error code < 0 or number of control points
Parameters:
transparm  Transformation parameter structure
ctrlpoint  Control point array

GEOMLIBEXPORT PTTRIANGULATOR& TransGenGetTriangulator const TRANSPARM tp,
const bool  input = true
 

Get piecewise triangulator.

Returns:
piecewise triangulator

GEOMLIBEXPORT int TransGenInit TRANSPARM transparm  ) 
 

Initialize TRANSPARM structure.

Returns:
Error code < 0
Parameters:
transparm  Transformation parameter structure

bool TransGenIsAffine const TRANSPARM transparm  )  [inline]
 

Determine if transformation is "affine".

Returns:
TRUE if transformation is affine, FALSE if not
Parameters:
transparm  Transformation parameter structure

Definition at line 626 of file transgen.h.

bool TransGenIsIdentity const TRANSPARM transparm  )  [inline]
 

Determine if transformation is "identity".

Returns:
TRUE if transformation is identity, FALSE if not
Parameters:
transparm  Transformation parameter structure

Definition at line 635 of file transgen.h.

bool TransGenIsInitialized const TRANSPARM transparm  )  [inline]
 

Determine if transformation has been "initialized".

Returns:
TRUE if transformation has been initialized, FALSE if not
Parameters:
transparm  Transformation parameter structure

Definition at line 644 of file transgen.h.

GEOMLIBEXPORT bool TransGenIsInputTransIdentity const TRANSPARM transparm  ) 
 

Determine if 'input' transformation is 'identity'.

Parameters:
transparm  Transformation parameter structure

GEOMLIBEXPORT bool TransGenIsOutputTransIdentity const TRANSPARM transparm  ) 
 

Determine if 'output' transformation is 'identity'.

Parameters:
transparm  Transformation parameter structure

bool TransGenIsReversible const TRANSPARM transparm  )  [inline]
 

Determine if transformation is reversible.

Returns:
TRUE if transformation is reversible, FALSE if not
Parameters:
transparm  Transformation parameter structure

Definition at line 663 of file transgen.h.

GEOMLIBEXPORT void TransGenSetActiveTriangle const TRANSPARM tp,
const INT32  triangle,
const bool  input = true
 

Set active triangle for piecewise transformation.

GEOMLIBEXPORT int TransGenSetAffineApprox TRANSPARM transparm,
const DRECT2D rect,
double  tolerance,
UINT32  flags
 

Set full transformation to approximated affine if within tolerance.

Returns:
Error code < 0 Flags: TRANSGENCOORD_Output Rectangle is in "output" coordinates (tolerance in "input" coordinates)
Parameters:
transparm  Transformation parameter structure
rect  Rectangle over which to compute approximation
tolerance  Maximum displacement in opposite coordinates from "rect"
flags  Used to determine coordinates

GEOMLIBEXPORT void TransGenSetDoInsert TRANSPARM transparm,
UINT8  doinsert
 

Set whether to insert new points when doing TransGenConvPoints...().

Parameters:
transparm  Transformation parameter structure