15 #ifndef __vtkMRMLDisplayNode_h 16 #define __vtkMRMLDisplayNode_h 24 class vtkAlgorithmOutput;
41 void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
46 PointsRepresentation = 0,
54 FlatInterpolation = 0,
71 UseManualScalarRange = 0,
79 const char* GetScalarRangeFlagTypeAsString(
int flag);
91 virtual void WriteXML(ostream& of,
int indent) VTK_OVERRIDE;
100 void *callData) VTK_OVERRIDE;
107 virtual
void UpdateReferences() VTK_OVERRIDE;
110 virtual
void UpdateScene(
vtkMRMLScene *scene) VTK_OVERRIDE;
113 virtual
void UpdateReferenceID(const
char *oldID, const
char *newID) VTK_OVERRIDE;
117 vtkSetVector3Macro(Color,
double);
120 vtkGetVector3Macro(Color,
double);
124 vtkSetVector3Macro(EdgeColor,
double);
127 vtkGetVector3Macro(EdgeColor,
double);
131 vtkSetVector3Macro(SelectedColor,
double);
134 vtkGetVector3Macro(SelectedColor,
double);
138 vtkSetMacro(SelectedAmbient,
double);
141 vtkGetMacro(SelectedAmbient,
double);
145 vtkSetMacro(SelectedSpecular,
double);
148 vtkGetMacro(SelectedSpecular,
double);
152 vtkSetMacro(PointSize,
double);
155 vtkGetMacro(PointSize,
double);
159 vtkSetMacro(LineWidth,
double);
162 vtkGetMacro(LineWidth,
double);
166 vtkSetMacro(Representation,
int);
169 vtkGetMacro(Representation,
int);
173 vtkSetMacro(Opacity,
double);
176 vtkGetMacro(Opacity,
double);
180 vtkSetMacro(SliceIntersectionOpacity,
double);
183 vtkGetMacro(SliceIntersectionOpacity,
double);
187 vtkSetMacro(Ambient,
double);
190 vtkGetMacro(Ambient,
double);
194 vtkSetMacro(Diffuse,
double);
197 vtkGetMacro(Diffuse,
double);
201 vtkSetMacro(Specular,
double);
204 vtkGetMacro(Specular,
double);
208 vtkSetMacro(Power,
double);
211 vtkGetMacro(Power,
double);
215 vtkSetMacro(Visibility,
int);
218 vtkGetMacro(Visibility,
int);
221 vtkBooleanMacro(Visibility,
int);
227 virtual
bool GetVisibility(const
char* viewNodeID);
231 vtkSetMacro(EdgeVisibility,
int);
232 vtkBooleanMacro(EdgeVisibility,
int);
235 vtkGetMacro(EdgeVisibility,
int);
239 vtkSetMacro(Clipping,
int);
242 vtkGetMacro(Clipping,
int);
245 vtkBooleanMacro(Clipping,
int);
250 vtkSetMacro(SliceIntersectionVisibility,
int);
254 vtkGetMacro(SliceIntersectionVisibility,
int);
258 vtkBooleanMacro(SliceIntersectionVisibility,
int);
262 vtkSetMacro(SliceIntersectionThickness,
int);
265 vtkGetMacro(SliceIntersectionThickness,
int);
270 vtkSetMacro(FrontfaceCulling,
int);
274 vtkGetMacro(FrontfaceCulling,
int);
277 vtkBooleanMacro(FrontfaceCulling,
int);
281 vtkSetMacro(BackfaceCulling,
int);
285 vtkGetMacro(BackfaceCulling,
int);
288 vtkBooleanMacro(BackfaceCulling,
int);
293 vtkSetMacro(Lighting,
int);
297 vtkGetMacro(Lighting,
int);
300 vtkBooleanMacro(Lighting,
int);
304 vtkSetMacro(Interpolation,
int);
307 vtkGetMacro(Interpolation,
int);
311 vtkSetMacro(Shading,
int);
314 vtkGetMacro(Shading,
int);
319 vtkSetMacro(ScalarVisibility,
int);
323 vtkGetMacro(ScalarVisibility,
int);
326 vtkBooleanMacro(ScalarVisibility,
int);
331 vtkSetMacro(VectorVisibility,
int);
335 vtkGetMacro(VectorVisibility,
int);
338 vtkBooleanMacro(VectorVisibility,
int);
343 vtkSetMacro(TensorVisibility,
int);
347 vtkGetMacro(TensorVisibility,
int);
350 vtkBooleanMacro(TensorVisibility,
int);
356 void SetAutoScalarRange(
int b);
361 int GetAutoScalarRange();
365 void AutoScalarRangeOn();
366 void AutoScalarRangeOff();
370 vtkSetVector2Macro(ScalarRange,
double);
373 vtkGetVector2Macro(ScalarRange,
double);
377 vtkSetMacro(ScalarRangeFlag,
int);
380 vtkGetMacro(ScalarRangeFlag,
int);
384 virtual
void SetTextureImageDataConnection(vtkAlgorithmOutput *ImageDataConnection);
387 vtkGetObjectMacro(TextureImageDataConnection, vtkAlgorithmOutput);
392 vtkSetMacro(InterpolateTexture,
int);
396 vtkGetMacro(InterpolateTexture,
int);
399 vtkBooleanMacro(InterpolateTexture,
int);
403 virtual
void SetAndObserveColorNodeID(const
char *ColorNodeID);
407 void SetAndObserveColorNodeID(const
std::
string& ColorNodeID);
410 vtkGetStringMacro(ColorNodeID);
419 vtkSetStringMacro(ActiveScalarName);
422 vtkGetStringMacro(ActiveScalarName);
427 vtkSetMacro(ActiveAttributeLocation,
int);
430 vtkGetMacro(ActiveAttributeLocation,
int);
434 void AddViewNodeID(const
char* viewNodeID);
437 void RemoveViewNodeID(
char* viewNodeID);
440 void RemoveAllViewNodeIDs();
444 inline
int GetNumberOfViewNodeIDs()const;
448 const
char* GetNthViewNodeID(
unsigned int index);
452 inline
std::vector<
std::
string > GetViewNodeIDs()const;
456 bool IsViewNodeIDPresent(const
char* viewNodeID)const;
461 bool IsDisplayableInView(const
char* viewNodeID)const;
466 void SetDisplayableOnlyInView(const
char *viewNodeID);
470 void SetViewNodeIDs(const
std::vector<
std::
string >& viewNodeIDs);
473 static const
char* GetAttributeLocationAsString(
int id);
476 static
int GetAttributeLocationFromString(const
char* name);
480 ~vtkMRMLDisplayNode();
481 vtkMRMLDisplayNode(const vtkMRMLDisplayNode&);
482 void operator=(const vtkMRMLDisplayNode&);
495 vtkAlgorithmOutput *TextureImageDataConnection;
518 char *ActiveScalarName;
524 int ActiveAttributeLocation;
535 double SliceIntersectionOpacity;
560 double SelectedAmbient;
565 double SelectedSpecular;
626 int SliceIntersectionVisibility;
633 int SliceIntersectionThickness;
639 int FrontfaceCulling;
652 int ScalarVisibility;
659 int VectorVisibility;
666 int TensorVisibility;
672 int InterpolateTexture;
679 double ScalarRange[2];
696 double SelectedColor[3];
719 void SetColorNodeID(const
char*
id);
723 int vtkMRMLDisplayNode::GetNumberOfViewNodeIDs()
const 725 return static_cast<int>(this->ViewNodeIDs.size());
731 return this->ViewNodeIDs;
virtual void ReadXMLAttributes(const char **atts)
virtual void ProcessMRMLEvents(vtkObject *caller, unsigned long event, void *callData)
Propagate events generated in mrml.
std::vector< std::string > GetViewNodeIDs() const
virtual void SetSceneReferences()
Update the references of the node to the scene.
virtual void Copy(vtkMRMLNode *node)
Copy parameters (not including ID and Scene) from another node of the same type.
A set of MRML Nodes that supports serialization and undo/redo.
Abstract MRML node to represent color information.
virtual void WriteXML(ostream &of, int indent)
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
Abstract class that contains graphical display properties for displayable nodes.
Abstract Superclass for all specific types of MRML nodes.