Slicer  5.0
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
vtkMRMLGlyphableVolumeDisplayNode.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: vtkMRMLGlyphableVolumeDisplayNode.h,v $
10  Date: $Date: 2006/03/19 17:12:29 $
11  Version: $Revision: 1.3 $
12 
13 =========================================================================auto=*/
14 
15 #ifndef __vtkMRMLGlyphableVolumeDisplayNode_h
16 #define __vtkMRMLGlyphableVolumeDisplayNode_h
17 
18 // MRML includes
20 class vtkMRMLColorNode;
22 class vtkMRMLVolumeNode;
23 
24 // STD includes
25 #include <vector>
26 
31 {
32  public:
35  void PrintSelf(ostream& os, vtkIndent indent) override;
36 
37  vtkMRMLNode* CreateNodeInstance() override;
38 
41  void ReadXMLAttributes( const char** atts) override;
42 
45  void WriteXML(ostream& of, int indent) override;
46 
49  void Copy(vtkMRMLNode *node) override;
50 
53  const char* GetNodeTagName() override {return "GlyphableVolumeDisplay";}
54 
57  void UpdateReferenceID(const char *oldID, const char *newID) override;
58 
59  //--------------------------------------------------------------------------
61  //--------------------------------------------------------------------------
62 
64  enum
65  {
66  visModeScalar = 0,
67  visModeGlyph = 1,
68  visModeBoth = 2
69  };
70 
71  vtkGetMacro(VisualizationMode, int);
72  vtkSetMacro(VisualizationMode, int);
73 
74  //virtual vtkPolyData* ExecuteGlyphPipeLineAndGetPolyData( vtkImageData* );
75 
77  this->SetVisualizationMode(this->visModeScalar);
78  };
80  this->SetVisualizationMode(this->visModeGlyph);
81  };
83  this->SetVisualizationMode(this->visModeBoth);
84  };
85 
87  void SetSceneReferences() override;
88 
92  void UpdateReferences() override;
93 
96  void UpdateScene(vtkMRMLScene *scene) override;
97 
100  void SetAndObserveGlyphColorNodeID(const char *GlyphColorNodeID);
101  void SetAndObserveGlyphColorNodeID(std::string GlyphColorNodeID);
102  vtkGetStringMacro(GlyphColorNodeID);
103 
106  vtkMRMLColorNode* GetGlyphColorNode();
107 
110  void ProcessMRMLEvents ( vtkObject * /*caller*/,
111  unsigned long /*event*/,
112  void * /*callData*/ ) override;
115  void SetDefaultColorMap(/*int isLabelMap*/) override;
116 
119  virtual std::vector< vtkMRMLGlyphableVolumeSliceDisplayNode*>
121  {
122  vtkErrorMacro("Shouldn't be calling this");
123  return std::vector< vtkMRMLGlyphableVolumeSliceDisplayNode*>();
124  }
125 
126 
129  virtual void AddSliceGlyphDisplayNodes( vtkMRMLVolumeNode* vtkNotUsed(node) )
130  {
131  vtkErrorMacro("Shouldn't be calling this");
132  }
133 
137  void GetDisplayScalarRange(double range[2]) override
138  {
139  this->Superclass::GetDisplayScalarRange(range);
140  }
141 
142 protected:
147 
149 
150  void SetGlyphColorNodeID(const char* id);
151 
153 
155 
156 };
157 
158 #endif
159 
virtual std::vector< vtkMRMLGlyphableVolumeSliceDisplayNode * > GetSliceGlyphDisplayNodes(vtkMRMLVolumeNode *vtkNotUsed(node))
get associated slice glyph display node or nullptr if not set
void operator=(const vtkMRMLScalarVolumeDisplayNode &)
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model)
void SetDefaultColorMap() override
set gray colormap or override in subclass
void GetDisplayScalarRange(double range[2]) override
void UpdateScene(vtkMRMLScene *scene) override
Finds the storage node and read the data
static vtkMRMLScalarVolumeDisplayNode * New()
void Copy(vtkMRMLNode *node) override
Copy the node&#39;s attributes to this object
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:57
void ProcessMRMLEvents(vtkObject *, unsigned long, void *) override
alternative method to propagate events generated in Display nodes
MRML node to represent display properties for tractography.
void WriteXML(ostream &of, int indent) override
Write this node&#39;s information to a MRML file in XML format.
Abstract MRML node to represent color information.
void UpdateReferences() override
void UpdateReferenceID(const char *oldID, const char *newID) override
Update the stored reference to another node in the scene.
MRML node for representing a volume (image stack).
virtual void AddSliceGlyphDisplayNodes(vtkMRMLVolumeNode *vtkNotUsed(node))
add slice glyph display nodes if not already present and return it
void ReadXMLAttributes(const char **atts) override
Read node attributes from XML file
vtkMRMLNode * CreateNodeInstance() override
Create instance of the default node. Like New only virtual.
void PrintSelf(ostream &os, vtkIndent indent) override
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
void SetSceneReferences() override
Mark the color and views nodes as references.
MRML node for representing a volume display attributes.
MRML node for representing a volume display attributes.