IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
GeometryEntity3dTypes.h
Go to the documentation of this file.
1 // GeometryEntity3dTypes.h:
3 // ------------------------
4 //
14 
15 #ifndef __IPSDKGEOMETRY_GEOMETRYENTITY3DTYPES_H__
16 #define __IPSDKGEOMETRY_GEOMETRYENTITY3DTYPES_H__
17 
19 #include <boost/shared_ptr.hpp>
20 #include <vector>
21 
22 namespace ipsdk {
23 namespace geom {
24 
25 class BaseGeometryEntity3d;
26 template <typename T>
27 struct Point3dData;
28 template <typename T>
29 class Point3d;
30 
33 
37 
39  (eE3DT_Point)
40 
43 
46 
49 
51  (eE3DT_Sphere)
52 
55 
57  (eE3DT_Cube)
58 
61 
63  (eE3DT_Mesh)
64 
67 
69  (eE3DT_Shape)
70 
72  (eE3DT_Plan)
73 
76 
79 )
80 
84 
87 
90 )
91 
92 
95 typedef std::vector<RowIntersections> RowIntersectionsColl;
96 
100 struct RowIntersections3d
101 {
103  ipUInt64 _zOffset;
104 
106  RowIntersectionsColl _rowIntersectionsColl;
107 };
108 
111 
112 typedef std::vector<RowIntersections_UInt32> RowIntersectionsColl_UInt32;
118 {
121 
123  RowIntersectionsColl_UInt32 _rowIntersectionsColl;
124 };
125 
128 
130 typedef boost::shared_ptr<BaseGeometryEntity3d> GeometryEntity3dPtr;
131 
133 typedef boost::shared_ptr<const BaseGeometryEntity3d> GeometryEntity3dConstPtr;
134 
136 typedef std::vector<GeometryEntity3dPtr> GeometryEntity3dPtrColl;
137 
140 
141 } // end of namespace geom
142 } // end of namespace ipsdk
143 
144 #endif // __IPSDKGEOMETRY_GEOMETRYENTITY3DTYPES_H__
Vector.
Definition: GeometryEntity3dTypes.h:42
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
eCoordinateSystem3dType
Enumerate describing coordinate system 3d type.
Definition: GeometryEntity3dTypes.h:74
boost::shared_ptr< const BaseGeometryEntity3d > GeometryEntity3dConstPtr
shared pointer to const BaseGeometryEntity3d
Definition: GeometryEntity3dTypes.h:123
Point class associated to cartesian 3d coordinates.
Definition: GeometryEntity3dTypes.h:29
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
Point cloud.
Definition: GeometryEntity3dTypes.h:46
Definition: GeometryEntityTypes.h:71
Predefined types for geometry entity management.
Cube.
Definition: GeometryEntity3dTypes.h:52
Cuboid.
Definition: GeometryEntity3dTypes.h:54
Definition: GeometryEntity3dTypes.h:107
Ellipsoid.
Definition: GeometryEntity3dTypes.h:50
Shape.
Definition: GeometryEntity3dTypes.h:60
RowIntersectionsColl_UInt32 _rowIntersectionsColl
row intersections collections
Definition: GeometryEntity3dTypes.h:113
Segment.
Definition: GeometryEntity3dTypes.h:64
Spherical coordinate system.
Definition: GeometryEntity3dTypes.h:78
std::vector< GeometryEntity3dPtr > GeometryEntity3dPtrColl
collection of geometry entity 3d
Definition: GeometryEntity3dTypes.h:126
Definition: GeometryEntity3dTypes.h:90
Plan.
Definition: GeometryEntity3dTypes.h:62
eEntity3dType
Enumerate describing entity 3d type.
Definition: GeometryEntity3dTypes.h:38
Mesh.
Definition: GeometryEntity3dTypes.h:58
Cartesian coordinate system.
Definition: GeometryEntity3dTypes.h:76
Sphere.
Definition: GeometryEntity3dTypes.h:48
STL namespace.
ipUInt32 _zOffset
z coordinate of first row intersections
Definition: GeometryEntity3dTypes.h:110
Lightweight structure used to store Point3d data.
Definition: GeometryEntity3dTypes.h:27
#define IPSDK_ENUM(enumTypeStr, enumSeq)
macro allowing to declare an enumerate for library
Definition: EnumMacros.h:26
boost::shared_ptr< BaseGeometryEntity3d > GeometryEntity3dPtr
shared pointer to BaseGeometryEntity3d
Definition: GeometryEntity3dTypes.h:120
Point.
Definition: GeometryEntity3dTypes.h:40
BoundingBox.
Definition: GeometryEntity3dTypes.h:44
Triangle.
Definition: GeometryEntity3dTypes.h:66
Mesh.
Definition: GeometryEntity3dTypes.h:56
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53