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

Class allowing to represent a skeleton associated to a polygon with holes. More...

#include <Skeleton2d.h>

Inheritance diagram for ipsdk::geom::Skeleton2d:
ipsdk::geom::BaseTypedGeometryEntity2d< ipReal64 > ipsdk::geom::BaseGeometryEntity2d ipsdk::geom::BaseGeometryEntity ipsdk::BaseObjectWithSkeleton ipsdk::BaseSerializationObject ipsdk::BaseDynamicObject

Public Member Functions

eCoordinateSystem2dType getCoordinateSystem2dType () const
 method allowing to retrieve coordinate system 2d type
 
eEntity2dType getEntity2dType () const
 method allowing to retrieve entity 2d type
 
ipUInt32 getNbPoints () const
 retrieve number of points associated to skeleton
 
ipUInt32 getNbVertices () const
 retrieve number of vertices associated to skeleton
 
bool isSegmentParabolic (const ipUInt32 pointIdx0, const ipUInt32 pointIdx1) const
 check whether two points are associated to a parabolic segment More...
 
const Parabola2dgetParabola (const ipUInt32 pointIdx0, const ipUInt32 pointIdx1) const
 retrieve parabolic segment associated to two points More...
 
ipReal64 computeEdgeLength (const ipUInt32 pointIdx0, const ipUInt32 pointIdx1) const
 retrieve segment length associated to two end points More...
 
Constructors and destructor
 Skeleton2d ()
 
 ~Skeleton2d ()
 
const SkeletonPoint2dCollgetPoint2dColl () const
 access to collection of points associated to skeleton
 
SkeletonPoint2dCollgetPoint2dColl ()
 access to collection of points associated to skeleton
 
const SkeletonVertex2dCollgetVertex2dColl () const
 access to collection of vertices associated to skeleton
 
SkeletonVertex2dCollgetVertex2dColl ()
 access to collection of vertices associated to skeleton
 
const ParabolaCollgetParabolaColl () const
 access to collection of parabolic segments
 
ParabolaCollgetParabolaColl ()
 access to collection of parabolic segments
 
- Public Member Functions inherited from ipsdk::geom::BaseTypedGeometryEntity2d< ipReal64 >
 BaseTypedGeometryEntity2d ()
 
virtual ~BaseTypedGeometryEntity2d ()=0
 
- Public Member Functions inherited from ipsdk::geom::BaseGeometryEntity2d
eCoordinateDimension getCoordinateDimension () const
 method allowing to retrieve entity underlying coordinates dimension
 
 BaseGeometryEntity2d ()
 
virtual ~BaseGeometryEntity2d ()=0
 
- Public Member Functions inherited from ipsdk::geom::BaseGeometryEntity
 BaseGeometryEntity ()
 
virtual ~BaseGeometryEntity ()=0
 
- Public Member Functions inherited from ipsdk::BaseObjectWithSkeleton
const eSklSrzModegetSerializationMode () const
 retrieve serialization flag for object More...
 
void setSerializationMode (const eSklSrzMode &sklSrzMode) const
 set serialization flag for object
 
 BaseObjectWithSkeleton ()
 
 ~BaseObjectWithSkeleton ()
 
- 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 Attributes

static const eCoordinateSystem2dType::domain g_coordinateSystem2dType = eCoordinateSystem2dType::eCS2DT_Cartesian
 coordinate system associated to entity
 
static const eEntity2dType::domain g_entity2dType = eEntity2dType::eE2DT_Skeleton
 type associated to entity
 
- Static Public Attributes inherited from ipsdk::geom::BaseGeometryEntity2d
static const eCoordinateDimension::domain g_coordinateDimension = eCoordinateDimension::eCD_2d
 entity underlying coordinates dimension
 

Protected Attributes

SkeletonPoint2dColl _pointColl
 collection of points associated to skeleton
 
SkeletonVertex2dColl _vertexColl
 collection of vertices associated to skeleton
 
ParabolaColl _parabolaColl
 
- Protected Attributes inherited from ipsdk::BaseObjectWithSkeleton
eSklSrzMode _sklSrzMode
 serialization flag for object More...
 

Additional Inherited Members

- Public Types inherited from ipsdk::geom::BaseTypedGeometryEntity2d< ipReal64 >
typedef ipReal64 DataType
 data type associated to coordinates
 
- 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
 
- 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

Class allowing to represent a skeleton associated to a polygon with holes.

Author
E.Noirfalise
Date
2016/07/26

This is a subset of full voronoi diagram associated to polygon (only interior of polygon is represented by skeleton).

Member Function Documentation

◆ isSegmentParabolic()

bool ipsdk::geom::Skeleton2d::isSegmentParabolic ( const ipUInt32  pointIdx0,
const ipUInt32  pointIdx1 
) const

check whether two points are associated to a parabolic segment

Exceptions
ipsdk::geom::IPSDKGeometryExceptionif std::max(pointIdx0, pointIdx1) >= getPoint2dColl().size()

◆ getParabola()

const Parabola2d& ipsdk::geom::Skeleton2d::getParabola ( const ipUInt32  pointIdx0,
const ipUInt32  pointIdx1 
) const

retrieve parabolic segment associated to two points

Exceptions
ipsdk::geom::IPSDKGeometryExceptionif isSegmentParabolic(pointIdx0, pointIdx1) == false

◆ computeEdgeLength()

ipReal64 ipsdk::geom::Skeleton2d::computeEdgeLength ( const ipUInt32  pointIdx0,
const ipUInt32  pointIdx1 
) const

retrieve segment length associated to two end points

Exceptions
ipsdk::geom::IPSDKGeometryExceptionif std::max(pointIdx0, pointIdx1) >= getPoint2dColl().size()

Member Data Documentation

◆ _parabolaColl

ParabolaColl ipsdk::geom::Skeleton2d::_parabolaColl
protected

map allowing to associate an edge index to a parabola if edge is associated to a parabolic segment


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