VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkHierarchicalGraphPipeline.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 /*------------------------------------------------------------------------- 00016 Copyright 2008 Sandia Corporation. 00017 Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 00018 the U.S. Government retains certain rights in this software. 00019 -------------------------------------------------------------------------*/ 00030 #include "vtkObject.h" 00031 00032 class vtkActor; 00033 class vtkActor2D; 00034 class vtkAlgorithmOutput; 00035 class vtkApplyColors; 00036 class vtkDataRepresentation; 00037 class vtkDynamic2DLabelMapper; 00038 class vtkEdgeCenters; 00039 class vtkGraphHierarchicalBundleEdges; 00040 class vtkGraphToPolyData; 00041 class vtkPolyDataMapper; 00042 class vtkRenderView; 00043 class vtkSplineGraphEdges; 00044 class vtkSelection; 00045 class vtkTextProperty; 00046 class vtkViewTheme; 00047 00048 class VTK_VIEWS_EXPORT vtkHierarchicalGraphPipeline : public vtkObject 00049 { 00050 public: 00051 static vtkHierarchicalGraphPipeline* New(); 00052 vtkTypeMacro(vtkHierarchicalGraphPipeline, vtkObject); 00053 void PrintSelf(ostream& os, vtkIndent indent); 00054 00056 00057 vtkGetObjectMacro(Actor, vtkActor); 00059 00061 00062 vtkGetObjectMacro(LabelActor, vtkActor2D); 00064 00066 00067 virtual void SetBundlingStrength(double strength); 00068 virtual double GetBundlingStrength(); 00070 00072 00073 virtual void SetLabelArrayName(const char* name); 00074 virtual const char* GetLabelArrayName(); 00076 00078 00079 virtual void SetLabelVisibility(bool vis); 00080 virtual bool GetLabelVisibility(); 00081 vtkBooleanMacro(LabelVisibility, bool); 00083 00085 00086 virtual void SetLabelTextProperty(vtkTextProperty* prop); 00087 virtual vtkTextProperty* GetLabelTextProperty(); 00089 00091 00092 virtual void SetColorArrayName(const char* name); 00093 virtual const char* GetColorArrayName(); 00095 00097 00098 virtual void SetColorEdgesByArray(bool vis); 00099 virtual bool GetColorEdgesByArray(); 00100 vtkBooleanMacro(ColorEdgesByArray, bool); 00102 00104 00105 virtual void SetVisibility(bool vis); 00106 virtual bool GetVisibility(); 00107 vtkBooleanMacro(Visibility, bool); 00109 00112 virtual vtkSelection* ConvertSelection(vtkDataRepresentation* rep, vtkSelection* sel); 00113 00115 00118 virtual void PrepareInputConnections( 00119 vtkAlgorithmOutput* graphConn, 00120 vtkAlgorithmOutput* treeConn, 00121 vtkAlgorithmOutput* annConn); 00123 00125 virtual void ApplyViewTheme(vtkViewTheme* theme); 00126 00128 00129 vtkSetStringMacro(HoverArrayName); 00130 vtkGetStringMacro(HoverArrayName); 00132 00134 00137 virtual void SetSplineType(int type); 00138 virtual int GetSplineType(); 00140 00142 void RegisterProgress(vtkRenderView* view); 00143 00144 protected: 00145 vtkHierarchicalGraphPipeline(); 00146 ~vtkHierarchicalGraphPipeline(); 00147 00148 vtkApplyColors* ApplyColors; 00149 vtkGraphHierarchicalBundleEdges* Bundle; 00150 vtkGraphToPolyData* GraphToPoly; 00151 vtkSplineGraphEdges* Spline; 00152 vtkPolyDataMapper* Mapper; 00153 vtkActor* Actor; 00154 vtkTextProperty* TextProperty; 00155 vtkEdgeCenters* EdgeCenters; 00156 vtkDynamic2DLabelMapper* LabelMapper; 00157 vtkActor2D* LabelActor; 00158 00159 char* HoverArrayName; 00160 00161 vtkSetStringMacro(ColorArrayNameInternal); 00162 vtkGetStringMacro(ColorArrayNameInternal); 00163 char* ColorArrayNameInternal; 00164 00165 vtkSetStringMacro(LabelArrayNameInternal); 00166 vtkGetStringMacro(LabelArrayNameInternal); 00167 char* LabelArrayNameInternal; 00168 00169 private: 00170 vtkHierarchicalGraphPipeline(const vtkHierarchicalGraphPipeline&); // Not implemented 00171 void operator=(const vtkHierarchicalGraphPipeline&); // Not implemented 00172 }; 00173