24 #ifndef __vtkSlicerMarkupsLogic_h 25 #define __vtkSlicerMarkupsLogic_h 35 #include "vtkSlicerMarkupsModuleLogicExport.h" 55 void PrintSelf(ostream& os, vtkIndent indent)
override;
59 void *callData )
override;
65 std::string GetSelectionNodeID();
70 std::string GetActiveListID();
83 std::string AddNewDisplayNodeForMarkupsNode(
vtkMRMLNode *mrmlNode);
90 std::string AddNewFiducialNode(
const char *name =
"F",
vtkMRMLScene *scene =
nullptr);
96 int AddFiducial(
double r=0.0,
double a=0.0,
double s=0.0);
101 void JumpSlicesToLocation(
double x,
double y,
double z,
bool centered,
int viewGroup = -1,
vtkMRMLSliceNode* exclude =
nullptr);
104 void JumpSlicesToNthPointInMarkup(
const char *
id,
int n,
bool centered =
false,
int viewGroup = -1,
vtkMRMLSliceNode* exclude =
nullptr);
107 void FocusCamerasOnNthPointInMarkup(
const char *
id,
int n);
111 void FocusCameraOnNthPointInMarkup(
const char *cameraNodeID,
const char *markupNodeID,
int n);
116 char* LoadMarkups(
const char* fileName,
const char* fidsName=
nullptr);
119 char* LoadMarkupsFiducials(
const char* fileName,
const char* fidsName =
nullptr);
121 char* LoadMarkupsFromFcsv(
const char* fileName,
const char* nodeName);
122 char* LoadMarkupsFromJson(
const char* fileName,
const char* nodeName);
149 return this->CopyNthControlPointToNewList(
n, markupsNode, newMarkupsNode);
166 return this->MoveNthControlPointToNewListAtIndex(
n, markupsNode, newMarkupsNode, newIndex);
174 void ConvertAnnotationFiducialsToMarkups();
192 int GetSliceIntersectionsVisibility();
195 void SetSliceIntersectionsVisibility(
bool flag);
197 vtkSetMacro(AutoCreateDisplayNodes,
bool);
198 vtkGetMacro(AutoCreateDisplayNodes,
bool);
199 vtkBooleanMacro(AutoCreateDisplayNodes,
bool);
225 static bool FitSurfaceProjectWarp(vtkPoints* curvePoints, vtkPolyData* surface,
double radiusScalingFactor = 1.0);
234 static bool FitSurfaceDiskWarp(vtkPoints* curvePoints, vtkPolyData* surface,
double radiusScalingFactor = 1.0);
237 static bool IsPolygonClockwise(vtkPoints* points);
242 std::string GetJsonStorageNodeClassNameForMarkupsType(std::string markupsType);
243 void RegisterJsonStorageNodeForMarkupsType(std::string markupsType, std::string storageNodeClassName);
269 bool AutoCreateDisplayNodes;
void PrintSelf(ostream &os, vtkIndent indent) override
static vtkSlicerModuleLogic * New()
The Usual vtk class functions.
MRML node for storing a slice through RAS space.
virtual void ProcessMRMLNodesEvents(vtkObject *caller, unsigned long event, void *callData)
A set of MRML Nodes that supports serialization and undo/redo.
virtual void OnMRMLSceneNodeAdded(vtkMRMLNode *)
virtual void RegisterNodes()
virtual void OnMRMLSceneNodeRemoved(vtkMRMLNode *)
virtual void ObserveMRMLScene()
virtual void SetMRMLSceneInternal(vtkMRMLScene *newScene)
std::map< std::string, std::string > MarkupsTypeStorageNodes
bool MoveNthMarkupToNewList(int n, vtkMRMLMarkupsNode *markupsNode, vtkMRMLMarkupsNode *newMarkupsNode, int newIndex)
virtual void UpdateFromMRMLScene()
Abstract Superclass for all specific types of MRML nodes.
MRML node for storing information about the active nodes in the scene.
MRML node to represent a closed curve markup Closed Curve Markups nodes contain N control points...
bool CopyNthMarkupToNewList(int n, vtkMRMLMarkupsNode *markupsNode, vtkMRMLMarkupsNode *newMarkupsNode)