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

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

#include <IPSDKSerialization/Engine/SerializationTemplateSrcMacro.h>
#include <IPSDKGeometry/Transform/3d/SimilarityTransform3d.h>
#include <IPSDKGeometry/Transform/3d/HomographyTransform3d.h>
#include <IPSDKGeometry/Transform/3d/AnisotropicScaleTransform3d.h>
#include <IPSDKGeometry/Transform/3d/RigidTransform3d.h>
#include <IPSDKGeometry/Transform/3d/RotationTransform3d.h>
#include <IPSDKGeometry/Transform/3d/ScaleTransform3d.h>
#include <IPSDKGeometry/Transform/3d/TranslationTransform3d.h>
#include <IPSDKGeometry/Transform/3d/CentroidTransform3d.h>
#include <IPSDKGeometry/Transform/3d/ConvexHullTransform3d.h>
#include <IPSDKGeometry/Transform/3d/EnvelopeTransform3d.h>
#include <IPSDKGeometry/Transform/3d/MinEnclosingSphereTransform3d.h>
#include <IPSDKGeometry/Measure/3d/AreaMsr3d.h>
#include <IPSDKGeometry/Measure/3d/VolumeMsr3d.h>

Go to the source code of this file.

Macros

#define IPSDK_IMPLEMENT_GEOMETRY_TRANSFORM_3D_VISITOR_MACRO(s, className, TransformType)
 [Internal] macro allowing to implement a geometry transform 3d visitor More...
 
#define IPSDK_IMPLEMENT_GEOMETRY_TRANSFORM_3D_VISITORS(className)
 [Internal] Macro allowing to implement geometry transform 3d visitors More...
 
#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_TRANSFORM_3D_VISITOR_MACRO(s, className, TransformType)
 [Internal] macro allowing to implement a geometry template transform 3d visitor More...
 
#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_TRANSFORM_3D_VISITORS(className)
 [Internal] Macro allowing to implement in situ template geometry transform 3d visitors More...
 
#define IPSDK_IMPLEMENT_GEOMETRY_MEASURE_3D_VISITOR_MACRO(s, className, MeasureInfo)
 [Internal] macro allowing to implement a geometry measure 3d visitor More...
 
#define IPSDK_IMPLEMENT_GEOMETRY_MEASURE_3D_VISITORS(className)
 [Internal] Macro allowing to implement in situ geometry measure 3d visitors More...
 
#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_MEASURE_3D_VISITOR_MACRO(s, className, MeasureInfo)
 [Internal] macro allowing to implement a geometry template measure 3d visitor More...
 
#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_MEASURE_3D_VISITORS(className)
 [Internal] Macro allowing to implement in situ geometry template measure 3d visitors More...
 
#define IPSDK_IMPLEMENT_GEOMETRY_ENTITY_3D(libraryName, namespaceSeq, className, version)
 Macro allowing to implement geometry entity 3d. More...
 
#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_ENTITY_3D(libraryName, className, seqT, version)
 Macro allowing to implement geometry entity 3d. More...
 
#define IPSDK_IMPLEMENT_ABSTRACT_GEOMETRY_TEMPLATE_ENTITY_3D(libraryName, className, seqT, version)
 

Detailed Description

Source part of macros for geometry entity 3d management.

Author
E. Noirfalise
Date
2015/04/21

Macro Definition Documentation

◆ IPSDK_IMPLEMENT_GEOMETRY_TRANSFORM_3D_VISITOR_MACRO

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

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

◆ IPSDK_IMPLEMENT_GEOMETRY_TRANSFORM_3D_VISITORS

#define IPSDK_IMPLEMENT_GEOMETRY_TRANSFORM_3D_VISITORS (   className)
Value:
className, \
#define IPSDK_IMPLEMENT_GEOMETRY_TRANSFORM_3D_VISITOR_MACRO(s, className, TransformType)
[Internal] macro allowing to implement a geometry transform 3d visitor
Definition: GeometryEntity3dSrcMacros.h:39
#define IPSDK_GEOMETRY_TRANSFORM_3D
[Internal] macro allowing to define list of geometry transform 3d
Definition: GeometryTransform3dListMacros.h:24

[Internal] Macro allowing to implement geometry transform 3d visitors

