Slicer  4.11
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) 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)