00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00031 #ifndef __vtkTreeLayoutView_h
00032 #define __vtkTreeLayoutView_h
00033
00034 #include "vtkRenderView.h"
00035
00036 class vtkActor;
00037 class vtkActor2D;
00038 class vtkCoordinate;
00039 class vtkDynamic2DLabelMapper;
00040 class vtkExtractSelectedGraph;
00041 class vtkGraphLayout;
00042 class vtkGraphToPolyData;
00043 class vtkInteractorStyleRubberBand2D;
00044 class vtkKdTreeSelector;
00045 class vtkLookupTable;
00046 class vtkPolyDataMapper;
00047 class vtkTreeLayoutStrategy;
00048 class vtkVertexGlyphFilter;
00049 class vtkViewTheme;
00050 class vtkHardwareSelector;
00051
00052 class VTK_VIEWS_EXPORT vtkTreeLayoutView : public vtkRenderView
00053 {
00054 public:
00055 static vtkTreeLayoutView *New();
00056 vtkTypeRevisionMacro(vtkTreeLayoutView, vtkRenderView);
00057 void PrintSelf(ostream& os, vtkIndent indent);
00058
00060
00061 void SetLabelArrayName(const char* name);
00062 const char* GetLabelArrayName();
00064
00066
00067 void SetLabelVisibility(bool vis);
00068 bool GetLabelVisibility();
00069 void LabelVisibilityOn();
00070 void LabelVisibilityOff();
00072
00074
00075 void SetVertexColorArrayName(const char* name);
00076 const char* GetVertexColorArrayName();
00078
00080
00081 void SetColorVertices(bool vis);
00082 bool GetColorVertices();
00083 void ColorVerticesOn();
00084 void ColorVerticesOff();
00086
00088
00089 void SetEdgeColorArrayName(const char* name);
00090 const char* GetEdgeColorArrayName();
00092
00094
00095 void SetColorEdges(bool vis);
00096 bool GetColorEdges();
00097 void ColorEdgesOn();
00098 void ColorEdgesOff();
00100
00102
00105 void SetAngle(double angle);
00106 double GetAngle();
00108
00110
00113 void SetRadial(bool radial);
00114 bool GetRadial();
00115 void RadialOn();
00116 void RadialOff();
00118
00120
00123 void SetLogSpacingValue(double value);
00124 double GetLogSpacingValue();
00126
00128
00131 void SetLeafSpacing(double value);
00132 double GetLeafSpacing();
00134
00136
00137 const char* GetDistanceArrayName();
00138 void SetDistanceArrayName(const char* name);
00140
00142 virtual void SetupRenderWindow(vtkRenderWindow* win);
00143
00145 virtual void ApplyViewTheme(vtkViewTheme* theme);
00146
00147 protected:
00148 vtkTreeLayoutView();
00149 ~vtkTreeLayoutView();
00150
00152
00153 virtual void ProcessEvents(vtkObject* caller, unsigned long eventId,
00154 void* callData);
00156
00158
00160 virtual void AddInputConnection( int port, int item,
00161 vtkAlgorithmOutput* conn,
00162 vtkAlgorithmOutput* selectionConn);
00164
00166
00167 virtual void RemoveInputConnection( int port, int item,
00168 vtkAlgorithmOutput* conn,
00169 vtkAlgorithmOutput* selectionConn);
00171
00173 virtual void PrepareForRendering();
00174
00176 void MapToXYPlane(double displayX, double displayY, double &x, double &y);
00177
00179
00180 vtkGetStringMacro(VertexColorArrayNameInternal);
00181 vtkSetStringMacro(VertexColorArrayNameInternal);
00182 vtkGetStringMacro(EdgeColorArrayNameInternal);
00183 vtkSetStringMacro(EdgeColorArrayNameInternal);
00185
00186 char* VertexColorArrayNameInternal;
00187 char* EdgeColorArrayNameInternal;
00188
00189
00190 vtkCoordinate* Coordinate;
00191
00192
00193 vtkGraphLayout* GraphLayout;
00194 vtkTreeLayoutStrategy* TreeStrategy;
00195 vtkGraphToPolyData* GraphToPolyData;
00196 vtkVertexGlyphFilter* VertexGlyph;
00197 vtkPolyDataMapper* VertexMapper;
00198 vtkLookupTable* VertexColorLUT;
00199 vtkActor* VertexActor;
00200 vtkPolyDataMapper* OutlineMapper;
00201 vtkActor* OutlineActor;
00202 vtkPolyDataMapper* EdgeMapper;
00203 vtkLookupTable* EdgeColorLUT;
00204 vtkActor* EdgeActor;
00205 vtkDynamic2DLabelMapper* LabelMapper;
00206 vtkActor2D* LabelActor;
00207
00208
00209 vtkKdTreeSelector* KdTreeSelector;
00210 vtkHardwareSelector* HardwareSelector;
00211 vtkExtractSelectedGraph* ExtractSelectedGraph;
00212 vtkGraphToPolyData* SelectionToPolyData;
00213 vtkVertexGlyphFilter* SelectionVertexGlyph;
00214 vtkPolyDataMapper* SelectionVertexMapper;
00215 vtkActor* SelectionVertexActor;
00216 vtkPolyDataMapper* SelectionEdgeMapper;
00217 vtkActor* SelectionEdgeActor;
00218
00219 private:
00220 vtkTreeLayoutView(const vtkTreeLayoutView&);
00221 void operator=(const vtkTreeLayoutView&);
00222 };
00223
00224 #endif