NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
Geometry Path Editor

Geometry path editor. More...

Data Structures

class  I2DGeometryPathEditor
 Allows to edit the geometry path by adding geometric primitives, like line, Bezier curves, etc. More...
 

Enumerations

enum  GeometryFillModeType { GeometryFillModeType_Unknown = 0x0, GeometryFillModeType_EvenOdd = 0x1, GeometryFillModeType_Winding = 0x2 }
 Geometry fill mode. More...
 
enum  GeometryPathEditorProps {
  kGeometryPathEditorProp_ApproximateQuadraticBeziersByLines = 0, kGeometryPathEditorProp_ApproximateCubicBeziersByLines = 1, kGeometryPathEditorProp_ImplementationSpecificBase = 0x10000, kSkiaGeometryPathEditorProp_AddLinesMode = kGeometryPathEditorProp_ImplementationSpecificBase + 1,
  kSkiaGeometryPathEditorProp_DefaultAddLinesMode = 0, kSkiaGeometryPathEditorProp_AddClosedPolyMode = 1, kSkiaGeometryPathEditorProp_AddOpenedPolyMode = 2
}
 Geometry path editor properties. More...
 
enum  GeometryFinishFigureRule { GeometryFinishFigureRule_LeaveOpened = 0x0, GeometryFinishFigureRule_CloseFigure = 0x1 }
 Figure finish rule (see I2DGeometryPathEditor::FinishFigure) More...
 

Functions

static bool Is2DCoordinateInfinite (const float &coord)
 Checks, if given 2D coordinate value is infinite.
 

Variables

static const float k2DInfiniteCoordinate = SDK_MAX_FLOAT / 10.0f
 Infinite value for Ox/Oy coordinate, if at least one of coordinates is equal or bigger than infinity value, the path is infinite.
 

Detailed Description

Geometry path editor.

Enumeration Type Documentation

◆ GeometryFillModeType

Geometry fill mode.

Enumerator
GeometryFillModeType_Unknown 

Unknown fill mode type.

GeometryFillModeType_EvenOdd 

Fill mode by checking even/odd intersection count.

GeometryFillModeType_Winding 

Fill mode by checking left-to-right or right-to-left segment intersection count.

◆ GeometryPathEditorProps

Geometry path editor properties.

Enumerator
kGeometryPathEditorProp_ApproximateQuadraticBeziersByLines 

Approximate quadratic Beziers by lines on AddQuadraticBezier(s) call.

kGeometryPathEditorProp_ApproximateCubicBeziersByLines 

Approximate quadratic Beziers by lines on AddCubicBezier(s) call.

kGeometryPathEditorProp_ImplementationSpecificBase 

Base for implementation specific properties.

kSkiaGeometryPathEditorProp_AddLinesMode 

SkiaGeometryPathEditor properties.

kSkiaGeometryPathEditorProp_DefaultAddLinesMode 

Default AddLines mode.

kSkiaGeometryPathEditorProp_AddClosedPolyMode 

AddLines(points,count) method is treated as (optimized) shortcut for:
StartFigure(points[0]);
for (int i = 1, i < count; ++i) AddLine(points[i]);
FinishFigure(GeometryFinishFigureRule_CloseFigure)

kSkiaGeometryPathEditorProp_AddOpenedPolyMode 

AddLines(points,count) method is treated as (optimized) shortcut for:
StartFigure(points[0]);
for (int i = 1, i < count; ++i) AddLine(points[i]);
FinishFigure(GeometryFinishFigureRule_LeaveOpened)

◆ GeometryFinishFigureRule

Figure finish rule (see I2DGeometryPathEditor::FinishFigure)

Enumerator
GeometryFinishFigureRule_LeaveOpened 

Figure should be opened.

GeometryFinishFigureRule_CloseFigure 

Figure should be closed.