IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Macros
GeometryEntity2dSrcMacros.h File Reference

Source part of macros for geometry entity 2d management. More...

#include <IPSDKSerialization/Engine/SerializationTemplateSrcMacro.h>
#include <IPSDKGeometry/Transform/2d/SimilarityTransform2d.h>
#include <IPSDKGeometry/Transform/2d/HomographyTransform2d.h>
#include <IPSDKGeometry/Transform/2d/AnisotropicScaleTransform2d.h>
#include <IPSDKGeometry/Transform/2d/RigidTransform2d.h>
#include <IPSDKGeometry/Transform/2d/RotationTransform2d.h>
#include <IPSDKGeometry/Transform/2d/ScaleTransform2d.h>
#include <IPSDKGeometry/Transform/2d/TranslationTransform2d.h>
#include <IPSDKGeometry/Transform/2d/CentroidTransform2d.h>
#include <IPSDKGeometry/Transform/2d/ConvexHullTransform2d.h>
#include <IPSDKGeometry/Transform/2d/EnvelopeTransform2d.h>
#include <IPSDKGeometry/Transform/2d/SimplifyTransform2d.h>
#include <IPSDKGeometry/Transform/2d/MinEnclosingCircleTransform2d.h>
#include <IPSDKGeometry/Measure/2d/AreaMsr2d.h>
#include <IPSDKGeometry/Measure/2d/PerimeterMsr2d.h>
#include <IPSDKGeometry/Measure/2d/MomentsMsr2d.h>
#include <IPSDKGeometry/Measure/2d/HuMomentsMsr2d.h>

Go to the source code of this file.

Macros

#define IPSDK_IMPLEMENT_GEOMETRY_TRANSFORM_2D_VISITOR_MACRO(s, className, TransformType)
 [Internal] macro allowing to implement a geometry transform 2d visitor More...
 
#define IPSDK_IMPLEMENT_GEOMETRY_TRANSFORM_2D_VISITORS(className)
 [Internal] Macro allowing to implement in situ geometry transform 2d visitors More...
 
#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_TRANSFORM_2D_VISITOR_MACRO(s, className, TransformType)
 [Internal] macro allowing to implement a geometry template transform 2d visitor More...
 
#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_TRANSFORM_2D_VISITORS(className)
 [Internal] Macro allowing to implement in situ template geometry transform 2d visitors More...
 
#define IPSDK_IMPLEMENT_GEOMETRY_MEASURE_2D_VISITOR_MACRO(s, className, MeasureInfo)
 [Internal] macro allowing to implement a geometry measure 2d visitor More...
 
#define IPSDK_IMPLEMENT_GEOMETRY_MEASURE_2D_VISITORS(className)
 [Internal] Macro allowing to implement in situ geometry measure 2d visitors More...
 
#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_MEASURE_2D_VISITOR_MACRO(s, className, MeasureInfo)
 [Internal] macro allowing to implement a geometry template measure 2d visitor More...
 
#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_MEASURE_2D_VISITORS(className)
 [Internal] Macro allowing to implement in situ geometry template measure 2d visitors More...
 
#define IPSDK_IMPLEMENT_GEOMETRY_ENTITY_2D(libraryName, namespaceSeq, className, version)
 Macro allowing to implement geometry entity 2d. More...
 
#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_ENTITY_2D(libraryName, className, seqT, version)
 Macro allowing to implement geometry entity 2d. More...
 

Detailed Description

Source part of macros for geometry entity 2d management.

Author
E. Noirfalise
Date
2015/04/21

Macro Definition Documentation

◆ IPSDK_IMPLEMENT_GEOMETRY_TRANSFORM_2D_VISITOR_MACRO

#define IPSDK_IMPLEMENT_GEOMETRY_TRANSFORM_2D_VISITOR_MACRO (   s,
  className,
  TransformType 
)
Value:
bool className::visitInSitu(const TransformType& transform) { \
return transform.processInSitu(*this); \
} \
ipsdk::geom::GeometryEntity2dPtr \
className::visitNonInSitu(const TransformType& transform) const { \
return transform.process(*this); \
}

[Internal] macro allowing to implement a geometry transform 2d visitor

◆ IPSDK_IMPLEMENT_GEOMETRY_TRANSFORM_2D_VISITORS

#define IPSDK_IMPLEMENT_GEOMETRY_TRANSFORM_2D_VISITORS (   className)
Value:
className, \
#define IPSDK_GEOMETRY_TRANSFORM_2D
[Internal] macro allowing to define list of geometry transform 2d
Definition: GeometryTransform2dListMacros.h:24
#define IPSDK_IMPLEMENT_GEOMETRY_TRANSFORM_2D_VISITOR_MACRO(s, className, TransformType)
[Internal] macro allowing to implement a geometry transform 2d visitor
Definition: GeometryEntity2dSrcMacros.h:42

[Internal] Macro allowing to implement in situ geometry transform 2d visitors

◆ IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_TRANSFORM_2D_VISITOR_MACRO

