21 #ifndef __vtkMRMLApplicationLogic_h 22 #define __vtkMRMLApplicationLogic_h 27 #include "vtkMRMLLogicExport.h" 53 void PrintSelf(ostream& os, vtkIndent indent)
override;
63 void SetSliceLogics(vtkCollection* sliceLogics);
64 vtkCollection* GetSliceLogics()
const;
71 void SetViewLogics(vtkCollection* viewLogics);
72 vtkCollection* GetViewLogics()
const;
91 void PropagateVolumeSelection(
int fit = 1);
98 void PropagateBackgroundVolumeSelection(
int fit = 1);
105 void PropagateForegroundVolumeSelection(
int fit = 1);
112 void PropagateLabelVolumeSelection(
int fit = 1);
117 ForegroundLayer = 0x2,
118 BackgroundLayer = 0x4,
119 AllLayers = LabelLayer | ForegroundLayer | BackgroundLayer
125 void PropagateVolumeSelection(
int layer,
int fit);
130 void FitSliceToAll(
bool onlyIfPropagateVolumeSelectionAllowed=
false);
133 void PropagateTableSelection();
136 void PropagatePlotChartSelection();
140 bool Zip(
const char* zipFileName,
const char* directoryToZip);
144 bool Unzip(
const char* zipFileName,
const char* destinationDirectory);
155 static std::string PercentEncode(std::string s);
162 bool SaveSceneToSlicerDataBundleDirectory(
const char* sdbDir, vtkImageData* screenShot =
nullptr);
167 bool OpenSlicerDataBundle(
const char* sdbFilePath,
const char* temporaryDirectory);
172 std::string UnpackSlicerDataBundle(
const char* sdbFilePath,
const char* temporaryDirectory);
176 static int LoadDefaultParameterSets(
vtkMRMLScene* scene,
177 const std::vector<std::string>& directories);
184 static std::string CreateUniqueFileName(
const std::string &filename,
const std::string& knownExtension=
"");
188 RequestInvokeEvent = vtkCommand::UserEvent + 1,
189 PauseRenderEvent = vtkCommand::UserEvent + 101,
197 unsigned int Delay{100};
199 vtkObject* Caller{
nullptr};
201 unsigned long EventID{vtkCommand::ModifiedEvent};
203 void* CallData{
nullptr};
206 void InvokeEventWithDelay(
unsigned int delayInMs,
208 unsigned long eventID = vtkCommand::ModifiedEvent,
209 void* callData =
nullptr);
212 const char* GetTemporaryPath();
215 void SetTemporaryPath(
const char* path);
219 void SaveSceneScreenshot(vtkImageData* screenshot);
228 virtual void PauseRender();
233 virtual void ResumeRender();
276 vtkInternal* Internal;
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.