IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Classes | Namespaces | Macros | Typedefs | Enumerations
GeometricTransform2dTypes.h File Reference

Predefined types for geometric transform 2d management. More...

#include <IPSDKMath/LinearAlgebra/LinearAlgebraTypes.h>
#include <IPSDKUtil/Tools/EnumMacros.h>
#include <boost/shared_ptr.hpp>

Go to the source code of this file.

Classes

struct  ipsdk::math::transform::Enum2Transform2d< enumValue >
 structure used to retrieve transform from enumerate value More...
 
struct  ipsdk::math::transform::Transform2d2Enum< T >
 structure used to retrieve enumerate value from transform More...
 

Namespaces

 ipsdk
 Main namespace for IPSDK library.
 
 ipsdk::math
 Namespace agregating IPSDK mathematical routines and classes.
 

Macros

#define IPSDK_ENUM_TO_TRANSFORM2D(transformType, EnumValue)
 

Typedefs

typedef boost::shared_ptr< ipsdk::math::transform::BaseGeometricTransform2dipsdk::math::transform::GeometricTransform2dPtr
 shared pointer to ipsdk::math::transform::BaseGeometricTransform2d
 
typedef boost::shared_ptr< const ipsdk::math::transform::BaseGeometricTransform2dipsdk::math::transform::GeometricTransform2dConstPtr
 shared pointer to const ipsdk::math::transform::BaseGeometricTransform2d
 

Enumerations

enum  ipsdk::math::transform::eGeometricTransform2dType {
  ipsdk::math::transform::eGT2DT_Translation, ipsdk::math::transform::eGT2DT_Rotation, ipsdk::math::transform::eGT2DT_Rigid, ipsdk::math::transform::eGT2DT_Scale,
  ipsdk::math::transform::eGT2DT_Similarity, ipsdk::math::transform::eGT2DT_AnisotropicScale, ipsdk::math::transform::eGT2DT_Affine, ipsdk::math::transform::eGT2DT_Homography
}
 geometric transform 2d type More...
 

Functions

 ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM2D (Translation2d, eGT2DT_Translation)
 
 ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM2D (Rotation2d, eGT2DT_Rotation)
 
 ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM2D (Rigid2d, eGT2DT_Rigid)
 
 ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM2D (Scale2d, eGT2DT_Scale)
 
 ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM2D (Similarity2d, eGT2DT_Similarity)
 
 ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM2D (AnisotropicScale2d, eGT2DT_AnisotropicScale)
 
 ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM2D (Affine2d, eGT2DT_Affine)
 
 ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM2D (Homography2d, eGT2DT_Homography)
 

Detailed Description

Predefined types for geometric transform 2d management.

Author
E.Noirfalise
Date
2016/12/20

Macro Definition Documentation

◆ IPSDK_ENUM_TO_TRANSFORM2D

#define IPSDK_ENUM_TO_TRANSFORM2D (   transformType,
  EnumValue 
)
Value:
class transformType; \
template<> struct Enum2Transform2d<ipsdk::math::transform::eGeometricTransform2dType::EnumValue> { \
typedef transformType Type; \
}; \
template<> struct Transform2d2Enum<transformType> { \
static const ipsdk::math::transform::eGeometricTransform2dType::domain \
g_geometricTransform2dType = eGeometricTransform2dType::EnumValue; \
};
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22

macro enabling implementation of Enum2Transform2d templates

Enumeration Type Documentation

◆ eGeometricTransform2dType

geometric transform 2d type

Note
This object is associated to a strong enumerate definition
See also
IPSDK_Enum
Enumerator
eGT2DT_Translation 

Translation geometric transformation.

eGT2DT_Rotation 

Rotation geometric transformation.

eGT2DT_Rigid 

Rigid geometric transformation (rotation + translation)

eGT2DT_Scale 

Scaling geometric transformation.

eGT2DT_Similarity 

similarity geometric transformation (scale + rotation + translation)

eGT2DT_AnisotropicScale 

Anisotropic scaling geometric transformation.

eGT2DT_Affine 

affine geometric transformation

eGT2DT_Homography 

homography geometric transformation

Function Documentation

◆ IPSDK_ENUM_TO_TRANSFORM2D() [1/8]

ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM2D ( Translation2d  ,
eGT2DT_Translation   
)

Implementation of Enum2Transform2d templates

◆ IPSDK_ENUM_TO_TRANSFORM2D() [2/8]

ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM2D ( Rotation2d  ,
eGT2DT_Rotation   
)

Implementation of Enum2Transform2d templates

◆ IPSDK_ENUM_TO_TRANSFORM2D() [3/8]

ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM2D ( Rigid2d  ,
eGT2DT_Rigid   
)

Implementation of Enum2Transform2d templates

◆ IPSDK_ENUM_TO_TRANSFORM2D() [4/8]

ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM2D ( Scale2d  ,
eGT2DT_Scale   
)

Implementation of Enum2Transform2d templates

◆ IPSDK_ENUM_TO_TRANSFORM2D() [5/8]

ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM2D ( Similarity2d  ,
eGT2DT_Similarity   
)

Implementation of Enum2Transform2d templates

◆ IPSDK_ENUM_TO_TRANSFORM2D() [6/8]

ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM2D ( AnisotropicScale2d  ,
eGT2DT_AnisotropicScale   
)

Implementation of Enum2Transform2d templates

◆ IPSDK_ENUM_TO_TRANSFORM2D() [7/8]

ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM2D ( Affine2d  ,
eGT2DT_Affine   
)

Implementation of Enum2Transform2d templates

◆ IPSDK_ENUM_TO_TRANSFORM2D() [8/8]

ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM2D ( Homography2d  ,
eGT2DT_Homography   
)

Implementation of Enum2Transform2d templates