#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_TRANSFORM_2D_VISITOR_MACRO (   s,
  className,
  TransformType 
)
Value:
template <typename T> \
bool className<T>::visitInSitu(const TransformType& transform) { \
return transform.processInSitu(*this); \
} \
template <typename T> \
ipsdk::geom::GeometryEntity2dPtr \
className<T>::visitNonInSitu(const TransformType& transform) const { \
return transform.process(*this); \
}

[Internal] macro allowing to implement a geometry template transform 2d visitor

◆ IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_TRANSFORM_2D_VISITORS

#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_TRANSFORM_2D_VISITORS (   className)
Value:
className, \
#define IPSDK_GEOMETRY_TRANSFORM_2D
[Internal] macro allowing to define list of geometry transform 2d
Definition: GeometryTransform2dListMacros.h:24
#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_TRANSFORM_2D_VISITOR_MACRO(s, className, TransformType)
[Internal] macro allowing to implement a geometry template transform 2d visitor
Definition: GeometryEntity2dSrcMacros.h:63

[Internal] Macro allowing to implement in situ template geometry transform 2d visitors

◆ IPSDK_IMPLEMENT_GEOMETRY_MEASURE_2D_VISITOR_MACRO

#define IPSDK_IMPLEMENT_GEOMETRY_MEASURE_2D_VISITOR_MACRO (   s,
  className,
  MeasureInfo 
)
Value:
bool className::visit(const BOOST_PP_SEQ_ELEM(0, MeasureInfo)& measure, \
BOOST_PP_SEQ_ELEM(1, MeasureInfo)& result) const { \
return measure.process(*this, result); \
}

[Internal] macro allowing to implement a geometry measure 2d visitor

◆ IPSDK_IMPLEMENT_GEOMETRY_MEASURE_2D_VISITORS

#define IPSDK_IMPLEMENT_GEOMETRY_MEASURE_2D_VISITORS (   className)
Value:
className, \
#define IPSDK_IMPLEMENT_GEOMETRY_MEASURE_2D_VISITOR_MACRO(s, className, MeasureInfo)
[Internal] macro allowing to implement a geometry measure 2d visitor
Definition: GeometryEntity2dSrcMacros.h:89
#define IPSDK_GEOMETRY_MEASURE_2D
[Internal] macro allowing to define list of geometry measure 2d
Definition: GeometryMeasure2dListMacros.h:27

[Internal] Macro allowing to implement in situ geometry measure 2d visitors

◆ IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_MEASURE_2D_VISITOR_MACRO

#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_MEASURE_2D_VISITOR_MACRO (   s,
  className,
  MeasureInfo 
)
Value:
template <typename T> \
bool className<T>::visit(const BOOST_PP_SEQ_ELEM(0, MeasureInfo)& measure, \
BOOST_PP_SEQ_ELEM(1, MeasureInfo)& result) const { \
return measure.process(*this, result); \
}

[Internal] macro allowing to implement a geometry template measure 2d visitor

◆ IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_MEASURE_2D_VISITORS

#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_MEASURE_2D_VISITORS (   className)
Value:
className, \
#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_MEASURE_2D_VISITOR_MACRO(s, className, MeasureInfo)
[Internal] macro allowing to implement a geometry template measure 2d visitor
Definition: GeometryEntity2dSrcMacros.h:107
#define IPSDK_GEOMETRY_MEASURE_2D
[Internal] macro allowing to define list of geometry measure 2d
Definition: GeometryMeasure2dListMacros.h:27

[Internal] Macro allowing to implement in situ geometry template measure 2d visitors

◆ IPSDK_IMPLEMENT_GEOMETRY_ENTITY_2D

#define IPSDK_IMPLEMENT_GEOMETRY_ENTITY_2D (   libraryName,
  namespaceSeq,
  className,
  version 
)
Value:
IPSDK_IMPLEMENT_SERIAL_WITH_COPY(libraryName, namespaceSeq, className, version) \
IPSDK_IMPLEMENT_GEOMETRY_TRANSFORM_2D_VISITORS(className) \
IPSDK_IMPLEMENT_GEOMETRY_MEASURE_2D_VISITORS(className)
#define IPSDK_IMPLEMENT_SERIAL_WITH_COPY(libraryName, namespaceSeq, className, version)
macro enabling class serialization in library class
Definition: SerializationSrcMacro.h:51

Macro allowing to implement geometry entity 2d.

◆ IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_ENTITY_2D

#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_ENTITY_2D (   libraryName,
  className,
  seqT,
  version 
)
Value:
IPSDK_IMPLEMENT_TEMPLATE_SERIAL_WITH_COPY(libraryName, className, seqT, version) \
IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_TRANSFORM_2D_VISITORS(className) \
IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_MEASURE_2D_VISITORS(className)
#define IPSDK_IMPLEMENT_TEMPLATE_SERIAL_WITH_COPY(libraryName, className, seqT, version)
macro enabling class serialization in library class
Definition: SerializationTemplateSrcMacro.h:46

Macro allowing to implement geometry entity 2d.