38 class CSOLiveWireGraphBase;
46 CSOLiveWireGraph(
float* imageData,
unsigned int sizex,
unsigned int sizey,
bool useCostsDirectly,
float voxelSizeX=1.0f,
float voxelSizeY=1.0f);
61 void setWeights(
float weightGradient,
float weightLaplace,
float weightDirection);
#define MLCSO_EXPORT
Defines export symbols for classes, so they can be used in other DLLs.
The class maintains a graph for applying a shortest path algorithm on.
void getShortestPathToStart(VoxelPos endPos, std::vector< VoxelPos > &intermediatePositions, CSOLiveWireNeighborhoodMode neighborhoodMode, bool reverse=true)
Computes the shortest path from the given endPos to the graph's internal start position.
CSOLiveWireGraph(float *imageData, unsigned int sizex, unsigned int sizey, bool useCostsDirectly, float voxelSizeX=1.0f, float voxelSizeY=1.0f)
Constructor, takes an array with image values and the image's size as arguments.
void setWeights(float weightGradient, float weightLaplace, float weightDirection)
Sets the weights for individual costs (only used if useCostsDirectly == false)
CSOLiveWireGraphBase * _impl
void setStartPosition(VoxelPos startVoxelPos)
Sets the starting position.
~CSOLiveWireGraph()
Standard destructor.
CSOLiveWireNeighborhoodMode
The neighborhood modes for the graph search.
@ CSO_LIVE_WIRE_8_NEIGHBORHOOD
8 neighborhood (main directions and the diagonals).
@ CSO_LIVE_WIRE_4_NEIGHBORHOOD
4 neighborhood (just the main directions).
Structure holding a 2D voxel position.