MeVisLab Toolbox Reference
CSOProcessorData.h
Go to the documentation of this file.
1 /*************************************************************************************
2 **
3 ** Copyright 2007, MeVis Medical Solutions AG
4 **
5 ** The user may use this file in accordance with the license agreement provided with
6 ** the Software or, alternatively, in accordance with the terms contained in a
7 ** written agreement between the user and MeVis Medical Solutions AG.
8 **
9 ** For further information use the contact form at https://www.mevislab.de/contact
10 **
11 **************************************************************************************/
12 
13 #ifndef CSOPROCESSOR_DATA_H
14 #define CSOPROCESSOR_DATA_H
15 
16 
19 
20 #include "SoCSOSystem.h"
21 #include "SoCSODefines.h"
22 
23 
24 ML_START_NAMESPACE
25 
26 
28 
29 // forward declaration
30 class CSOProcessor;
31 
33 
37 {
38 
39 public:
40 
44  ~CSOProcessorData() override;
45 
47  inline void setProcessor(CSOProcessor* processor) { _processor = processor; }
48 
52 
54  void setMemoryImage(float* imageData, int sizex, int sizey, int voxelPosZ,
55  const Matrix4& voxelToWorldMatrix, const Matrix4& worldToVoxelMatrix,
56  View2DSliceList* slicelist);
57 
63  bool couldCloseCSO();
66 
70 
73  void draw(CSODrawView2DInfos view2DInfos, CSODrawCSOInfos csoInfos);
74 
79  std::string getProcessorType();
81  void triggerSetMouseCursor(SoView2D* view2d,bool shouldSetMouseCursor);
84 
85 private:
86 
88  CSOProcessor* _processor;
89 
91 };
92 
94 
95 
96 ML_END_NAMESPACE
97 
98 
99 #endif // __CSOInterpolationData_H
#define SOCSO_EXPORT
Header file for system independent resolution.
Definition: SoCSOSystem.h:21
SoView2D is a 2D viewer for image data.
Definition: SoView2D.h:62
a list that holds all View2DSlice objects (lazily created) of a SoView2D
Class representing general ML objects that support import/export via strings (setPersistentState() an...
Definition: mlBase.h:62
The CSOProcesorData provides the network data interchange object for processing interaction events an...
bool couldCloseCSO()
Returns whether the processor could close an open CSO by the processor's rules.
bool isCurrentlyEditing()
Returns whether the processor is currently editing an existing contour.
int getPickingMode()
Returns the picking mode of the processor (seed or path points).
void draw(CSODrawView2DInfos view2DInfos, CSODrawCSOInfos csoInfos)
After the editor has done its drawing, this method is invoked on the processor to draw processor-spec...
bool process(CSOEvalEventView2DInfos view2DInfos, CSOEvalEventCSOInfos csoInfos)
Processes all interaction events and triggers an interpolation.
void setProcessor(CSOProcessor *processor)
Sets the processor module.
bool isCurrentlyGenerating()
Returns whether the processor is currently generating a new contour.
void setMemoryImage(float *imageData, int sizex, int sizey, int voxelPosZ, const Matrix4 &voxelToWorldMatrix, const Matrix4 &worldToVoxelMatrix, View2DSliceList *slicelist)
Sets an image which can be used with an image based interpolation algorithm.
std::string getProcessorType()
Returns the current processor type.
CSOProcessorData()
Constructor.
~CSOProcessorData() override
Destructor.
bool needsMemoryImage()
Returns whether the attached processor module needs the current memory image.
int getProcessorMode()
Returns the mode of the referenced processor. Is only called if the processor really exists.
void resetInteractionState()
Resets the interaction state of the attached processing module.
void triggerSetMouseCursor(SoView2D *view2d, bool shouldSetMouseCursor)
Triggers the processor to set its default mouse cursor.
Base class for processor modules; those provide mechanisms for an interactive generation of seed poin...
Definition: CSOProcessor.h:42
#define ML_CLASS_HEADER(className)
Same like ML_CLASS_HEADER_EXPORTED with a non existing export symbol.