NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
geometry_edit.h
Go to the documentation of this file.
1 #ifndef SDK_GEOMETRY_EDIT_INTERFACE_H_
11 #define SDK_GEOMETRY_EDIT_INTERFACE_H_
12 
15 
16 namespace sdk {
17 namespace geometry {
18 // Classes declared in this file.
19 FWD_DECL_INTERFACE(IGeometryEdit);
20 FWD_DECL_INTERFACE(IGeometryViewportTransformation);
21 FWD_DECL_INTERFACE(IGeometryEditUtil);
22 
26 class IGeometryEdit : public ISDKComponent {
27 public:
31  virtual SDKResult SDK_CALLTYPE Clear() throw() = 0;
32 
37  virtual SDKResult SDK_CALLTYPE AddGeometry(
38  IGeometry* geometry) throw() = 0;
39 
51  virtual SDKResult SDK_CALLTYPE AddPoints(
53  const void* points,
54  SDKUInt32 point_num,
55  SDKInt32 ring_index,
56  SDKUInt32 multi_index) throw() = 0;
57 
58  SDK_IMPLEMENT_IID(IGeometryEdit)
59  SDK_END_INTERFACE(IGeometryEdit)
60 };
61 SDK_DECLARE_IID(IGeometryEdit)
62 
67 public:
69  virtual SDKResult SDK_CALLTYPE Transform(
70  const SDKMatrix3X2& matrix,
71  geometry::IGeometry** transformed_geom) throw() = 0;
72 
73  SDK_IMPLEMENT_IID(IGeometryViewportTransformation)
74  SDK_END_INTERFACE(IGeometryViewportTransformation)
75 };
76 SDK_DECLARE_IID(IGeometryViewportTransformation)
77 
78 class IGeometryEditUtil : public ISDKComponent {
81 public:
83  virtual SDKResult SDK_CALLTYPE AdjustToMercator() throw() = 0;
84 
85  SDK_IMPLEMENT_IID(IGeometryEditUtil)
86  SDK_END_INTERFACE(IGeometryEditUtil)
87 };
88 SDK_DECLARE_IID(IGeometryEditUtil)
89 
90 } // namespace geometry
91 } // namespace sdk
92 
93 #endif // SDK_GEOMETRY_EDIT_INTERFACE_H_
sdk::geometry::IGeometryViewportTransformation
Provides access to members that allow to perform transformation of points of geometry.
Definition: geometry_edit.h:66
geometry.h
Describes interfaces that manages a geometry objects.
sdk::geometry::IGeometryEdit::AddGeometry
virtual SDKResult SDK_CALLTYPE AddGeometry(IGeometry *geometry)=0
Adds a geometry to the GeometryCollection.
sdk::geometry::IGeometryEdit::Clear
virtual SDKResult SDK_CALLTYPE Clear()=0
Deletes all points in the geometry object.
IGeometry
Provides access to members that describe properties and behavior of all geometric objects.
Definition: geometry.h:293
sdk::geometry::IGeometryViewportTransformation::Transform
virtual SDKResult SDK_CALLTYPE Transform(const SDKMatrix3X2 &matrix, geometry::IGeometry **transformed_geom)=0
Transforms geometry coordinates in place.
sdk::geometry::IGeometryEdit
Provides access to members that describe properties and behavior of all geometric objects.
Definition: geometry_edit.h:26
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
sdk::geometry::IGeometryEdit::AddPoints
virtual SDKResult SDK_CALLTYPE AddPoints(geometry::PointType type, const void *points, SDKUInt32 point_num, SDKInt32 ring_index, SDKUInt32 multi_index)=0
Associates points with or appends them to a specified geometry element.
PointType
PointType
Type of point.
Definition: geometry.h:224
ISDKComponent
Base interface for all SDK interfaces.
Definition: sdk_component_interface.h:41
sdk::geometry::IGeometryEditUtil::AdjustToMercator
virtual SDKResult SDK_CALLTYPE AdjustToMercator()=0
Projects coordinates on Mercator limits.
matrix3x2.h
Matrix 3X2 implementation.
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.