IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Skeleton2dTypes.h
Go to the documentation of this file.
1 // Skeleton2dTypes.h:
3 // ------------------
4 //
14 
15 #ifndef __IPSDKGEOMETRY_SKELETON2DTYPES_H__
16 #define __IPSDKGEOMETRY_SKELETON2DTYPES_H__
17 
21 #include <boost/shared_ptr.hpp>
22 #include <map>
23 
24 namespace ipsdk {
25 namespace geom {
26 
27 class Skeleton2d;
28 class SkeletonVertex2d;
29 template <typename T>
30 struct Point2dData;
31 template <typename T>
32 class PolygonWithHoles2d;
33 class Parabola2d;
34 
37 
41 
44 
47 
49  (eSVC_Slab)
50 
53 
55  (eSVC_All)
56 )
57 
61 
63  (eSEC_Leaf)
64 
67 
69  (eSEC_All)
70 )
71 
72 
77 
79 typedef std::vector<SkeletonPoint2d> SkeletonPoint2dColl;
80 
82 typedef std::vector<SkeletonVertex2d> SkeletonVertex2dColl;
83 
85 typedef std::pair<ipUInt64, ipUInt64> PairIdx;
86 
88 typedef std::vector<PairIdx> PairIdxColl;
89 
91 typedef std::map<PairIdx, Parabola2d> ParabolaColl;
92 
94 typedef boost::shared_ptr<Skeleton2d> Skeleton2dPtr;
95 
97 typedef boost::shared_ptr<const Skeleton2d> Skeleton2dConstPtr;
98 
101 
102 } // end of namespace geom
103 } // end of namespace ipsdk
104 
105 #endif // __IPSDKGEOMETRY_SKELETON2DTYPES_H__
std::pair< ipUInt64, ipUInt64 > PairIdx
pair of point indexes
Definition: Skeleton2dTypes.h:83
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
vertex connected exactly to one other vertice
Definition: Skeleton2dTypes.h:50
eSkeletonEdgeCategory
Enumerate describing skeleton edge type.
Definition: Skeleton2dTypes.h:60
all edges
Definition: Skeleton2dTypes.h:66
std::vector< SkeletonVertex2d > SkeletonVertex2dColl
collection of skeleton vertex 2d
Definition: Skeleton2dTypes.h:80
std::vector< PairIdx > PairIdxColl
collection of pair of point indexes
Definition: Skeleton2dTypes.h:86
leaf edge (edge connected to a polygon point)
Definition: Skeleton2dTypes.h:62
Point2dData< ipReal64 > SkeletonPoint2d
point type associated to voronoi skeletons
Definition: Skeleton2dTypes.h:74
eSkeletonVertexCategory
Enumerate describing skeleton vertex type.
Definition: Skeleton2dTypes.h:42
boost::shared_ptr< Skeleton2d > Skeleton2dPtr
shared pointer to Skeleton2d
Definition: Skeleton2dTypes.h:92
Definition of import/export macro for library.
std::vector< SkeletonPoint2d > SkeletonPoint2dColl
collection of points associated to voronoi skeletons
Definition: Skeleton2dTypes.h:77
vertex connected at least to three other vertices
Definition: Skeleton2dTypes.h:46
internal vertex (vertex without connection to leaf)
Definition: Skeleton2dTypes.h:44
vertex connected exactly to two other vertices
Definition: Skeleton2dTypes.h:48
Predefined base collection types for library.
boost::shared_ptr< const Skeleton2d > Skeleton2dConstPtr
shared pointer to const Skeleton2d
Definition: Skeleton2dTypes.h:95
std::map< PairIdx, Parabola2d > ParabolaColl
map allowing to associate an edge index to a parabola
Definition: Skeleton2dTypes.h:89
Predefined macros for enumerates management.
branch edge (edge not connected to a polygon point)
Definition: Skeleton2dTypes.h:64
#define IPSDK_ENUM(enumTypeStr, enumSeq)
macro allowing to declare an enumerate for library
Definition: EnumMacros.h:26
all vertices
Definition: Skeleton2dTypes.h:52