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

Predefined types for geometric transform 3d 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::Enum2Transform3d< enumValue >
 structure used to retrieve transform from enumerate value More...
 
struct  ipsdk::math::transform::Transform3d2Enum< 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_TRANSFORM3D(transformType, EnumValue)
 

Typedefs

typedef boost::shared_ptr< ipsdk::math::transform::BaseGeometricTransform3dipsdk::math::transform::GeometricTransform3dPtr
 shared pointer to ipsdk::math::transform::BaseGeometricTransform3d
 
typedef boost::shared_ptr< const ipsdk::math::transform::BaseGeometricTransform3dipsdk::math::transform::GeometricTransform3dConstPtr
 shared pointer to const ipsdk::math::transform::BaseGeometricTransform3d
 

Enumerations

enum  ipsdk::math::transform::eGeometricTransform3dType {
  ipsdk::math::transform::eGT3DT_Translation, ipsdk::math::transform::eGT3DT_Rotation, ipsdk::math::transform::eGT3DT_Rigid, ipsdk::math::transform::eGT3DT_Scale,
  ipsdk::math::transform::eGT3DT_Similarity, ipsdk::math::transform::eGT3DT_AnisotropicScale, ipsdk::math::transform::eGT3DT_Affine, ipsdk::math::transform::eGT3DT_Homography
}
 geometric transform 3d type More...
 

Functions

 ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM3D (Translation3d, eGT3DT_Translation)
 
 ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM3D (Rotation3d, eGT3DT_Rotation)
 
 ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM3D (Rigid3d, eGT3DT_Rigid)
 
 ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM3D (Scale3d, eGT3DT_Scale)
 
 ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM3D (Similarity3d, eGT3DT_Similarity)
 
 ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM3D (AnisotropicScale3d, eGT3DT_AnisotropicScale)
 
 ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM3D (Affine3d, eGT3DT_Affine)
 
 ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM3D (Homography3d, eGT3DT_Homography)
 

Detailed Description

Predefined types for geometric transform 3d management.

Author
E.Noirfalise
Date
2017/01/17

Macro Definition Documentation

◆ IPSDK_ENUM_TO_TRANSFORM3D

#define IPSDK_ENUM_TO_TRANSFORM3D (   transformType,
  EnumValue 
)
Value:
class transformType; \
template<> struct Enum2Transform3d<ipsdk::math::transform::eGeometricTransform3dType::EnumValue> { \
typedef transformType Type; \
}; \
template<> struct Transform3d2Enum<transformType> { \
static const ipsdk::math::transform::eGeometricTransform3dType::domain \
g_geometricTransform3dType = eGeometricTransform3dType::EnumValue; \
};
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22

macro enabling implementation of Enum2Transform3d templates

Enumeration Type Documentation

◆ eGeometricTransform3dType

geometric transform 3d type

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

Translation geometric transformation.

eGT3DT_Rotation 

Rotation geometric transformation.

eGT3DT_Rigid 

Rigid geometric transformation (rotation + translation)

eGT3DT_Scale 

Scaling geometric transformation.

eGT3DT_Similarity 

similarity geometric transformation (scale + rotation + translation)

eGT3DT_AnisotropicScale 

Anisotropic scaling geometric transformation.

eGT3DT_Affine 

affine geometric transformation

eGT3DT_Homography 

homography geometric transformation

Function Documentation

◆ IPSDK_ENUM_TO_TRANSFORM3D() [1/8]

ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM3D ( Translation3d  ,
eGT3DT_Translation   
)

Implementation of Enum2Transform3d templates

◆ IPSDK_ENUM_TO_TRANSFORM3D() [2/8]

ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM3D ( Rotation3d  ,
eGT3DT_Rotation   
)

Implementation of Enum2Transform3d templates

◆ IPSDK_ENUM_TO_TRANSFORM3D() [3/8]

ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM3D ( Rigid3d  ,
eGT3DT_Rigid   
)

Implementation of Enum2Transform3d templates

◆ IPSDK_ENUM_TO_TRANSFORM3D() [4/8]

ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM3D ( Scale3d  ,
eGT3DT_Scale   
)

Implementation of Enum2Transform3d templates

◆ IPSDK_ENUM_TO_TRANSFORM3D() [5/8]

ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM3D ( Similarity3d  ,
eGT3DT_Similarity   
)

Implementation of Enum2Transform3d templates

◆ IPSDK_ENUM_TO_TRANSFORM3D() [6/8]

ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM3D ( AnisotropicScale3d  ,
eGT3DT_AnisotropicScale   
)

Implementation of Enum2Transform3d templates

◆ IPSDK_ENUM_TO_TRANSFORM3D() [7/8]

ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM3D ( Affine3d  ,
eGT3DT_Affine   
)

Implementation of Enum2Transform3d templates

◆ IPSDK_ENUM_TO_TRANSFORM3D() [8/8]

ipsdk::math::transform::IPSDK_ENUM_TO_TRANSFORM3D ( Homography3d  ,
eGT3DT_Homography   
)

Implementation of Enum2Transform3d templates