13 #ifndef CSOPRIMITIVE_PROCESSOR_H
14 #define CSOPRIMITIVE_PROCESSOR_H
60 virtual void setMemoryImage(
float* imageData,
int sizex,
int sizey,
int voxelPosZ,
61 float* voxelToWorldMatrix,
float* worldToVoxelMatrix,
100 CSO* _currentlyActiveCSO;
107 bool _isMovingSeedPoint;
109 bool _isGeneratingCSO;
111 bool _hasJustBegunMovingSeedPoint;
114 bool _notMovingInSlice;
117 SbVec3f _sliceNormal0;
119 SbVec3f _sliceNormal1;
121 SbVec3f _sliceNormal2;
131 void _computeDifferenceVectors(
const Vector3& dif,
Vector3& difX,
Vector3& difY,
bool shouldCreateIsotropic);
#define SOCSO_EXPORT
Header file for system independent resolution.
SoView2D is a 2D viewer for image data.
a list that holds all View2DSlice objects (lazily created) of a SoView2D
Field to encapsulate a boolean value.
A CSOList comprises a number of CSOs and CSOGroups and is the central object for contour segmentation...
Module which enables interactive generation of primitive contours such as ellipses and rectangles.
~CSOPrimitiveProcessor() override
Destructor.
bool needsMemoryImage() override
Returns whether the processor need the current memory image for interpolation.
CSOPrimitiveProcessor()
Constructor.
bool isCurrentlyGenerating() override
Returns whether the processor is currently generating a new contour.
bool isCurrentlyEditing() override
Returns whether the processor is currently editing an existing contour.
bool process(CSOEvalEventView2DInfos view2DInfos, CSOEvalEventCSOInfos csoInfos) override
Evaluates the interaction events and interpolates the contours accordingly.
void triggerSetMouseCursor(SoView2D *view2d, bool shouldSetMouseCursor) override
Triggers the setting of the processor's default mouse cursor.
void resetInteractionState() override
Sets back internal interaction state.
virtual void setMemoryImage(float *imageData, int sizex, int sizey, int voxelPosZ, float *voxelToWorldMatrix, float *worldToVoxelMatrix, View2DSliceList *slicelist)
Sets an image which can be used with an image based interpolation algorithm.
Base class for processor modules; those provide mechanisms for an interactive generation of seed poin...
The CSOSeedPoint can be interactively set and modified and is the framework for contours.
The CSO represents a contour segmentation object.
#define ML_MODULE_CLASS_HEADER(className)
Like ML_CLASS_HEADER for the usage of derived classes from Module.
constexpr const char * SUB_TYPE_ELLIPSE
Subtype: an ellipse.
PRIMITIVE_TYPE
Enumeration of the contour type.
@ PRIMITIVE_RECT
Contour is a rectangle.
@ PRIMITIVE_ELLIPSE
Contour is an ellipse.
constexpr const char * SUB_TYPE_RECT
Subtype: a rectangle.