OMToolkit  1.0
The polygonal mesh processing tool.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | Static Public Member Functions | Protected Types | Protected Attributes | List of all members
OMToolkit::OMTransformationSolver< Vector > Class Template Reference

#include <OMTransformationSolver.h>

Public Member Functions

 OMTransformationSolver (ScalarT matrixLength, ScalarT resolution, VectorT normal, VectorT direction, VectorT origin)
 
VectorT transformTo2D (VectorT point)
 
VectorT transformToMesh (VectorT point)
 
VectorT transformTo2DLinear (VectorT vector)
 
VectorT transformToMeshLinear (VectorT vector)
 
VectorT getMaxBounds ()
 
ScalarT getPixelSize ()
 

Static Public Member Functions

static ScalarT vectorSignedAngle (VectorT &vec1, VectorT &vec2, VectorT reference)
 
static ScalarT vectorAngle (VectorT &vec1, VectorT &vec2)
 

Protected Types

typedef Vector VectorT
 
typedef Vector::value_type ScalarT
 
typedef Matrix< ScalarT, 3, 1, 2, 3, 1 > VectorEigen
 

Protected Attributes

Transform< ScalarT, 3 > m_2DToModel
 
Transform< ScalarT, 3 > m_modelTo2D
 
ScalarT m_matrixLength
 
ScalarT m_resolution
 
ScalarT m_pixelSize
 

Detailed Description

template<class Vector>
class OMToolkit::OMTransformationSolver< Vector >

Class computig transformation between mesh and raster which is positioned on a vertex and is tangent to surface

Template Parameters
vectorTType of vectors used in this class

Member Typedef Documentation

template<class Vector>
typedef Vector::value_type OMToolkit::OMTransformationSolver< Vector >::ScalarT
protected

Scalar component of a vector

template<class Vector>
typedef Matrix<ScalarT, 3, 1, 2, 3, 1> OMToolkit::OMTransformationSolver< Vector >::VectorEigen
protected

Vector type in eigen library

template<class Vector>
typedef Vector OMToolkit::OMTransformationSolver< Vector >::VectorT
protected

Vector type

Constructor & Destructor Documentation

template<class Vector>
OMTransformationSolver::OMTransformationSolver ( ScalarT  matrixLength,
ScalarT  resolution,
VectorT  normal,
VectorT  direction,
VectorT  origin 
)

Constructor - computes desired transformation Produces transformation matrix, which projects mesh coordinates intu tangent raster coordinates Center vertex will be projected to a center of a matrix

Parameters
matrixLengthRaster length - square raster edge length (real in mesh space)
resolutionNumber of raster pixels (matrix dimensions) - matrix is squared
normalNormal on spacified vertex (futire Z direction)
directionDirection of future X direction (for example maximum curvature direction)
originCoordinates of a vertex

Member Function Documentation

template<class Vector>
OMTransformationSolver< Vector >::VectorT OMTransformationSolver::getMaxBounds ( )
inline

Function returns maximum coordinate of a associed matrix

Returns
Desired dimensions
template<class Vector>
OMTransformationSolver< Vector >::ScalarT OMTransformationSolver::getPixelSize ( )
inline

Function returns pixel width (in a mesh space)

template<class Vector>
OMTransformationSolver< Vector >::VectorT OMTransformationSolver::transformTo2D ( VectorT  point)
inline

Transforms a mesh point (OpenMesh VecXX) to a raster

Parameters
pointPoint to be transformed
Returns
Transformed point
template<class Vector>
OMTransformationSolver< Vector >::VectorT OMTransformationSolver::transformTo2DLinear ( VectorT  vector)
inline

Transforms a mesh vector (OpenMesh VecXX) to a raster

Parameters
pointVector to be transformed
Returns
Transformed vector
template<class Vector>
OMTransformationSolver< Vector >::VectorT OMTransformationSolver::transformToMesh ( VectorT  point)
inline

Transforms a raster point (OpenMesh VecXX) to a mesh space

Parameters
pointPoint to be transformed
Returns
Transformed point
template<class Vector>
OMTransformationSolver< Vector >::VectorT OMTransformationSolver::transformToMeshLinear ( VectorT  vector)
inline

Transforms a raster vector (OpenMesh VecXX) to a mesh space

Parameters
pointVector to be transformed
Returns
Transformed vector
template<class Vector>
OMTransformationSolver< Vector >::ScalarT OMTransformationSolver::vectorAngle ( VectorT vec1,
VectorT vec2 
)
inlinestatic

Function returns an unsigned angle (0..Pi)

Parameters
vec1First vector
vec2Second vector
Returns
Unsigned angle of two vectors in interval 0..Pi
template<class Vector>
OMTransformationSolver< Vector >::ScalarT OMTransformationSolver::vectorSignedAngle ( VectorT vec1,
VectorT vec2,
VectorT  reference 
)
inlinestatic

Function returns a signed angle (0..Pi) with use of a reference vector

Parameters
vec1First vector
vec2Second vector Reference vector (i.e. normal vector etc..)
Returns
Signed angle of two vectors in interval 0..Pi

Member Data Documentation

template<class Vector>
Transform<ScalarT, 3> OMToolkit::OMTransformationSolver< Vector >::m_2DToModel
protected

Transformation matrix from raster coordinates into mesh coordinates

template<class Vector>
ScalarT OMToolkit::OMTransformationSolver< Vector >::m_matrixLength
protected

Raster edge length in mesh space

template<class Vector>
Transform<ScalarT, 3> OMToolkit::OMTransformationSolver< Vector >::m_modelTo2D
protected

Transformation matrix from mesh coordinates into raster coordinates

template<class Vector>
ScalarT OMToolkit::OMTransformationSolver< Vector >::m_pixelSize
protected

Pixel width in a mesh space

template<class Vector>
ScalarT OMToolkit::OMTransformationSolver< Vector >::m_resolution
protected

Raster resolution - number of pixels on an edge


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