◆ IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_TRANSFORM_3D_VISITOR_MACRO

#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_TRANSFORM_3D_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::GeometryEntity3dPtr \
className<T>::visitNonInSitu(const TransformType& transform) const { \
return transform.process(*this); \
}

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

◆ IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_TRANSFORM_3D_VISITORS

#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_TRANSFORM_3D_VISITORS (   className)
Value:
className, \
#define IPSDK_GEOMETRY_TRANSFORM_3D
[Internal] macro allowing to define list of geometry transform 3d
Definition: GeometryTransform3dListMacros.h:24
#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_TRANSFORM_3D_VISITOR_MACRO(s, className, TransformType)
[Internal] macro allowing to implement a geometry template transform 3d visitor
Definition: GeometryEntity3dSrcMacros.h:60

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

◆ IPSDK_IMPLEMENT_GEOMETRY_MEASURE_3D_VISITOR_MACRO

#define IPSDK_IMPLEMENT_GEOMETRY_MEASURE_3D_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 3d visitor

◆ IPSDK_IMPLEMENT_GEOMETRY_MEASURE_3D_VISITORS

#define IPSDK_IMPLEMENT_GEOMETRY_MEASURE_3D_VISITORS (   className)
Value:
className, \
#define IPSDK_GEOMETRY_MEASURE_3D
[Internal] macro allowing to define list of geometry measure 3d
Definition: GeometryMeasure3dListMacros.h:24
#define IPSDK_IMPLEMENT_GEOMETRY_MEASURE_3D_VISITOR_MACRO(s, className, MeasureInfo)
[Internal] macro allowing to implement a geometry measure 3d visitor
Definition: GeometryEntity3dSrcMacros.h:86

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

◆ IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_MEASURE_3D_VISITOR_MACRO

#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_MEASURE_3D_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 3d visitor

◆ IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_MEASURE_3D_VISITORS

#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_MEASURE_3D_VISITORS (   className)
Value:
className, \
#define IPSDK_GEOMETRY_MEASURE_3D
[Internal] macro allowing to define list of geometry measure 3d
Definition: GeometryMeasure3dListMacros.h:24
#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_MEASURE_3D_VISITOR_MACRO(s, className, MeasureInfo)
[Internal] macro allowing to implement a geometry template measure 3d visitor
Definition: GeometryEntity3dSrcMacros.h:104

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

◆ IPSDK_IMPLEMENT_GEOMETRY_ENTITY_3D

#define IPSDK_IMPLEMENT_GEOMETRY_ENTITY_3D (   libraryName,
  namespaceSeq,
  className,
  version 
)
Value:
IPSDK_IMPLEMENT_SERIAL_WITH_COPY(libraryName, namespaceSeq, className, version) \
IPSDK_IMPLEMENT_GEOMETRY_TRANSFORM_3D_VISITORS(className) \
IPSDK_IMPLEMENT_GEOMETRY_MEASURE_3D_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 3d.

◆ IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_ENTITY_3D

#define IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_ENTITY_3D (   libraryName,
  className,
  seqT,
  version 
)
Value:
IPSDK_IMPLEMENT_TEMPLATE_SERIAL_WITH_COPY(libraryName, className, seqT, version) \
IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_TRANSFORM_3D_VISITORS(className) \
IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_MEASURE_3D_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 3d.

◆ IPSDK_IMPLEMENT_ABSTRACT_GEOMETRY_TEMPLATE_ENTITY_3D

#define IPSDK_IMPLEMENT_ABSTRACT_GEOMETRY_TEMPLATE_ENTITY_3D (   libraryName,
  className,
  seqT,
  version 
)
Value:
IPSDK_IMPLEMENT_ABSTRACT_TEMPLATE_SERIAL_WITH_COPY(libraryName, className, seqT, version) \
IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_TRANSFORM_3D_VISITORS(className) \
IPSDK_IMPLEMENT_GEOMETRY_TEMPLATE_MEASURE_3D_VISITORS(className)
#define IPSDK_IMPLEMENT_ABSTRACT_TEMPLATE_SERIAL_WITH_COPY(libraryName, className, seqT, version)
macro enabling class serialization in library class
Definition: SerializationTemplateSrcMacro.h:58