Slicer  4.8
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) VTK_OVERRIDE;
30 
31  virtual vtkMRMLNode* CreateNodeInstance() VTK_OVERRIDE;
32 
35  virtual void ReadXMLAttributes( const char** atts) VTK_OVERRIDE;
36 
39  virtual void WriteXML(ostream& of, int indent) VTK_OVERRIDE;
40 
43  virtual void Copy(vtkMRMLNode *node) VTK_OVERRIDE;
44 
47  virtual const char* GetNodeTagName() VTK_OVERRIDE {return "SliceComposite";}
48 
50  virtual void SetSceneReferences() VTK_OVERRIDE;
51 
55  virtual void UpdateReferences() VTK_OVERRIDE;
56 
59  virtual void UpdateReferenceID(const char *oldID, const char *newID) VTK_OVERRIDE;
60 
63  vtkGetStringMacro (BackgroundVolumeID);
64  void SetBackgroundVolumeID(const char* id);
65  void SetReferenceBackgroundVolumeID(const char *id) { this->SetBackgroundVolumeID(id); }
66 
70  vtkGetStringMacro (ForegroundVolumeID);
71  void SetForegroundVolumeID(const char* id);
72  void SetReferenceForegroundVolumeID(const char *id) { this->SetForegroundVolumeID(id); }
73 
77  vtkGetStringMacro (LabelVolumeID);
78  void SetLabelVolumeID(const char* id);
79  void SetReferenceLabelVolumeID(const char *id) { this->SetLabelVolumeID(id); }
80 
84  vtkGetMacro (Compositing, int);
85  vtkSetMacro (Compositing, int);
86 
91  vtkGetMacro (ForegroundOpacity, double);
92  vtkSetMacro (ForegroundOpacity, double);
93 
98  vtkGetMacro (LabelOpacity, double);
99  vtkSetMacro (LabelOpacity, double);
100 
103  vtkGetMacro (LinkedControl, int );
104  vtkSetMacro (LinkedControl, int );
105  vtkBooleanMacro(LinkedControl, int);
106 
110  vtkGetMacro (HotLinkedControl, int );
111  vtkSetMacro (HotLinkedControl, int );
112  vtkBooleanMacro(HotLinkedControl, int);
113 
116  vtkGetMacro (FiducialVisibility, int );
117  vtkSetMacro (FiducialVisibility, int );
118  vtkGetMacro (FiducialLabelVisibility, int );
119  vtkSetMacro (FiducialLabelVisibility, int );
120 
123  vtkGetMacro (SliceIntersectionVisibility, int );
124  vtkSetMacro (SliceIntersectionVisibility, int );
125 
127  vtkGetMacro ( AnnotationSpace, int );
128 
132  vtkSetMacro ( AnnotationSpace, int );
133 
135  vtkGetMacro ( AnnotationMode, int );
136 
140  vtkSetMacro ( AnnotationMode, int );
141 
146  vtkSetMacro (DoPropagateVolumeSelection, bool );
147  vtkGetMacro (DoPropagateVolumeSelection, bool );
148 
156  void SetLayoutName(const char *layoutName) {
157  this->SetSingletonTag(layoutName);
158  }
159  char *GetLayoutName() {
160  return this->GetSingletonTag();
161  }
162 
165  {
166  XYZ = 0,
169  IJKAndRAS
170  };
171 
174  {
175  NoAnnotation = 0,
178  LabelAndVoxelValuesOnly
179  };
180 
182  enum
183  {
184  Alpha = 0,
187  Subtract
188  };
189 
195  void SetInteracting(int);
196  vtkGetMacro(Interacting, int);
197  vtkBooleanMacro(Interacting, int);
198 
208  {
209  None = 0,
210  ForegroundVolumeFlag = 1,
211  BackgroundVolumeFlag = 2,
212  LabelVolumeFlag = 4,
213  LabelOpacityFlag = 8,
214  ForegroundOpacityFlag = 16
215  // Next one needs to be 32
216  };
217 
223  void SetInteractionFlags(unsigned int);
224  vtkGetMacro(InteractionFlags, unsigned int);
225 
231  void SetInteractionFlagsModifier(unsigned int);
232  vtkGetMacro(InteractionFlagsModifier, unsigned int);
233 
237  void ResetInteractionFlagsModifier();
238 
239 
240 protected:
245 
250 
252 
253  double LabelOpacity;
256 
260 
263 
265 
268 
270 
272  unsigned int InteractionFlags;
274 };
275 
276 #endif
void SetReferenceLabelVolumeID(const char *id)
MRML node for storing a slice through RAS space.
virtual void UpdateReferences()
The method should remove all pointers and observations to all nodes that are not in the scene anymore...
void operator=(const vtkMRMLNode &)
virtual vtkMRMLNode * CreateNodeInstance()=0
Create instance of the default node. Like New only virtual.
virtual void UpdateReferenceID(const char *oldID, const char *newID)
Update the stored reference to another node in the scene.
virtual char * GetSingletonTag()
virtual void SetSceneReferences()
Update the references of the node to the scene.
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
void SetLayoutName(const char *layoutName)
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:135
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)