DG Kernel Documentation


Skip Navigation Links.
Start page
Quick Start
Search Page
Installation
Overview of the software
What is new
Licensing
Collapse ModelsModels
Expand DG Kernel ComponentsDG Kernel Components
Expand API ReferenceAPI Reference
Expand Samples and TutorialsSamples and Tutorials
Expand GraphicsGraphics
Expand Math ObjectsMath Objects
Expand DeprecatedDeprecated
Redistribution
Model Viewer
Open Source
Support
Skip Navigation LinksHome Page > Models > Entities > Operations and Algorithms > Euclidean Shortest Path Search Documentation


Euclidean Shortest Path Algorithm

Euclidean Shortest Path (ESP) algorithm calculates shortest length curve (path) between two points in 3D space, which does not intersect any objects involved in the calculation.

The Start and Target points must not be located inside of any object involved, but very often the points are located on surface(s) of one or several objects.

ESP algorithm requires some initial path connecting the points to be defined to perform the optimisation. Most often the problem has multiple solutions. The supplied initial path is used to select the required solution. Use a trivial path containing only start and target points when the initial path is not known or choice of solution does not matter (see below).

The optimal solution can be considered as the result of constrained movement of the initial path as if it was a stretched rubber band. The solution is pseudo global. In most situations it will be the best solution achievable by continuous transformation of the initial path.

To perform the calculation use IEuclideanShortestPath_KC interface. The interface can be obtained by calling IDIObjGenerator.Create method with eType parameter set to eObjTypeESPAlgorithm value from  EObjectType enumeration and querying IEuclideanShortestPath_KC from the returned object.

Objects involved in the calculation must have Mesh geometry type. Use IEntity_DG.SetGeometryType("Mesh") to convert objects to mesh programmatically. This conversion can also be performed via saving to a mesh file format vrml, stl, obj, etc.

See more details at IEuclideanShortestPath_KC

See also: Euclidean Shortest Path sample