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.
 
Base class for extensions that generate line-type CSOs with special interaction on finished CSOs.
 
Extension for rendering, generating, and modifying a live wire CSO.
 
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
Sets seed points while moving the mouse – but not while dragging.
 
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.
 
SoPointingAction is the base class for any mouse based interaction.
 
The SoSFMLImage field is the interface used by Inventor Nodes to access image data (in the current im...
 
SoSFMLImage - field interface to ML images and related classes.
 
The class maintains a graph for applying a shortest path algorithm on.
 
The CSOPathPoints is a list of world coordinates that are interpolated by a certain interpolation sch...
 
The CSOSeedPoint can be interactively set and modified, and is the framework for contours.
 
The CSO represents a contour segmentation object.
 
Structure holding a 2D voxel position.