![]() |
NAVTOR SDK
v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
|
Describes interface for 2D geometry path, which allows to get some different properties and use several utils for given path. More...
#include <2d_geometry_path_utils_interface.h>
Inherits ISDKComponent.
Public Member Functions | |
| virtual SDKResult SDK_CALLTYPE | IsEmpty (bool &is_empty) const =0 throw () |
| Indicates whether this geometry contains any points. | |
| virtual SDKResult SDK_CALLTYPE | IsInfinite (bool &is_infinite) const =0 throw () |
| Indicates whether this geometry is a plane with infinite borders. | |
| virtual SDKResult SDK_CALLTYPE | CalcBounds (const SDKMatrix3X2 &transformation_matrix, SDKRectF2D &bounds) const =0 throw () |
| Calculates the geometry path bounding rectangle For infinite geometry the bounding rect has infinite coordinate values. | |
| virtual SDKResult SDK_CALLTYPE | FastCalcBounds (const SDKMatrix3X2 &transformation_matrix, SDKRectF2D &bounds) const =0 throw () |
| Calculates the geometry path bounding rectangle Inaccurate, but fast algorithm, for exact bounds use CalcBounds method For infinite geometry the bounding rect has infinite coordinate values. | |
| virtual SDKResult SDK_CALLTYPE | CalcPerimeter (float &perimeter) const =0 throw () |
| Calculates the perimeter of geometry path For infinite geometry the SDK_MAX_FLOAT value will be returned as perimeter. | |
| virtual SDKResult SDK_CALLTYPE | CalcArea (float &area) const =0 throw () |
| Calculates the area of geometry path For infinite geometry the SDK_MAX_FLOAT value will be returned as area. | |
| virtual SDKResult SDK_CALLTYPE | CalcPointByDistance (const float &distance, const SDKMatrix3X2 &transformation_matrix, SDKPointF2D &point, SDKPointF2D &tangent) const =0 throw () |
| Calculates the appropriate point position on path by using distance value from start No point position can be calculated for infinite path. | |
| virtual SDKResult SDK_CALLTYPE | CompareWithPath (const GeometryPathSP &input_path, const SDKMatrix3X2 &input_path_transformation_matrix, GeometryPathCompareResult &compare_result) const =0 throw () |
| Compares the given geometry path with passed one Note, in case one of paths is infinite, it's always contains another path. | |
| virtual SDKResult SDK_CALLTYPE | IsPointInsideArea (const SDKPointF2D &point, const SDKMatrix3X2 &transformation_matrix, bool &is_inside) const =0 throw () |
| Checks, if point lays inside given path Point is always lays inside infinite path. | |
| virtual SDKResult SDK_CALLTYPE | IsPointOnEdge (const SDKPointF2D &point, const SDKMatrix3X2 &transformation_matrix, const float &edge_width, bool &is_on_edge) const =0 throw () |
| Checks, if point lays on the edge on given path Point is always does not lays on infinite path edge. | |
| virtual SDKResult SDK_CALLTYPE | ClipByRect (const SDKRectF2D &rect, GeometryPathSP &clipped_path, GeometryType clip_mode=kGMT_Surface, GeometryPathCompareResult *clip_result=NULL) const =0 throw () |
| Quickly clip the geometry by the rectangle. More... | |
| virtual SDKResult SDK_CALLTYPE | IsIntersect (const SDKRectF2D &rect, GeometryType clip_mode=kGMT_Surface, GeometryPathCompareResult *clip_result=NULL) const =0 throw () |
| Quickly check is the geometry intersect the rectangle. More... | |
Describes interface for 2D geometry path, which allows to get some different properties and use several utils for given path.
|
pure virtual | ||||||||||||||||||||||||||||
Quickly clip the geometry by the rectangle.
| [in] | rect | The clipping rectangle |
| [out] | clipped_path | Clip result |
| [in,optional] | clip_mode selects the clipping way: clip as area or clip as a line so as kGMT_Surface or kGMT_Curve is a good choice from the all geometries zoo here | |
| [out,optional] | clip_result More exact result |
|
pure virtual | ||||||||||||||||||||||||
Quickly check is the geometry intersect the rectangle.
| [in] | rect | The clipping rectangle |
| [in,optional] | clip_mode selects the clipping way: clip as area or clip as a line so as kGMT_Surface or kGMT_Curve is a good choice from the all geometries zoo here | |
| [out,optional] | clip_result More exact result |