135  static void baseEventCB(
void* userData, 
ml::BaseEvent* event);
 
  143  bool isInSelectionDistance(
const SbVec2f& pos1, 
const SbVec2f& pos2, 
float selectionDistance) 
const;
 
  145  bool isInTranslationArea(
const SbVec2f& mouseDevicePosition, 
const std::vector < SbVec2f >& translateHandlesPositions)
const;
 
  149  void clearHandlesPositions();
 
  151  void setScaleCursorShape();
 
  153  void limitScaleOffset(SbVec2f& scaleOffset);
 
  155  void computeMoveAndScaleFactors(
const SbVec3f& offsetX, 
const SbVec3f& offsetY, 
float voxelBBX, 
float voxelBBY,
 
  156                                  float& voxelMoveX, 
float& voxelMoveY, 
float& voxelScaleX, 
float& voxelScaleY) 
const;
 
  159  void computeMoveAndScaleFactorsForIsotropicScaling(
const SbVec3f& bbVoxelCenterPoint, 
const SbVec3f& currentVoxelPosition, 
float& voxelScaleX, 
float& voxelScaleY);
 
  161  void drawRotateIndicatorLine(
ml::CSO* cso, 
const SbVec2f& rotateHandlePosition, 
float rotateHandleOffset);
 
  163  boost::unordered_map < MatrixHashPair, std::vector < SbVec2f >, 
MatrixHashFunction > _scaleHandlesPositionsCache;
 
  164  boost::unordered_map < MatrixHashPair, std::vector < SbVec2f >, 
MatrixHashFunction > _translateHandlesPositionsCache;
 
  166  boost::unordered_map < MatrixHashPair, SbVec2f, MatrixHashFunction > _rotateHandlePositionCache;
 
  167  boost::unordered_map < MatrixHashPair, SbVec2f, MatrixHashFunction > _rotateCenterCache;
 
  170  void resetActiveHandleIndices()
 
  172    _activeScaleHandleIndex = -1;
 
  173    _activeTranslateHandleIndex = -1;
 
  174    _activeRotateHandleIndex = -1;
 
  178  bool shouldShowHandles() 
const;
 
  183  int _activeScaleHandleIndex;
 
  184  int _activeTranslateHandleIndex;
 
  185  int _activeRotateHandleIndex;
 
  187  SbVec2f _startDevicePosition;
 
  188  SbVec3f _startVoxelPositionForIsotropicScaling;
 
  189  SbVec3f _lastWorldPosition;
 
  190  SbVec3f _lastGoodCurrentWorldPosition;
 
  196  SbVec2f _rotationCenterDevice;
 
  200  ml::Matrix4 convertInventorToMLMatrix(
const SbMatrix& matrix);
 
 
#define SOCSO_EXPORT
Header file for system independent resolution.
 
Base class for an editor extension for the SoView2DCSOExtensibleEditor.
 
SoPointerPosition manages the current position of the mouse cursor.
 
SoPointingAction is the base class for any mouse based interaction.
 
a list that holds all View2DSlice objects (lazily created) of a SoView2D
 
BaseEvent is the base class for all events emitted from EventSourceBase.
 
The CSOBoundingBox defines an axis-parallel bounding box with double precision.
 
A CSOList comprises a number of CSOs and CSOGroups and is the central object for contour segmentation...
 
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.
 
Struct for retrieving a hash key for a Matrix4 that is used in the caches for voxel bounding boxes.