Slicer  5.0
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  vtkMRMLDisplayableNode* GetROINode();
65  vtkMRMLAnnotationROINode* GetAnnotationROINode();
66  vtkMRMLMarkupsROINode* GetMarkupsROINode();
67 
68  vtkMRMLViewNode* GetFirstViewNode();
69 
70  double GetSampleDistance();
71 
72  vtkSetMacro(CroppingEnabled,int);
73  vtkGetMacro(CroppingEnabled,int);
74  vtkBooleanMacro(CroppingEnabled,int);
75 
76  vtkSetVector2Macro(Threshold, double);
77  vtkGetVectorMacro(Threshold, double, 2);
78 
79  vtkGetMacro(FollowVolumeDisplayNode, int);
80  vtkSetMacro(FollowVolumeDisplayNode, int);
81 
82  vtkGetMacro(IgnoreVolumeDisplayNodeThreshold, int);
83  vtkSetMacro(IgnoreVolumeDisplayNodeThreshold, int);
84 
85  vtkGetMacro(UseSingleVolumeProperty, int);
86  vtkSetMacro(UseSingleVolumeProperty, int);
87 
88  vtkSetVector2Macro(WindowLevel, double);
89  vtkGetVectorMacro(WindowLevel, double, 2);
90 
91 protected:
96 
97  void ProcessMRMLEvents(vtkObject *caller, unsigned long event, void *callData) override;
98 
99  static const char* VolumePropertyNodeReferenceRole;
101  static const char* ROINodeReferenceRole;
105 
106 protected:
109 
110  double Threshold[2];
111 
115 
117 
119  double WindowLevel[2];
120 };
121 
122 #endif
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:57
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...