IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
GeometryEntityTypes.h
Go to the documentation of this file.
1 // GeometryEntityTypes.h:
3 // ----------------------
4 //
14 
15 #ifndef __IPSDKGEOMETRY_GEOMETRYENTITYTYPES_H__
16 #define __IPSDKGEOMETRY_GEOMETRYENTITYTYPES_H__
17 
19 #include <IPSDKUtil/BaseTypes.h>
20 #include <boost/shared_ptr.hpp>
21 #include <vector>
22 
23 // to avoid warning : warning C4005: 'BOOST_UBLAS_TYPE_CHECK' : macro redefinition
24 #include <boost/geometry/strategies/transform/matrix_transformers.hpp>
25 
26 namespace ipsdk {
27 namespace geom {
28 
29 class BaseGeometryEntity;
30 
33 
37 
39  (eCD_2d)
40 
41  // 3d coordinates
42  (eCD_3d)
43 )
44 
45 
50 struct RowSegment
51 {
55 
59 };
60 
62 typedef std::vector<RowSegment> RowSegments;
63 
65 typedef std::vector<RowSegments> RowSegmentsColl;
66 
70 struct RowIntersections
71 {
74 
77 };
78 
81 
84 struct RowSegment_UInt32
85 {
89 
93 };
94 
96 typedef std::vector<RowSegment_UInt32> RowSegments_UInt32;
97 
99 typedef std::vector<RowSegments_UInt32> RowSegmentsColl_UInt32;
105 {
111 };
112 
115 
117 typedef boost::shared_ptr<BaseGeometryEntity> GeometryEntityPtr;
120 typedef boost::shared_ptr<const BaseGeometryEntity> GeometryEntityConstPtr;
123 typedef boost::weak_ptr<BaseGeometryEntity> GeometryEntityWeakPtr;
126 typedef boost::weak_ptr<const BaseGeometryEntity> GeometryEntityConstWeakPtr;
129 typedef std::vector<GeometryEntityPtr> GeometryEntityPtrColl;
133 
134 } // end of namespace geom
135 } // end of namespace ipsdk
136 
137 #endif // __IPSDKGEOMETRY_GEOMETRYENTITYTYPES_H__
boost::weak_ptr< BaseGeometryEntity > GeometryEntityWeakPtr
weak pointer to BaseGeometryEntity
Definition: GeometryEntityTypes.h:124
std::vector< RowSegments > RowSegmentsColl
collection of collection of row segments
Definition: GeometryEntityTypes.h:66
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
boost::weak_ptr< const BaseGeometryEntity > GeometryEntityConstWeakPtr
weak pointer to const BaseGeometryEntity
Definition: GeometryEntityTypes.h:127
RowSegmentsColl _rowSegColl
row intersections collections
Definition: GeometryEntityTypes.h:77
Definition: GeometryEntityTypes.h:71
std::vector< RowSegments_UInt32 > RowSegmentsColl_UInt32
collection of collection of row segments for version 1 (with UInt32 data)
Definition: GeometryEntityTypes.h:100
eCoordinateDimension
Enumerate describing coordinates dimension.
Definition: GeometryEntityTypes.h:38
ipUInt32 _startX
Definition: GeometryEntityTypes.h:89
boost::shared_ptr< BaseGeometryEntity > GeometryEntityPtr
shared pointer to BaseGeometryEntity
Definition: GeometryEntityTypes.h:118
ipUInt64 _startX
Definition: GeometryEntityTypes.h:55
ipUInt64 _endX
Definition: GeometryEntityTypes.h:59
Base types for multiplatform compatibility.
Definition: GeometryEntityTypes.h:105
Definition: GeometryEntityTypes.h:51
std::vector< RowSegment > RowSegments
collection of row segments
Definition: GeometryEntityTypes.h:63
Definition: GeometryEntityTypes.h:85
std::vector< RowSegment_UInt32 > RowSegments_UInt32
collection of row segments for version 1 (with UInt32 data)
Definition: GeometryEntityTypes.h:97
ipUInt32 _yOffset
y coordinate of first row intersections
Definition: GeometryEntityTypes.h:108
RowSegmentsColl_UInt32 _rowSegColl
row intersections collections
Definition: GeometryEntityTypes.h:111
ipUInt64 _yOffset
y coordinate of first row intersections
Definition: GeometryEntityTypes.h:74
ipUInt32 _endX
Definition: GeometryEntityTypes.h:93
boost::shared_ptr< const BaseGeometryEntity > GeometryEntityConstPtr
shared pointer to const BaseGeometryEntity
Definition: GeometryEntityTypes.h:121
Predefined macros for enumerates management.
#define IPSDK_ENUM(enumTypeStr, enumSeq)
macro allowing to declare an enumerate for library
Definition: EnumMacros.h:26
std::vector< GeometryEntityPtr > GeometryEntityPtrColl
collection of shared pointer to BaseGeometryEntity
Definition: GeometryEntityTypes.h:130
2d coordinates
Definition: GeometryEntityTypes.h:40
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53