VTK
dox/Views/Infovis/vtkRenderedHierarchyRepresentation.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkRenderedHierarchyRepresentation.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 -------------------------------------------------------------------------*/
00028 #ifndef __vtkRenderedHierarchyRepresentation_h
00029 #define __vtkRenderedHierarchyRepresentation_h
00030 
00031 #include "vtkViewsInfovisModule.h" // For export macro
00032 #include "vtkRenderedGraphRepresentation.h"
00033 
00034 class VTKVIEWSINFOVIS_EXPORT vtkRenderedHierarchyRepresentation : public vtkRenderedGraphRepresentation
00035 {
00036 public:
00037   static vtkRenderedHierarchyRepresentation* New();
00038   vtkTypeMacro(vtkRenderedHierarchyRepresentation, vtkRenderedGraphRepresentation);
00039   void PrintSelf(ostream& os, vtkIndent indent);
00040 
00042  */
00043   virtual void SetGraphEdgeLabelArrayName(const char* name)
00044     { this->SetGraphEdgeLabelArrayName(name, 0); }
00045   virtual void SetGraphEdgeLabelArrayName(const char* name, int idx);
00046   virtual const char* GetGraphEdgeLabelArrayName()
00047     { return this->GetGraphEdgeLabelArrayName(0); }
00048   virtual const char* GetGraphEdgeLabelArrayName(int idx);
00050 
00051   virtual void SetGraphEdgeLabelVisibility(bool vis)
00052     { this->SetGraphEdgeLabelVisibility(vis, 0); }
00053   virtual void SetGraphEdgeLabelVisibility(bool vis, int idx);
00054   virtual bool GetGraphEdgeLabelVisibility()
00055     { return this->GetGraphEdgeLabelVisibility(0); }
00056   virtual bool GetGraphEdgeLabelVisibility(int idx);
00057   vtkBooleanMacro(GraphEdgeLabelVisibility, bool);
00058 
00059   virtual void SetGraphEdgeColorArrayName(const char* name)
00060     { this->SetGraphEdgeColorArrayName(name, 0); }
00061   virtual void SetGraphEdgeColorArrayName(const char* name, int idx);
00062   virtual const char* GetGraphEdgeColorArrayName()
00063     { return this->GetGraphEdgeColorArrayName(0); }
00064   virtual const char* GetGraphEdgeColorArrayName(int idx);
00065 
00066   virtual void SetColorGraphEdgesByArray(bool vis)
00067     { this->SetColorGraphEdgesByArray(vis, 0); }
00068   virtual void SetColorGraphEdgesByArray(bool vis, int idx);
00069   virtual bool GetColorGraphEdgesByArray()
00070     { return this->GetColorGraphEdgesByArray(0); }
00071   virtual bool GetColorGraphEdgesByArray(int idx);
00072   vtkBooleanMacro(ColorGraphEdgesByArray, bool);
00073 
00074   virtual void SetGraphEdgeColorToSplineFraction()
00075     { this->SetGraphEdgeColorArrayName("fraction", 0); }
00076   virtual void SetGraphEdgeColorToSplineFraction(int idx)
00077     { this->SetGraphEdgeColorArrayName("fraction", idx); }
00078 
00079   virtual void SetGraphVisibility(bool vis)
00080     { this->SetGraphVisibility(vis, 0); }
00081   virtual void SetGraphVisibility(bool vis, int idx);
00082   virtual bool GetGraphVisibility()
00083     { return this->GetGraphVisibility(0); }
00084   virtual bool GetGraphVisibility(int idx);
00085   vtkBooleanMacro(GraphVisibility, bool);
00086 
00087   virtual void SetBundlingStrength(double strength)
00088     { this->SetBundlingStrength(strength, 0); }
00089   virtual void SetBundlingStrength(double strength, int idx);
00090   virtual double GetBundlingStrength()
00091     { return this->GetBundlingStrength(0); }
00092   virtual double GetBundlingStrength(int idx);
00093 
00095 
00098   virtual void SetGraphSplineType(int type, int idx);
00099   virtual int GetGraphSplineType(int idx);
00101 
00102   virtual void SetGraphEdgeLabelFontSize(int size)
00103     { this->SetGraphEdgeLabelFontSize(size, 0); }
00104   virtual void SetGraphEdgeLabelFontSize(int size, int idx);
00105   virtual int GetGraphEdgeLabelFontSize()
00106     { return this->GetGraphEdgeLabelFontSize(0); }
00107   virtual int GetGraphEdgeLabelFontSize(int idx);
00108 
00109 protected:
00110   vtkRenderedHierarchyRepresentation();
00111   ~vtkRenderedHierarchyRepresentation();
00112 
00114 
00115   virtual bool AddToView(vtkView* view);
00116   virtual bool RemoveFromView(vtkView* view);
00118 
00120   bool ValidIndex(int idx);
00121 
00122   virtual vtkSelection* ConvertSelection(vtkView* view, vtkSelection* sel);
00123 
00124   virtual int FillInputPortInformation(int port, vtkInformation* info);
00125 
00127 
00128   virtual int RequestData(
00129     vtkInformation* request,
00130     vtkInformationVector** inputVector,
00131     vtkInformationVector* outputVector);
00133 
00134   virtual void ApplyViewTheme(vtkViewTheme* theme);
00135 
00136   //BTX
00137   class Internals;
00138   Internals* Implementation;
00139   //ETX
00140 
00141 private:
00142   vtkRenderedHierarchyRepresentation(const vtkRenderedHierarchyRepresentation&); // Not implemented
00143   void operator=(const vtkRenderedHierarchyRepresentation&);   // Not implemented
00144 };
00145 
00146 #endif
00147