Slicer  5.2
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
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...