00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
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&);
00171 void operator=(const vtkHierarchicalGraphPipeline&);
00172 };
00173