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