21 #ifndef __vtkMRMLApplicationLogic_h 22 #define __vtkMRMLApplicationLogic_h 27 #include "vtkMRMLLogicExport.h" 54 void PrintSelf(ostream& os, vtkIndent indent)
override;
64 void SetSliceLogics(vtkCollection* sliceLogics);
65 vtkCollection* GetSliceLogics()
const;
72 void SetViewLogics(vtkCollection* viewLogics);
73 vtkCollection* GetViewLogics()
const;
92 void PropagateVolumeSelection(
int fit = 1);
99 void PropagateBackgroundVolumeSelection(
int fit = 1);
106 void PropagateForegroundVolumeSelection(
int fit = 1);
113 void PropagateLabelVolumeSelection(
int fit = 1);
118 ForegroundLayer = 0x2,
119 BackgroundLayer = 0x4,
120 AllLayers = LabelLayer | ForegroundLayer | BackgroundLayer
126 void PropagateVolumeSelection(
int layer,
int fit);
132 void FitSliceToAll(
bool onlyIfPropagateVolumeSelectionAllowed=
false,
bool resetOrientation=
true);
135 void PropagateTableSelection();
138 void PropagatePlotChartSelection();
142 bool Zip(
const char* zipFileName,
const char* directoryToZip);
146 bool Unzip(
const char* zipFileName,
const char* destinationDirectory);
157 static std::string PercentEncode(std::string s);
164 bool SaveSceneToSlicerDataBundleDirectory(
const char* sdbDir, vtkImageData* screenShot =
nullptr);
169 bool OpenSlicerDataBundle(
const char* sdbFilePath,
const char* temporaryDirectory);
174 std::string UnpackSlicerDataBundle(
const char* sdbFilePath,
const char* temporaryDirectory);
178 static int LoadDefaultParameterSets(
vtkMRMLScene* scene,
179 const std::vector<std::string>& directories);
186 static std::string CreateUniqueFileName(
const std::string &filename,
const std::string& knownExtension=
"");
190 RequestInvokeEvent = vtkCommand::UserEvent + 1,
191 PauseRenderEvent = vtkCommand::UserEvent + 101,
200 unsigned int Delay{100};
202 vtkObject* Caller{
nullptr};
204 unsigned long EventID{vtkCommand::ModifiedEvent};
206 void* CallData{
nullptr};
209 void InvokeEventWithDelay(
unsigned int delayInMs,
211 unsigned long eventID = vtkCommand::ModifiedEvent,
212 void* callData =
nullptr);
215 const char* GetTemporaryPath();
218 void SetTemporaryPath(
const char* path);
222 void SaveSceneScreenshot(vtkImageData* screenshot);
231 virtual void PauseRender();
236 virtual void ResumeRender();
262 void SetIntersectingSlicesEnabled(IntersectingSlicesOperation operation,
bool enabled);
263 bool GetIntersectingSlicesEnabled(IntersectingSlicesOperation operation);
265 void SetIntersectingSlicesIntersectionMode(
int mode);
266 int GetIntersectingSlicesIntersectionMode();
268 void SetIntersectingSlicesLineThicknessMode(
int mode);
269 int GetIntersectingSlicesLineThicknessMode();
296 vtkInternal* Internal;
IntersectingSlicesOperation
Superclass for MRML logic classes.
void PrintSelf(ostream &os, vtkIndent indent) override
virtual void OnMRMLSceneEndImport()
MRML node to represent a display property of 3D surface model.
MRML node for storing a slice through RAS space.
virtual void OnMRMLSceneStartImport()
MRML logic class for color manipulation.
virtual void ProcessMRMLNodesEvents(vtkObject *caller, unsigned long event, void *callData)
virtual void OnMRMLSceneStartBatchProcess()
Events
List of custom events fired by the class.
MRML node to represent a 3D surface model.
A set of MRML Nodes that supports serialization and undo/redo.
virtual void OnMRMLSceneEndBatchProcess()
Structure passed as calldata pointer in the RequestEvent invoked event.
virtual void SetMRMLSceneInternal(vtkMRMLScene *newScene)
A superclass for other storage nodes.
Slicer logic class for view manipulation.
virtual void OnMRMLSceneEndRestore()
MRML node to represent a 3D view.
virtual void OnMRMLSceneStartRestore()
Abstract Superclass for all specific types of MRML nodes.
static vtkMRMLAbstractLogic * New()
MRML node for storing information about the active nodes in the scene.
Slicer logic class for slice manipulation.