26 #ifndef __TERRALIB_GEOMETRY_INTERNAL_GEOMETRICTRANSFORMATION_H 
   27 #define __TERRALIB_GEOMETRY_INTERNAL_GEOMETRICTRANSFORMATION_H 
   37 #include <boost/noncopyable.hpp> 
   70         virtual const std::string& getName() 
const = 0;
 
   79         virtual bool isValid(
const GTParameters& params) 
const = 0;
 
   88           return isValid(m_internalParameters);
 
  107           return m_internalParameters;
 
  123                                double& pt2Y) 
const = 0;
 
  138           assert(isValid(m_internalParameters));
 
  140           directMap(m_internalParameters, pt1X, pt1Y, pt2X, pt2Y);
 
  152           directMap(params, pt1.
x, pt1.
y, pt2.
x, pt2.
y);
 
  163           assert(isValid(m_internalParameters));
 
  165           directMap(m_internalParameters, pt1.
x, pt1.
y, pt2.
x, pt2.
y);
 
  181                                 double& pt1Y) 
const = 0;
 
  196           assert(isValid(m_internalParameters));
 
  198           inverseMap(m_internalParameters, pt2X, pt2Y, pt1X, pt1Y);
 
  210           inverseMap(params, pt2.
x, pt2.
y, pt1.
x, pt1.
y);
 
  221           assert(isValid(m_internalParameters));
 
  223           inverseMap(m_internalParameters, pt2.
x, pt2.
y, pt1.
x, pt1.
y);
 
  233         double getMaxDirectMappingError(
const GTParameters& params) 
const;
 
  242           return getMaxDirectMappingError(m_internalParameters);
 
  252         double getMaxInverseMappingError(
const GTParameters& params) 
const;
 
  261           return getMaxInverseMappingError( m_internalParameters );
 
  273         double getDirectMapRMSE( 
const std::vector< GTParameters::TiePoint >& tiePoints, 
 
  285           return getDirectMapRMSE( params.
m_tiePoints, params );
 
  297           return getDirectMapRMSE( tiePoints, m_internalParameters );
 
  307           return getDirectMapRMSE( m_internalParameters );
 
  319         double getInverseMapRMSE( 
const std::vector< GTParameters::TiePoint >& tiePoints,
 
  331           return getInverseMapRMSE( params.
m_tiePoints, params );
 
  343           return getInverseMapRMSE( tiePoints, m_internalParameters );
 
  353           return getInverseMapRMSE( m_internalParameters );
 
  376           return getDirectMappingError( tiePoint, m_internalParameters );
 
  399           return getInverseMappingError( tiePoint, m_internalParameters );
 
  407         virtual unsigned int getMinRequiredTiePoints() 
const = 0;
 
  428         virtual bool computeParameters( 
GTParameters& params ) 
const = 0;
 
  438 #endif  // __TERRALIB_GEOMETRY_INTERNAL_GEOMETRICTRANSFORMATION_H 
double getDirectMapRMSE(const std::vector< GTParameters::TiePoint > &tiePoints) const 
Calculates root mean square direct mapping error for the supplied tie-points. 
 
void inverseMap(const Coord2D &pt2, Coord2D &pt1) const 
Inverse mapping (from pt2 space into pt1 space). 
 
#define TEGEOMEXPORT
You can use this macro in order to export/import classes and functions from this module. 
 
void inverseMap(const GTParameters ¶ms, const Coord2D &pt2, Coord2D &pt1) const 
Inverse mapping ( from pt2 space into pt1 space ). 
 
double getInverseMapRMSE(const GTParameters ¶ms) const 
Calculates root mean square inverse mapping error for the supplied parameters. 
 
double getDirectMapRMSE() const 
Calculates root mean square direct mapping error. 
 
void inverseMap(const double &pt2X, const double &pt2Y, double &pt1X, double &pt1Y) const 
Inverse mapping (from pt2 space into pt1 space). 
 
double getMaxInverseMappingError() const 
Calculates the current transformation maximum inverse mapping error. 
 
double getDirectMapRMSE(const GTParameters ¶ms) const 
Calculates root mean square direct mapping error for the supplied parameters. 
 
An utility struct for representing 2D coordinates. 
 
2D Geometric transformation parameters. 
 
bool isValid() const 
Tells if the current instance has a valid transformation. 
 
2D Geometric transformation tie-points filter (outliers remotion). 
 
std::vector< TiePoint > m_tiePoints
Tie points. 
 
double getInverseMappingError(const GTParameters::TiePoint &tiePoint) const 
Calculates the inverse mapping error for the supplied tie-point. 
 
const GTParameters & getParameters() const 
Returns a reference of the current internal transformation parameters. 
 
GTParameters m_internalParameters
The current internal parameters. 
 
double getMaxDirectMappingError() const 
Calculates the current transformation maximum direct mapping error. 
 
Configuration flags for the Vector Geometry Model of TerraLib. 
 
void directMap(const Coord2D &pt1, Coord2D &pt2) const 
Direct mapping (from pt1 space into pt2 space). 
 
2D Geometric transformation base class. 
 
double getInverseMapRMSE() const 
Calculates root mean square inverse mapping error. 
 
double getInverseMapRMSE(const std::vector< GTParameters::TiePoint > &tiePoints) const 
Calculates root mean square inverse mapping error for the supplied tie-points. 
 
2D Geometric transformation parameters. 
 
std::pair< Coord2D, Coord2D > TiePoint
Tie point type definition. 
 
void directMap(const double &pt1X, const double &pt1Y, double &pt2X, double &pt2Y) const 
Direct mapping ( from pt1 space into pt2 space ). 
 
double getDirectMappingError(const GTParameters::TiePoint &tiePoint) const 
Calculates the direct mapping error for the supplied tie-point. 
 
void directMap(const GTParameters ¶ms, const Coord2D &pt1, Coord2D &pt2) const 
Direct mapping (from pt1 space into pt2 space).