89 enum CSO_REACT_ON_DOUBLE_CLICK
91 CSO_EDITOR_DOUBLE_CLICK_SET_SINGLE_SEED = 0,
92 CSO_EDITOR_DOUBLE_CLICK_SET_DOUBLE_SEEDS,
93 CSO_EDITOR_DOUBLE_CLICK_FINISH,
94 CSO_EDITOR_DOUBLE_CLICK_CLOSE,
95 CSO_EDITOR_DOUBLE_CLICK_FINISH_NO_CLOSE
98 void setLiveWireStartPosition(
const ml::Vector3& worldPosition);
101 void interpolateAllPathPointLists(
ml::CSO* cso);
103 void fillPathPoints(
ml::CSOPathPoints* pathPoints,
const std::vector<ml::VoxelPos>& pathPositions);
106 bool isCurrentPositionOnTopOfPreviousSeedPoint()
const;
116 void configureLiveWireGraph();
127 void fieldChanged(SoField*);
128 void inputImageChanged(SoField*);
130 SbVec3f _startPosition;
139 bool _couldCloseCurrentCSO;
141 bool _shouldCloseWhenStartedInFreehand;
142 bool _hasStartedFreehand;
143 bool _isDrawingFreehand;
147 unsigned int _lastImageSerialNumber;
#define SOCSO_EXPORT
Header file for system independent resolution.
SoCSOLineCreatorEditorExtension()
Hidden constructor.
SoSFBool useLaplacianSmoothing
Shall the CSOs be smoothed by a Laplacian smoothing?
SoSFFloat weightLaplacian
Weight of Laplace zero crossing cost.
void createStartPressAt(const SoPointerPosition &pos) override
void createNewCSO(const SoPointerPosition &pos)
~SoCSOLiveWireEditor() override
Destructor.
SoSFEnum doubleClickMode
Defines how the module should react on a double-click.
void selectAndMoveDragMoveTo(const SoPointerPosition &pos) override
SoPointingAction * selectAndMoveEndPress(int clickCount) override
SoSFMLImage inputImage
Input image.
void pointerPositionIfAllowedAt(const SoPointerPosition &pos) override
void insertSeedPointDragMoveTo(const SoPointerPosition &pos) override
int cursorShape() const override
Returns the cursor shape that indicates the next creation.
void pointerPosition(const SoPointerPosition &) override
Called when the mouse moves over a viewer.
SoSFEnum neighborhoodMode
Neighborhood modes (4/8).
SoSFInt32 numLaplacianSmoothingPasses
Sets the smoothing amount for Laplacian smoothing.
void createDragMoveTo(const SoPointerPosition &pos) override
SoSFFloat weightDirectional
Weight of directional cost.
void cancel() override
Cancels an action like generating a CSO. Depends on concrete editor.
void initMembers() override
static void initClass()
init class in inventor runtime
ml::Vector3 getCurrentPositon(const SoPointerPosition &pos)
SoSFFloat weightGradient
Weight of the gradient.
bool createEndPress(int clickCount) override
SoSFBool inputImageIsCostImage
Is the input image already a cost image?
void insertSeedPointStartPressAt(const SoPointerPosition &pos) override
SoCSOLiveWireEditor()
Standard constructor.
void selectAndMoveStartPressAt(const SoPointerPosition &pos) override
bool deleteSeedPoint(ml::CSO *cso, ml::CSOSeedPoint *seedPoint) override
Removes the given seed point from the given CSO and returns whether that was successful.
SoPointingAction * insertSeedPointEndPress(int clickCount) override
SoPointerPosition manages the current position of the mouse cursor.
SoSFMLImage - field interface to ML images and related classes.
The class maintains a graph for applying a shortest path algorithm on.
Tmat4< MLdouble > Matrix4
The standard 4x4 matrix of type double.
Tvec3< MLdouble > Vector3
A vector with three components of type double.
Structure holding a 2D voxel position.