Slicer  4.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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)