33 struct LineRenderSettings;
55 typedef std::vector<ml::Vector3>
TrailT;
std::vector< CSOTrailIntersection > CSOTrailIntersections
#define SOCSO_EXPORT
Header file for system independent resolution.
ml::Matrix4 _worldToVoxelMatrix
TrailT _smoothedTrailPositionsVoxelSpace
bool hasTrailWithArea() const
static void smoothPositions(const TrailT &inputPositions, TrailT &smoothedTrail)
Smooths the given vector of positions by a Laplacian smoothing.
void addToTrail(const SbVec3f &position)
void setWorldToVoxelMatrix(const ml::Matrix4 &worldToVoxelMatrix)
void convertSbVec3fToVector3(const SbVec3f &original, ml::Vector3 ©) const
void setupGLForTrail(const SoCSOEditorTools::LineRenderSettings &renderSettings) const
ml::CSOBoundingBox _projectedTrailVoxelBoundingBox
ml::CSOBoundingBox getVoxelBoundingBox()
std::vector< ml::Vector3 > TrailT
void computeVoxelSpaceProperties()
void drawTrail(const CSODrawView2DInfos &view2DInfos, SoView2DCSOExtensibleEditor *editor, bool closeTrail=true) const
ml::Vector3 getTrailNormal() const
std::vector< ml::Vector3 > & getTrailVoxelSpace()
bool _shouldRecomputeVoxelSpaceProperties
ml::CSOBoundingBox getProjectedVoxelBoundingBox()
TrailT _trailPositionsVoxelSpace
const TrailT & getTrail() const
std::vector< ml::Vector3 > & getSmoothedTrailVoxelSpace()
static bool segmentsArePossiblyCrossing(const ml::Vector3 &trailSegmentStart, const ml::Vector3 &trailSegmentEnd, const ml::Vector3 &csoSegmentStart, const ml::Vector3 &csoSegmentEnd)
Returns whether the given segments are potentially crossing each other.
void setBackGLForTrail() const
ml::CSOBoundingBox _voxelBoundingBox
Base class for an editor extension for the SoView2DCSOExtensibleEditor.
The CSOBoundingBox defines an axis parallel bounding box with double precision.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
Struct holding the CSO/trail point index and the computed intersection point.
ml::Vector3 intersectionPoint