NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
2d_geometry_path_transform_interface.h
Go to the documentation of this file.
1 #ifndef SDK_2D_GEOMETRY_PATH_TRANSFORM_INTERFACE_H_
12 #define SDK_2D_GEOMETRY_PATH_TRANSFORM_INTERFACE_H_
13 #pragma once
14 
15 #include <base/inc/platform.h>
16 #include <base/inc/base_types.h>
20 #include "2d_geometry_objects.h"
21 
22 namespace sdk {
23 namespace geometry {
24 
28 {
36 
40 class I2DGeometryPathTransform : public sdk::ISDKComponent
41 {
42 public:
47  virtual SDKResult SDK_CALLTYPE Transform(
48  const SDKMatrix3X2& transformation_matrix,
49  sdk::geometry::GeometryPathSP& transformed_path) const throw() = 0;
50 
62  virtual SDKResult SDK_CALLTYPE Combine(
63  const sdk::geometry::GeometryPathSP& input_path,
64  const SDKMatrix3X2& input_path_transformation_matrix,
65  const sdk::geometry::GeometryPathCombineMode& combine_mode,
66  sdk::geometry::GeometryPathSP& combined_path) const throw() = 0;
67 
69  SDK_IMPLEMENT_IID(I2DGeometryPathTransform)
70  SDK_END_INTERFACE(I2DGeometryPathTransform)
71 };
72 SDK_DECLARE_IID(I2DGeometryPathTransform)
73 
74 } // namespace geometry
75 } // namespace sdk
76 
77 #endif // SDK_2D_GEOMETRY_PATH_TRANSFORM_INTERFACE_H_
sdk::geometry::I2DGeometryPathTransform::Combine
virtual SDKResult SDK_CALLTYPE Combine(const sdk::geometry::GeometryPathSP &input_path, const SDKMatrix3X2 &input_path_transformation_matrix, const sdk::geometry::GeometryPathCombineMode &combine_mode, sdk::geometry::GeometryPathSP &combined_path) const =0
Combines the given geometry path with specified and generates a new path object, which contains combi...
sdk::geometry::GeometryPathCombineMode_EXCLUDE
@ GeometryPathCombineMode_EXCLUDE
Exclude common part of first and second paths from first path.
Definition: 2d_geometry_path_transform_interface.h:32
sdk::geometry::GeometryPathCombineMode_EXCLUDE_LINE
@ GeometryPathCombineMode_EXCLUDE_LINE
Exclude common part of first and second paths from first path;.
Definition: 2d_geometry_path_transform_interface.h:34
base_types.h
SDK base types.
sdk::geometry::GeometryPathCombineMode_XOR
@ GeometryPathCombineMode_XOR
XOR operation for paths.
Definition: 2d_geometry_path_transform_interface.h:31
sdk::geometry::I2DGeometryPathTransform
Describes interface for 2D geometry path, which allows performs a transformation operation on given g...
Definition: 2d_geometry_path_transform_interface.h:40
sdk_string_handler.h
Wrappers and helper functions for SDKString.
sdk::geometry::GeometryPathCombineMode_AND_LINE
@ GeometryPathCombineMode_AND_LINE
Intersection of two paths; the first path is considered a line.
Definition: 2d_geometry_path_transform_interface.h:33
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
sdk::geometry::I2DGeometryPathTransform::Transform
virtual SDKResult SDK_CALLTYPE Transform(const SDKMatrix3X2 &transformation_matrix, sdk::geometry::GeometryPathSP &transformed_path) const =0
Transforms the geometry path by using transformation matrix New transformed path will be generated af...
sdk::geometry::GeometryPathCombineMode
GeometryPathCombineMode
Possible modes for combining two geometry paths.
Definition: 2d_geometry_path_transform_interface.h:27
sdk_component_interface.h
Common base SDK interfaces.
platform.h
Describes the platform constants.
sdk::geometry::GeometryPathCombineMode_OR
@ GeometryPathCombineMode_OR
Union of two paths.
Definition: 2d_geometry_path_transform_interface.h:29
matrix_base_types.h
Matrix base definitions.
sdk::geometry::GeometryPathCombineMode_AND
@ GeometryPathCombineMode_AND
Intersection of two paths.
Definition: 2d_geometry_path_transform_interface.h:30