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

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

#include <IPSDKSerialization/Engine/SerializationSrcMacro.h>
#include <IPSDKGeometry/Measure/MeasureLogMessages.h>
#include <IPSDKGeometry/Logger/IPSDKGeometryLog.h>
#include <IPSDKGeometry/Entity/3d/Point/Point3d.h>
#include <IPSDKGeometry/Entity/3d/Vector/Vector3d.h>
#include <IPSDKGeometry/Entity/3d/BoundingBox/BoundingBox3d.h>
#include <IPSDKGeometry/Entity/3d/PointCloud/PointCloud3d.h>
#include <IPSDKGeometry/Entity/3d/Sphere/Sphere3d.h>
#include <IPSDKGeometry/Entity/3d/Triangle/Triangle3d.h>
#include <IPSDKGeometry/Entity/3d/Ellipsoid/Ellipsoid3d.h>
#include <IPSDKGeometry/Entity/3d/Cube/Cube3d.h>
#include <IPSDKGeometry/Entity/3d/Cuboid/Cuboid3d.h>
#include <IPSDKGeometry/Entity/3d/MeshWithHoles/MeshWithHoles3d.h>
#include <IPSDKGeometry/Entity/3d/Shape/Shape3d.h>

Go to the source code of this file.

Macros

#define IPSDK_IMPLEMENT_GEOMETRY_MEASURE_3D(libraryName, namespaceSeq, className, version)
 Macro allowing to implement a geometry measure 3d. More...
 
#define IPSDK_REGISTER_GEOMETRY_MEASURE_3D_MACRO(r, classInfo, type)
 Macro allowing to register a geometry measure 3d method. More...
 
#define IPSDK_REGISTER_GEOMETRY_MEASURE_3D(className, entityType, typeSeq)
 Macro allowing to register a geometry measure 3d method. More...
 

Detailed Description

Source part of macros for geometry measurements 3d management.

Author
E. Noirfalise
Date
2015/04/24

Macro Definition Documentation

◆ IPSDK_IMPLEMENT_GEOMETRY_MEASURE_3D

#define IPSDK_IMPLEMENT_GEOMETRY_MEASURE_3D (   libraryName,
  namespaceSeq,
  className,
  version 
)
Value:
IPSDK_IMPLEMENT_SERIAL_WITH_COPY(libraryName, namespaceSeq, className, version) \
bool className::measure(const BaseGeometryEntity3d& entity, DataType& result) const \
{ \
return entity.visit(*this, result); \
} \
className::DataType className::measure(const BaseGeometryEntity3d& entity) \
{ \
DataType result; \
className measureObject; \
IPSDKGEOMETRY_CHECK(measureObject.measure(entity, result) == true, \
measureObject.getMeasure3dType().str() % \
entity.getEntity3dType().str()); \
return result; \
}
#define IPSDK_IMPLEMENT_SERIAL_WITH_COPY(libraryName, namespaceSeq, className, version)
macro enabling class serialization in library class
Definition: SerializationSrcMacro.h:51
Measure s failed for geometry entity s.
Definition: MeasureLogMessages.h:35
Vector DataType
data type used for estimation
Definition: EstimationTypes.h:58

Macro allowing to implement a geometry measure 3d.

◆ IPSDK_REGISTER_GEOMETRY_MEASURE_3D_MACRO

#define IPSDK_REGISTER_GEOMETRY_MEASURE_3D_MACRO (   r,
  classInfo,
  type 
)
Value:
template IPSDKGEOMETRY_API bool \
BOOST_PP_SEQ_ELEM(0, classInfo)::process<type>( \
const BOOST_PP_SEQ_ELEM(1, classInfo)<type>& entity, \
BOOST_PP_SEQ_ELEM(0, classInfo)::DataType& result) const;
#define IPSDKGEOMETRY_API
Import/Export macro for library IPSDKGeometry.
Definition: IPSDKGeometryExports.h:25
Vector DataType
data type used for estimation
Definition: EstimationTypes.h:58

Macro allowing to register a geometry measure 3d method.

◆ IPSDK_REGISTER_GEOMETRY_MEASURE_3D

#define IPSDK_REGISTER_GEOMETRY_MEASURE_3D (   className,
  entityType,
  typeSeq 
)
Value:
(className)(entityType), typeSeq);
#define IPSDK_REGISTER_GEOMETRY_MEASURE_3D_MACRO(r, classInfo, type)
Macro allowing to register a geometry measure 3d method.
Definition: GeometryMeasure3dSrcMacros.h:60

Macro allowing to register a geometry measure 3d method.