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

Algorithm allowing to compute envelope (axis aligned bounding box) of a 2d geometry entity. More...

#include <EnvelopeTransform2d.h>

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

Public Member Functions

eTransform2dType getTransform2dType () const
 method allowing to retrieve entity 2d transformation type
 
Constructors and destructors
 EnvelopeTransform2d ()
 
 ~EnvelopeTransform2d ()
 
- 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

template<typename T >
static BoundingBox2d< T > envelope (const BaseTypedGeometryEntity2d< T > &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_Envelope
 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
 
GeometryEntity2dPtr process (const Vector2d &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 envelope (axis aligned bounding box) of a 2d geometry entity.

Author
E. Noirfalise
Date
2015/04/24
Note
The ellipse bounding box is computed according to the method detailed in http://www.iquilezles.org/www/articles/ellipses/ellipses.htm

Member Function Documentation

◆ envelope()

template<typename T >
static BoundingBox2d<T> ipsdk::geom::EnvelopeTransform2d::envelope ( const BaseTypedGeometryEntity2d< T > &  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: