NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
I2DGeometryPathUtils Class Referenceabstract

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...
 

Detailed Description

Describes interface for 2D geometry path, which allows to get some different properties and use several utils for given path.

Member Function Documentation

◆ ClipByRect()

virtual SDKResult SDK_CALLTYPE ClipByRect ( const SDKRectF2D &  rect,
GeometryPathSP &  clipped_path,
GeometryType  clip_mode = kGMT_Surface,
GeometryPathCompareResult *  clip_result = NULL 
) const
throw (
)
pure virtual

Quickly clip the geometry by the rectangle.

Parameters
[in]rectThe clipping rectangle
[out]clipped_pathClip 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
Returns
kSDKResult_True, kSDKResult_False or some kind of error

◆ IsIntersect()

virtual SDKResult SDK_CALLTYPE IsIntersect ( const SDKRectF2D &  rect,
GeometryType  clip_mode = kGMT_Surface,
GeometryPathCompareResult *  clip_result = NULL 
) const
throw (
)
pure virtual

Quickly check is the geometry intersect the rectangle.

Parameters
[in]rectThe 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
Returns
kSDKResult_True, kSDKResult_False or some kind of error

The documentation for this class was generated from the following file: