31 #include "core/common/math/linearAlgebra/WPosition.h"
56 std::vector< WPosition >
getLine();
Class performing graph computations for VisiTrace algorithm.
std::vector< std::vector< WPosition > > m_candidatePositions
The candidate positions for all rays.
std::vector< std::vector< double > > m_candidateJumps
The opacity jumps belonging to the intervals of the candidate positions.
void performVisiTrace()
Optimization resulting in the desired 3D curve (m_curve3D).
std::vector< std::vector< int > > getInverseLinearizedNodesRefs() const
Get ids in the vector of getLinearizedNodesRefs from structure of m_candidatePositions.
std::vector< WPosition > getLine()
Get the final 3D line a vector of WPosition.
void addCandidatesForRay(const std::vector< std::pair< double, WPosition > > candidates)
Add candidate positions and corresponding opacity jump values for one viewing ray.
void reset()
Erases all data to be able to start a new VisiTrace computation.
std::vector< std::pair< int, int > > getLinearizedNodesRefs() const
Get an vector with reference ids for all nodes.
WVisiTrace()
Simple constructor performing initializations.
bool m_dataChanged
Indicates whether new data has been added since last VisiTrace computation.
std::vector< WPosition > m_curve3D
The 3D curve computed by VisiTrace.
void performDijkstra()
Create weighted graph and find shortest path from according to VisiTrace.