29#ifndef __vtkSlicerSubjectHierarchyModuleLogic_h
30#define __vtkSlicerSubjectHierarchyModuleLogic_h
35#include "vtkSlicerSubjectHierarchyModuleLogicExport.h"
50 void PrintSelf(ostream& os, vtkIndent indent)
override;
Abstract Superclass for all specific types of MRML nodes.
A set of MRML Nodes that supports serialization and undo/redo.
MRML node to represent a complete subject hierarchy tree.
static vtkIdType AreItemsInSameBranch(vtkMRMLSubjectHierarchyNode *shNode, vtkIdType item1, vtkIdType item2, std::string lowestCommonLevel)
static bool IsStudyTag(std::string tagName)
Determine if a tag name is a study tag (not attribute, but tag - without prefix!)
void UpdateFromMRMLScene() override
Called every time the scene has been significantly changed.
vtkMRMLSubjectHierarchyNode * GetSubjectHierarchyNode()
Convenience function to get subject hierarchy node from the logic.
static vtkIdType AreNodesInSameBranch(vtkMRMLNode *node1, vtkMRMLNode *node2, std::string lowestCommonLevel)
static const char * CLONED_NODE_NAME_POSTFIX
Postfix added to cloned node name by default.
static void TransformBranch(vtkMRMLSubjectHierarchyNode *shNode, vtkIdType itemID, vtkMRMLTransformNode *transformNode, bool hardenExistingTransforms=true)
void SetMRMLSceneInternal(vtkMRMLScene *newScene) override
Called each time a new scene is set.
static vtkSlicerSubjectHierarchyModuleLogic * New()
static vtkIdType InsertDicomSeriesInHierarchy(vtkMRMLSubjectHierarchyNode *shNode, const char *subjectId, const char *studyInstanceUID, const char *seriesInstanceUID)
vtkSlicerSubjectHierarchyModuleLogic()
static vtkIdType CloneSubjectHierarchyItem(vtkMRMLSubjectHierarchyNode *shNode, vtkIdType itemID, const char *name=nullptr)
static void HardenTransformOnBranch(vtkMRMLSubjectHierarchyNode *shNode, vtkIdType itemID)
static bool IsPatientTag(std::string tagName)
Determine if a tag name is a patient tag (not attribute, but tag - without prefix!...
~vtkSlicerSubjectHierarchyModuleLogic() override
void PrintSelf(ostream &os, vtkIndent indent) override