Slicer  4.13
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLSliceCompositeNode.h
Go to the documentation of this file.
1 /*=auto=========================================================================
2 
3  Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved.
4 
5  See COPYRIGHT.txt
6  or http://www.slicer.org/copyright/copyright.txt for details.
7 
8  Program: 3D Slicer
9  Module: $RCSfile: vtkMRMLSliceCompositeNode.h,v $
10  Date: $Date: 2006/03/19 17:12:29 $
11  Version: $Revision: 1.3 $
12 
13 =========================================================================auto=*/
14 
15 #ifndef __vtkMRMLSliceCompositeNode_h
16 #define __vtkMRMLSliceCompositeNode_h
17 
18 #include "vtkMRMLNode.h"
19 
24 class VTK_MRML_EXPORT vtkMRMLSliceCompositeNode : public vtkMRMLNode
25 {
26  public:
27  static vtkMRMLSliceCompositeNode *New();
29  void PrintSelf(ostream& os, vtkIndent indent) override;
30 
31  vtkMRMLNode* CreateNodeInstance() override;
32 
35  void ReadXMLAttributes( const char** atts) override;
36 
39  void WriteXML(ostream& of, int indent) override;
40 
44 
47  const char* GetNodeTagName() override {return "SliceComposite";}
48 
51  const char* GetBackgroundVolumeID();
52  void SetBackgroundVolumeID(const char* id);
53  void SetReferenceBackgroundVolumeID(const char *id) { this->SetBackgroundVolumeID(id); }
54 
57  const char* GetForegroundVolumeID();
58  void SetForegroundVolumeID(const char* id);
59  void SetReferenceForegroundVolumeID(const char *id) { this->SetForegroundVolumeID(id); }
60 
63  const char* GetLabelVolumeID();
64  void SetLabelVolumeID(const char* id);
65  void SetReferenceLabelVolumeID(const char *id) { this->SetLabelVolumeID(id); }
66 
70  vtkGetMacro (Compositing, int);
71  vtkSetMacro (Compositing, int);
72 
77  vtkGetMacro (ForegroundOpacity, double);
78  vtkSetMacro (ForegroundOpacity, double);
79 
84  vtkGetMacro (LabelOpacity, double);
85  vtkSetMacro (LabelOpacity, double);
86 
89  vtkGetMacro (LinkedControl, int );
90  vtkSetMacro (LinkedControl, int );
91  vtkBooleanMacro(LinkedControl, int);
92 
96  vtkGetMacro (HotLinkedControl, int );
97  vtkSetMacro (HotLinkedControl, int );
98  vtkBooleanMacro(HotLinkedControl, int);
99 
102  vtkGetMacro (FiducialVisibility, int );
103  vtkSetMacro (FiducialVisibility, int );
104  vtkGetMacro (FiducialLabelVisibility, int );
105  vtkSetMacro (FiducialLabelVisibility, int );
106 
109  vtkGetMacro (SliceIntersectionVisibility, int );
110  vtkSetMacro (SliceIntersectionVisibility, int );
111 
113  vtkGetMacro ( AnnotationSpace, int );
114 
118  vtkSetMacro ( AnnotationSpace, int );
119 
121  vtkGetMacro ( AnnotationMode, int );
122 
126  vtkSetMacro ( AnnotationMode, int );
127 
132  vtkSetMacro (DoPropagateVolumeSelection, bool );
133  vtkGetMacro (DoPropagateVolumeSelection, bool );
134 
142  void SetLayoutName(const char *layoutName) {
143  this->SetSingletonTag(layoutName);
144  }
145  char *GetLayoutName() {
146  return this->GetSingletonTag();
147  }
148 
151  {
152  XYZ = 0,
156  AnnotationSpace_Last // insert values above this line
157  };
158 
161  {
162  NoAnnotation = 0,
166  AnnotationMode_Last // insert values above this line
167  };
168 
170  enum
171  {
172  Alpha = 0,
175  Subtract
176  };
177 
183  void SetInteracting(int);
184  vtkGetMacro(Interacting, int);
185  vtkBooleanMacro(Interacting, int);
186 
196  {
197  None = 0,
198  ForegroundVolumeFlag = 1,
199  BackgroundVolumeFlag = 2,
200  LabelVolumeFlag = 4,
201  LabelOpacityFlag = 8,
202  ForegroundOpacityFlag = 16
203  // Next one needs to be 32
204  };
205 
211  void SetInteractionFlags(unsigned int);
212  vtkGetMacro(InteractionFlags, unsigned int);
213 
219  void SetInteractionFlagsModifier(unsigned int);
220  vtkGetMacro(InteractionFlagsModifier, unsigned int);
221 
225  void ResetInteractionFlagsModifier();
226 
228  const char* GetAnnotationSpaceAsString(int id);
229  int GetAnnotationSpaceFromString(const char* name);
230 
232  const char* GetAnnotationModeAsString(int id);
233  int GetAnnotationModeFromString(const char* name);
234 
235 protected:
236 
238  ~vtkMRMLSliceCompositeNode() override;
241 
243 
245 
246  double LabelOpacity;
249 
252 
254 
257 
259 
261  unsigned int InteractionFlags;
263 };
264 
265 #endif
void SetReferenceLabelVolumeID(const char *id)
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model)
MRML node for storing a slice through RAS space.
virtual void ReadXMLAttributes(const char **atts)
void operator=(const vtkMRMLNode &)
virtual vtkMRMLNode * CreateNodeInstance()=0
Create instance of the default node. Like New only virtual.
virtual char * GetSingletonTag()
virtual void WriteXML(ostream &of, int indent)
void SetLayoutName(const char *layoutName)
void PrintSelf(ostream &os, vtkIndent indent) override
#define vtkMRMLCopyContentMacro(thisClassName)
Definition: vtkMRMLNode.h:142
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
virtual void SetSingletonTag(const char *)
Tag that make this node a singleton in the scene.
void SetReferenceForegroundVolumeID(const char *id)
void SetReferenceBackgroundVolumeID(const char *id)