NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
2d_geometry_path_factory_interface.h
1 #ifndef SDK_2D_GEOMETRY_PATH_FACTORY_INTERFACE_H_
12 #define SDK_2D_GEOMETRY_PATH_FACTORY_INTERFACE_H_
13 #pragma once
14 
15 #include <base/inc/platform.h>
16 #include <base/inc/base_types.h>
18 #include <base/inc/sdk_ref_ptr.h>
20 #include "2d_geometry_objects.h"
22 
23 namespace sdk {
24 namespace geometry {
25 
26 
30 class I2DGeometryPathFactory : public sdk::ISDKComponent
31 {
32 public:
36  virtual SDKResult SDK_CALLTYPE SetMultiThreadedSupport(
37  bool is_multithreaded_usage) throw() = 0;
39  virtual SDKResult SDK_CALLTYPE GetMultiThreadedSupport(
40  bool& is_multithreaded_usage) const throw() = 0;
41 
51  virtual SDKResult SDK_CALLTYPE ConnectWithRenderTargetFactory(
52  const sdk::gfx::RenderTargetFactorySP& render_target_factory) throw() = 0;
53 
55  virtual SDKResult SDK_CALLTYPE CreateGeometryPath(
56  sdk::geometry::GeometryPathSP& new_path) throw() = 0;
57 
60  virtual SDKResult SDK_CALLTYPE CreateInfiniteGeometryPath(
61  sdk::geometry::GeometryPathSP& new_path) throw() = 0;
62 
64  SDK_IMPLEMENT_IID(I2DGeometryPathFactory)
65  SDK_END_INTERFACE(I2DGeometryPathFactory)
66 };
67 SDK_DECLARE_IID(I2DGeometryPathFactory)
68 
69 } // namespace geometry
70 } // namespace sdk
71 
72 #endif // SDK_2D_GEOMETRY_PATH_FACTORY_INTERFACE_H_
base_types.h
SDK base types.
sdk_ref_ptr.h
Interfaces wrapper with reference count control.
2d_geometry_path_interface.h
Describes interface for 2D geometry path, which supports the edit operations.
2d_render_target_factory_interface.h
This factory allows to create a render target, based on Direct2D or SKIA.
sdk::geometry::I2DGeometryPathFactory::CreateGeometryPath
virtual SDKResult SDK_CALLTYPE CreateGeometryPath(sdk::geometry::GeometryPathSP &new_path)=0
Creates a new geometry path instance.
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
sdk::geometry::I2DGeometryPathFactory::GetMultiThreadedSupport
virtual SDKResult SDK_CALLTYPE GetMultiThreadedSupport(bool &is_multithreaded_usage) const =0
Returns the multi-threaded support state flag.
sdk_component_interface.h
Common base SDK interfaces.
sdk::geometry::I2DGeometryPathFactory
2D geometry path factory interface which allows creating an instance of the 2D Geometry path object.
Definition: 2d_geometry_path_factory_interface.h:30
platform.h
Describes the platform constants.
sdk::geometry::I2DGeometryPathFactory::SetMultiThreadedSupport
virtual SDKResult SDK_CALLTYPE SetMultiThreadedSupport(bool is_multithreaded_usage)=0
Sets the flag state, which allows to use the objects from multi-threaded environment....
sdk::geometry::I2DGeometryPathFactory::ConnectWithRenderTargetFactory
virtual SDKResult SDK_CALLTYPE ConnectWithRenderTargetFactory(const sdk::gfx::RenderTargetFactorySP &render_target_factory)=0
Connects the given factory with graphics render target factory In case the geometry path will be used...
sdk::geometry::I2DGeometryPathFactory::CreateInfiniteGeometryPath
virtual SDKResult SDK_CALLTYPE CreateInfiniteGeometryPath(sdk::geometry::GeometryPathSP &new_path)=0
Creates a new geometry path with infinite geometry inside Infinite geometry means plane with infinite...