IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
ipsdk::geom::MinEnclosingCircleTransform2d Class Reference

Algorithm allowing to compute minimum enclosing circle of a 2d geometry entity. More...

#include <MinEnclosingCircleTransform2d.h>

Inheritance diagram for ipsdk::geom::MinEnclosingCircleTransform2d:
ipsdk::geom::BaseGeometryTransform2d ipsdk::geom::BaseGeometryTransform ipsdk::BaseSerializationObject ipsdk::BaseDynamicObject

Public Types

typedef Circle2d< ipReal64CircleType
 output circle type
 
typedef boost::shared_ptr< CircleTypeCirclePtr
 shared pointer to output circle type
 

Public Member Functions

eTransform2dType getTransform2dType () const
 method allowing to retrieve entity 2d transformation type
 
Constructors and destructor
 MinEnclosingCircleTransform2d ()
 
 ~MinEnclosingCircleTransform2d ()
 
- Public Member Functions inherited from ipsdk::geom::BaseGeometryTransform2d
eCoordinateDimension getCoordinateDimension () const
 method allowing to retrieve entity underlying coordinates dimension
 
virtual bool applyInSitu (BaseGeometryEntity2d &entity) const =0
 method allowing to apply in situ transformation to an entity More...
 
bool applyInSitu (const GeometryEntity2dPtr &pEntity) const
 method allowing to apply in situ transformation to an entity More...
 
virtual GeometryEntity2dPtr apply (const BaseGeometryEntity2d &entity) const =0
 method allowing to apply transformation to an entity More...
 
GeometryEntity2dPtr apply (const GeometryEntity2dConstPtr &pEntity) const
 method allowing to apply transformation to an entity More...
 
 BaseGeometryTransform2d ()
 
virtual ~BaseGeometryTransform2d ()=0
 
- Public Member Functions inherited from ipsdk::geom::BaseGeometryTransform
 BaseGeometryTransform ()
 
virtual ~BaseGeometryTransform ()=0
 
- Public Member Functions inherited from ipsdk::BaseSerializationObject
 BaseSerializationObject ()
 Default constructor.
 
virtual ~BaseSerializationObject ()=0
 destructor
 
- Public Member Functions inherited from ipsdk::BaseDynamicObject
virtual const std::string & getClassName () const
 method allowing to retrieve object class name
 
virtual BaseDynamicObjectcreateNew () const =0
 method allowing to create new instance of current object type
 
virtual DynamicObjectPtr createShared () const =0
 method allowing to create new shared instance of current object type
 
virtual bool hasCopySupport () const =0
 check whether objet has copy support
 
virtual BaseDynamicObjectduplicate () const =0
 method allowing to duplicate current object More...
 
virtual DynamicObjectPtr duplicateShared () const =0
 method allowing shared duplication of current object More...
 
 BaseDynamicObject ()
 
virtual ~BaseDynamicObject ()=0
 

Static Public Member Functions

static Circle2d< ipReal64minEnclosingCircle (const BaseGeometryEntity2d &entity)
 method allowing to apply transformation to an entity More...
 
- Static Public Member Functions inherited from ipsdk::BaseSerializationObject
static ipUInt32 getVersion ()
 method allowing to retrieve class version information for serialization
 
- Static Public Member Functions inherited from ipsdk::BaseDynamicObject
static const std::string & getTypeName ()
 method allowing to retrieve name associated to class
 

Static Public Attributes

static const eTransform2dType::domain g_transform2dType = eTransform2dType::eT2DT_MinEnclosingCircle
 geometry transformation type
 
- Static Public Attributes inherited from ipsdk::geom::BaseGeometryTransform2d
static const eCoordinateDimension::domain g_coordinateDimension = eCoordinateDimension::eCD_2d
 entity underlying coordinates dimension
 

Protected Member Functions

template<typename T >
GeometryEntity2dPtr process (const Point2d< T > &entity) const
 dedicated processing methods
 
template<typename T >
GeometryEntity2dPtr process (const BoundingBox2d< T > &entity) const
 dedicated processing methods
 
template<typename T >
GeometryEntity2dPtr process (const PointCloud2d< T > &entity) const
 dedicated processing methods
 
template<typename T >
GeometryEntity2dPtr process (const Polygon2d< T > &entity) const
 dedicated processing methods
 
template<typename T >
GeometryEntity2dPtr process (const PolygonWithHoles2d< T > &entity) const
 dedicated processing methods
 
GeometryEntity2dPtr process (const Shape2d &entity) const
 dedicated processing methods
 
template<typename T >
GeometryEntity2dPtr process (const Circle2d< T > &entity) const
 dedicated processing methods
 
template<typename T >
GeometryEntity2dPtr process (const Ellipse2d< T > &entity) const
 dedicated processing methods
 
template<typename T >
GeometryEntity2dPtr process (const Square2d< T > &entity) const
 dedicated processing methods
 
template<typename T >
GeometryEntity2dPtr process (const Rectangle2d< T > &entity) const
 dedicated processing methods
 
template<typename T >
GeometryEntity2dPtr process (const Segment2d< T > &entity) const
 dedicated processing methods
 
- Protected Member Functions inherited from ipsdk::BaseSerializationObject
virtual BoolResult write (BaseOArchive &ar) const
 method allowing to ensure serialization write part for object
 
virtual BoolResult read (BaseIArchive &ar)
 method allowing to ensure serialization read part for object
 
- Protected Member Functions inherited from ipsdk::BaseDynamicObject
virtual void initCtorCopy (const BaseDynamicObject &object)
 
virtual void copy (const BaseDynamicObject &object)
 method allowing to copy data from another object
 

Detailed Description

Algorithm allowing to compute minimum enclosing circle of a 2d geometry entity.

Author
E.Noirfalise
Date
2017/05/18

Member Function Documentation

◆ minEnclosingCircle()

static Circle2d<ipReal64> ipsdk::geom::MinEnclosingCircleTransform2d::minEnclosingCircle ( const BaseGeometryEntity2d entity)
static

method allowing to apply transformation to an entity

Exceptions
ipsdk::geom::IPSDKGeometryExceptionin case of failure

The documentation for this class was generated from the following file: