Slicer  4.11
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLVolumeRenderingDisplayNode.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: vtkMRMLVolumeRenderingDisplayNode.h,v $
10  Date: $Date: 2006/03/19 17:12:29 $
11  Version: $Revision: 1.3 $
12 
13 =========================================================================auto=*/
14 
15 #ifndef __vtkMRMLVolumeRenderingDisplayNode_h
16 #define __vtkMRMLVolumeRenderingDisplayNode_h
17 
18 // Volume Rendering includes
19 #include "vtkSlicerVolumeRenderingModuleMRMLExport.h"
20 
21 // MRML includes
22 #include "vtkMRMLDisplayNode.h"
23 class vtkIntArray;
27 class vtkMRMLViewNode;
28 class vtkMRMLVolumeNode;
30 
34 class VTK_SLICER_VOLUMERENDERING_MODULE_MRML_EXPORT vtkMRMLVolumeRenderingDisplayNode
35  : public vtkMRMLDisplayNode
36 {
37 public:
39  void PrintSelf(ostream& os, vtkIndent indent) override;
40 
42  void ReadXMLAttributes( const char** atts) override;
43 
45  void WriteXML(ostream& of, int indent) override;
46 
48  void Copy(vtkMRMLNode *node) override;
49 
50  const char* GetVolumeNodeID();
51  vtkMRMLVolumeNode* GetVolumeNode();
52 
53  const char* GetVolumePropertyNodeID();
54  void SetAndObserveVolumePropertyNodeID(const char *volumePropertyNodeID);
55  vtkMRMLVolumePropertyNode* GetVolumePropertyNode();
56 
57  const char* GetShaderPropertyNodeID();
58  void SetAndObserveShaderPropertyNodeID(const char *shaderPropertyNodeID);
59  vtkMRMLShaderPropertyNode* GetShaderPropertyNode();
60  vtkMRMLShaderPropertyNode* GetOrCreateShaderPropertyNode( vtkMRMLScene * mrmlScene );
61 
62  const char* GetROINodeID();
63  void SetAndObserveROINodeID(const char *roiNodeID);
64  vtkMRMLAnnotationROINode* GetROINode();
65  vtkMRMLMarkupsROINode* GetMarkupsROINode();
66 
67  vtkMRMLViewNode* GetFirstViewNode();
68 
69  double GetSampleDistance();
70 
71  vtkSetMacro(CroppingEnabled,int);
72  vtkGetMacro(CroppingEnabled,int);
73  vtkBooleanMacro(CroppingEnabled,int);
74 
75  vtkSetVector2Macro(Threshold, double);
76  vtkGetVectorMacro(Threshold, double, 2);
77 
78  vtkGetMacro(FollowVolumeDisplayNode, int);
79  vtkSetMacro(FollowVolumeDisplayNode, int);
80 
81  vtkGetMacro(IgnoreVolumeDisplayNodeThreshold, int);
82  vtkSetMacro(IgnoreVolumeDisplayNodeThreshold, int);
83 
84  vtkGetMacro(UseSingleVolumeProperty, int);
85  vtkSetMacro(UseSingleVolumeProperty, int);
86 
87  vtkSetVector2Macro(WindowLevel, double);
88  vtkGetVectorMacro(WindowLevel, double, 2);
89 
90 protected:
95 
96  void ProcessMRMLEvents(vtkObject *caller, unsigned long event, void *callData) override;
97 
98  static const char* VolumePropertyNodeReferenceRole;
100  static const char* ROINodeReferenceRole;
104 
105 protected:
108 
109  double Threshold[2];
110 
114 
116 
118  double WindowLevel[2];
119 };
120 
121 #endif
122 
vtkMRMLShaderPropertyNode volume shader custom code and custom uniform variables defined by users or ...
MRML node to represent an ROI markup.
void PrintSelf(ostream &os, vtkIndent indent) override
int CroppingEnabled
Flag indicating whether cropping is enabled.
void ReadXMLAttributes(const char **atts) override
virtual void Copy(vtkMRMLNode *node)
Copy node contents from another node of the same type. Does not copy node ID and Scene. Performs deep copy - an independent copy is created from all data, including bulk data.
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:61
void WriteXML(ostream &of, int indent) override
int FollowVolumeDisplayNode
Follow window/level and thresholding setting in volume display node.
void operator=(const vtkMRMLDisplayNode &)
MRML node for representing a volume (image stack).
void ProcessMRMLEvents(vtkObject *caller, unsigned long event, void *callData) override
MRML node to represent a 3D view.
Abstract class that contains graphical display properties for displayable nodes.
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
vtkMRMLVolumePropertyNode contains the transfer functions (scalar opacity, color and gradient opacity...