Slicer  5.3
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  static void GetDefaultBoxColor(double color[3]);
57 
59  vtkGetMacro(BoxVisible, int);
60  vtkSetMacro(BoxVisible, int);
61 
63  vtkSetVector3Macro(BoxColor, double);
64  vtkGetVector3Macro(BoxColor, double);
65 
67  vtkGetMacro(AxisLabelsVisible, int);
68  vtkSetMacro(AxisLabelsVisible, int);
69 
71  vtkGetMacro(AxisLabelsCameraDependent, int);
72  vtkSetMacro(AxisLabelsCameraDependent, int);
73 
75  vtkGetMacro(FiducialsVisible, int);
76  vtkSetMacro(FiducialsVisible, int);
77 
78  vtkGetMacro(FiducialLabelsVisible, int);
79  vtkSetMacro(FiducialLabelsVisible, int);
80 
82  vtkGetMacro(FieldOfView, double);
83  vtkSetMacro(FieldOfView, double);
84 
86  vtkGetMacro(LetterSize, double);
87  vtkSetMacro(LetterSize, double);
88 
90  vtkGetMacro(AnimationMode, int);
91  vtkSetMacro(AnimationMode, int);
92  static const char* GetAnimationModeAsString(int id);
93  static int GetAnimationModeFromString(const char* name);
94 
95  vtkGetMacro(ViewAxisMode, int);
96  vtkSetMacro(ViewAxisMode, int);
97  static const char* GetViewAxisModeAsString(int id);
98  static int GetViewAxisModeFromString(const char* name);
99 
101  vtkGetMacro(SpinDirection, int);
102  vtkSetMacro(SpinDirection, int);
103  static const char* GetSpinDirectionAsString(int id);
104  static int GetSpinDirectionFromString(const char* name);
105 
107  vtkGetMacro(SpinDegrees, double);
108  vtkSetMacro(SpinDegrees, double);
109 
110  vtkGetMacro(RotateDegrees, double);
111  vtkSetMacro(RotateDegrees, double);
112 
114  vtkGetMacro(AnimationMs, int);
115  vtkSetMacro(AnimationMs, int);
116 
118  vtkGetMacro(RockLength, int);
119  vtkSetMacro(RockLength, int);
120 
122  vtkGetMacro(RockCount, int);
123  vtkSetMacro(RockCount, int);
124 
126  vtkGetMacro(StereoType, int);
127  vtkSetMacro(StereoType, int);
128  static const char* GetStereoTypeAsString(int id);
129  static int GetStereoTypeFromString(const char* name);
130 
132  vtkGetMacro(RenderMode, int);
133  vtkSetMacro(RenderMode, int);
134  static const char* GetRenderModeAsString(int id);
135  static int GetRenderModeFromString(const char* name);
136 
139  vtkGetMacro(UseDepthPeeling, int);
140  vtkSetMacro(UseDepthPeeling, int);
141 
144  vtkGetMacro(FPSVisible, int);
145  vtkSetMacro(FPSVisible, int);
146 
149  vtkGetMacro(GPUMemorySize, int);
150  vtkSetMacro(GPUMemorySize, int);
151 
158  vtkSetMacro(AutoReleaseGraphicsResources, bool);
159  vtkGetMacro(AutoReleaseGraphicsResources, bool);
160  vtkBooleanMacro(AutoReleaseGraphicsResources, bool);
162 
163 
165  vtkSetMacro(ExpectedFPS, double);
166  vtkGetMacro(ExpectedFPS, double);
167 
168  vtkSetMacro(VolumeRenderingQuality, int);
169  vtkGetMacro(VolumeRenderingQuality, int);
170  static const char* GetVolumeRenderingQualityAsString(int id);
171  static int GetVolumeRenderingQualityFromString(const char* name);
172 
174  vtkGetMacro(RaycastTechnique, int);
175  vtkSetMacro(RaycastTechnique, int);
176  static const char* GetRaycastTechniqueAsString(int id);
177  static int GetRaycastTechniqueFromString(const char* name);
178 
182  vtkGetMacro(VolumeRenderingSurfaceSmoothing, bool);
183  vtkSetMacro(VolumeRenderingSurfaceSmoothing, bool);
184 
189  vtkSetMacro(VolumeRenderingOversamplingFactor, double);
190  vtkGetMacro(VolumeRenderingOversamplingFactor, double);
191 
193  enum
194  {
195  RotateAround = 0,
197  ViewAxisMode_Last
198  };
199 
201  enum
202  {
203  PitchUp = 0,
209  SpinDirection_Last
210  };
211 
213  enum
214  {
215  NoStereo = 0,
223  StereoType_Last
224  };
225 
227  enum
228  {
229  Perspective = 0,
231  RenderMode_Last
232  };
233 
235  enum
236  {
237  Off = 0,
240  AnimationMode_Last
241  };
242 
244  enum
245  {
246  Adaptive = 0,
249  VolumeRenderingQuality_Last
250  };
251 
253  enum
254  {
255  Composite = 0, // Composite with directional lighting (default)
256  CompositeEdgeColoring, // Composite with fake lighting (edge coloring, faster) - Not used
261  RaycastTechnique_Last
262  };
263 
265  enum
266  {
267  GraphicalResourcesCreatedEvent = 19001,
269  };
270 
276  void SetInteracting(int);
277  vtkGetMacro(Interacting, int);
278  vtkBooleanMacro(Interacting, int);
279 
287  {
288  None = 0,
302  };
303 
306  vtkGetMacro (LinkedControl, int );
307  vtkSetMacro (LinkedControl, int );
308  vtkBooleanMacro(LinkedControl, int);
309 
315  void SetInteractionFlags(unsigned int);
316  vtkGetMacro(InteractionFlags, unsigned int);
317 
318 protected:
319  vtkMRMLViewNode();
320  ~vtkMRMLViewNode() override;
322  void operator=(const vtkMRMLViewNode&);
323 
327  double BoxColor[3];
330  double FieldOfView;
331  double LetterSize;
332 
336  double SpinDegrees;
338 
342 
346 
349 
352 
356 
359 
362 
367 
370 
372  double ExpectedFPS;
373 
379 
388 
391 
397 
400  unsigned int InteractionFlags;
401 
402 };
403 
404 #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.