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 "vtkViewsInfovisModule.h" // For export macro 00031 #include "vtkObject.h" 00032 00033 class vtkActor; 00034 class vtkActor2D; 00035 class vtkAlgorithmOutput; 00036 class vtkApplyColors; 00037 class vtkDataRepresentation; 00038 class vtkDynamic2DLabelMapper; 00039 class vtkEdgeCenters; 00040 class vtkGraphHierarchicalBundleEdges; 00041 class vtkGraphToPolyData; 00042 class vtkPolyDataMapper; 00043 class vtkRenderView; 00044 class vtkSplineGraphEdges; 00045 class vtkSelection; 00046 class vtkTextProperty; 00047 class vtkViewTheme; 00048 00049 class VTKVIEWSINFOVIS_EXPORT vtkHierarchicalGraphPipeline : public vtkObject 00050 { 00051 public: 00052 static vtkHierarchicalGraphPipeline* New(); 00053 vtkTypeMacro(vtkHierarchicalGraphPipeline, vtkObject); 00054 void PrintSelf(ostream& os, vtkIndent indent); 00055 00057 00058 vtkGetObjectMacro(Actor, vtkActor); 00060 00062 00063 vtkGetObjectMacro(LabelActor, vtkActor2D); 00065 00067 00068 virtual void SetBundlingStrength(double strength); 00069 virtual double GetBundlingStrength(); 00071 00073 00074 virtual void SetLabelArrayName(const char* name); 00075 virtual const char* GetLabelArrayName(); 00077 00079 00080 virtual void SetLabelVisibility(bool vis); 00081 virtual bool GetLabelVisibility(); 00082 vtkBooleanMacro(LabelVisibility, bool); 00084 00086 00087 virtual void SetLabelTextProperty(vtkTextProperty* prop); 00088 virtual vtkTextProperty* GetLabelTextProperty(); 00090 00092 00093 virtual void SetColorArrayName(const char* name); 00094 virtual const char* GetColorArrayName(); 00096 00098 00099 virtual void SetColorEdgesByArray(bool vis); 00100 virtual bool GetColorEdgesByArray(); 00101 vtkBooleanMacro(ColorEdgesByArray, bool); 00103 00105 00106 virtual void SetVisibility(bool vis); 00107 virtual bool GetVisibility(); 00108 vtkBooleanMacro(Visibility, bool); 00110 00113 virtual vtkSelection* ConvertSelection(vtkDataRepresentation* rep, vtkSelection* sel); 00114 00116 00119 virtual void PrepareInputConnections( 00120 vtkAlgorithmOutput* graphConn, 00121 vtkAlgorithmOutput* treeConn, 00122 vtkAlgorithmOutput* annConn); 00124 00126 virtual void ApplyViewTheme(vtkViewTheme* theme); 00127 00129 00130 vtkSetStringMacro(HoverArrayName); 00131 vtkGetStringMacro(HoverArrayName); 00133 00135 00138 virtual void SetSplineType(int type); 00139 virtual int GetSplineType(); 00141 00143 void RegisterProgress(vtkRenderView* view); 00144 00145 protected: 00146 vtkHierarchicalGraphPipeline(); 00147 ~vtkHierarchicalGraphPipeline(); 00148 00149 vtkApplyColors* ApplyColors; 00150 vtkGraphHierarchicalBundleEdges* Bundle; 00151 vtkGraphToPolyData* GraphToPoly; 00152 vtkSplineGraphEdges* Spline; 00153 vtkPolyDataMapper* Mapper; 00154 vtkActor* Actor; 00155 vtkTextProperty* TextProperty; 00156 vtkEdgeCenters* EdgeCenters; 00157 vtkDynamic2DLabelMapper* LabelMapper; 00158 vtkActor2D* LabelActor; 00159 00160 char* HoverArrayName; 00161 00162 vtkSetStringMacro(ColorArrayNameInternal); 00163 vtkGetStringMacro(ColorArrayNameInternal); 00164 char* ColorArrayNameInternal; 00165 00166 vtkSetStringMacro(LabelArrayNameInternal); 00167 vtkGetStringMacro(LabelArrayNameInternal); 00168 char* LabelArrayNameInternal; 00169 00170 private: 00171 vtkHierarchicalGraphPipeline(const vtkHierarchicalGraphPipeline&); // Not implemented 00172 void operator=(const vtkHierarchicalGraphPipeline&); // Not implemented 00173 }; 00174