Slicer  5.1
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLViewNode.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: vtkMRMLViewNode.h,v $
10  Date: $Date: 2006/03/19 17:12:28 $
11  Version: $Revision: 1.6 $
12 
13 =========================================================================auto=*/
14 
15 #ifndef __vtkMRMLViewNode_h
16 #define __vtkMRMLViewNode_h
17 
18 // VTK includes
20 
24 class VTK_MRML_EXPORT vtkMRMLViewNode
26 {
27 public:
28  static vtkMRMLViewNode *New();
30  void PrintSelf(ostream& os, vtkIndent indent) override;
31 
32  //--------------------------------------------------------------------------
34  //--------------------------------------------------------------------------
35 
36  vtkMRMLNode* CreateNodeInstance() override;
37 
39  void ReadXMLAttributes( const char** atts) override;
40 
42  void WriteXML(ostream& of, int indent) override;
43 
47 
49  const char* GetNodeTagName() override;
50 
52  static double* defaultBackgroundColor();
53  static double* defaultBackgroundColor2();
54 
56  vtkGetMacro(BoxVisible, int);
57  vtkSetMacro(BoxVisible, int);
58 
60  vtkGetMacro(AxisLabelsVisible, int);
61  vtkSetMacro(AxisLabelsVisible, int);
62 
64  vtkGetMacro(AxisLabelsCameraDependent, int);
65  vtkSetMacro(AxisLabelsCameraDependent, int);
66 
68  vtkGetMacro(FiducialsVisible, int);
69  vtkSetMacro(FiducialsVisible, int);
70 
71  vtkGetMacro(FiducialLabelsVisible, int);
72  vtkSetMacro(FiducialLabelsVisible, int);
73 
75  vtkGetMacro(FieldOfView, double);
76  vtkSetMacro(FieldOfView, double);
77 
79  vtkGetMacro(LetterSize, double);
80  vtkSetMacro(LetterSize, double);
81 
83  vtkGetMacro(AnimationMode, int);
84  vtkSetMacro(AnimationMode, int);
85  static const char* GetAnimationModeAsString(int id);
86  static int GetAnimationModeFromString(const char* name);
87 
88  vtkGetMacro(ViewAxisMode, int);
89  vtkSetMacro(ViewAxisMode, int);
90  static const char* GetViewAxisModeAsString(int id);
91  static int GetViewAxisModeFromString(const char* name);
92 
94  vtkGetMacro(SpinDirection, int);
95  vtkSetMacro(SpinDirection, int);
96  static const char* GetSpinDirectionAsString(int id);
97  static int GetSpinDirectionFromString(const char* name);
98 
100  vtkGetMacro(SpinDegrees, double);
101  vtkSetMacro(SpinDegrees, double);
102 
103  vtkGetMacro(RotateDegrees, double);
104  vtkSetMacro(RotateDegrees, double);
105 
107  vtkGetMacro(AnimationMs, int);
108  vtkSetMacro(AnimationMs, int);
109 
111  vtkGetMacro(RockLength, int);
112  vtkSetMacro(RockLength, int);
113 
115  vtkGetMacro(RockCount, int);
116  vtkSetMacro(RockCount, int);
117 
119  vtkGetMacro(StereoType, int);
120  vtkSetMacro(StereoType, int);
121  static const char* GetStereoTypeAsString(int id);
122  static int GetStereoTypeFromString(const char* name);
123 
125  vtkGetMacro(RenderMode, int);
126  vtkSetMacro(RenderMode, int);
127  static const char* GetRenderModeAsString(int id);
128  static int GetRenderModeFromString(const char* name);
129 
132  vtkGetMacro(UseDepthPeeling, int);
133  vtkSetMacro(UseDepthPeeling, int);
134 
137  vtkGetMacro(FPSVisible, int);
138  vtkSetMacro(FPSVisible, int);
139 
142  vtkGetMacro(GPUMemorySize, int);
143  vtkSetMacro(GPUMemorySize, int);
144 
151  vtkSetMacro(AutoReleaseGraphicsResources, bool);
152  vtkGetMacro(AutoReleaseGraphicsResources, bool);
153  vtkBooleanMacro(AutoReleaseGraphicsResources, bool);
155 
156 
158  vtkSetMacro(ExpectedFPS, double);
159  vtkGetMacro(ExpectedFPS, double);
160 
161  vtkSetMacro(VolumeRenderingQuality, int);
162  vtkGetMacro(VolumeRenderingQuality, int);
163  static const char* GetVolumeRenderingQualityAsString(int id);
164  static int GetVolumeRenderingQualityFromString(const char* name);
165 
167  vtkGetMacro(RaycastTechnique, int);
168  vtkSetMacro(RaycastTechnique, int);
169  static const char* GetRaycastTechniqueAsString(int id);
170  static int GetRaycastTechniqueFromString(const char* name);
171 
175  vtkGetMacro(VolumeRenderingSurfaceSmoothing, bool);
176  vtkSetMacro(VolumeRenderingSurfaceSmoothing, bool);
177 
182  vtkSetMacro(VolumeRenderingOversamplingFactor, double);
183  vtkGetMacro(VolumeRenderingOversamplingFactor, double);
184 
186  enum
187  {
188  RotateAround = 0,
190  ViewAxisMode_Last
191  };
192 
194  enum
195  {
196  PitchUp = 0,
202  SpinDirection_Last
203  };
204 
206  enum
207  {
208  NoStereo = 0,
216  StereoType_Last
217  };
218 
220  enum
221  {
222  Perspective = 0,
224  RenderMode_Last
225  };
226 
228  enum
229  {
230  Off = 0,
233  AnimationMode_Last
234  };
235 
237  enum
238  {
239  Adaptive = 0,
242  VolumeRenderingQuality_Last
243  };
244 
246  enum
247  {
248  Composite = 0, // Composite with directional lighting (default)
249  CompositeEdgeColoring, // Composite with fake lighting (edge coloring, faster) - Not used
254  RaycastTechnique_Last
255  };
256 
258  enum
259  {
260  GraphicalResourcesCreatedEvent = 19001,
262  };
263 
269  void SetInteracting(int);
270  vtkGetMacro(Interacting, int);
271  vtkBooleanMacro(Interacting, int);
272 
280  {
281  None = 0,
294  };
295 
298  vtkGetMacro (LinkedControl, int );
299  vtkSetMacro (LinkedControl, int );
300  vtkBooleanMacro(LinkedControl, int);
301 
307  void SetInteractionFlags(unsigned int);
308  vtkGetMacro(InteractionFlags, unsigned int);
309 
310 protected:
311  vtkMRMLViewNode();
312  ~vtkMRMLViewNode() override;
314  void operator=(const vtkMRMLViewNode&);
315 
321  double FieldOfView;
322  double LetterSize;
323 
327  double SpinDegrees;
329 
333 
337 
340 
343 
347 
350 
353 
358 
361 
363  double ExpectedFPS;
364 
370 
379 
382 
388 
391  unsigned int InteractionFlags;
392 
393 };
394 
395 #endif
int AnimationMode
Parameters of automatic spin.
double ExpectedFPS
Expected frame per second rendered.
void operator=(const vtkMRMLAbstractViewNode &)
virtual vtkMRMLNode * CreateNodeInstance()=0
Create instance of the default node. Like New only virtual.
bool AutoReleaseGraphicsResources
Immediately release graphics resources when they are not in use.
bool VolumeRenderingSurfaceSmoothing
Make surface appearance smoother in volume rendering. Off by default.
int FPSVisible
Show the Frame per second as text on the lower right part of the view.
Abstract MRML node to represent a view. The class holds the properties common to any view type (3D...
void ReadXMLAttributes(const char **atts) override
MRMLNode methods.
good image quality at reasonable speed
double VolumeRenderingOversamplingFactor
int StereoType
Parameters for stereo viewing.
int RenderMode
Specifies orthographic or perspective rendering.
unsigned int InteractionFlags
MRML node to represent a 3D view.
vtkMRMLCopyContentMacro(vtkMRMLAbstractViewNode)
void PrintSelf(ostream &os, vtkIndent indent) override
int UseDepthPeeling
Use the depth peeling rendering mode.
virtual const char * GetNodeTagName()=0
high image quality, rendering time is not considered
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
int RockLength
Parameters of automatic rock.