VTK
dox/Rendering/vtkGraphToGlyphs.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkGraphToGlyphs.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 -------------------------------------------------------------------------*/
00032 #ifndef __vtkGraphToGlyphs_h
00033 #define __vtkGraphToGlyphs_h
00034 
00035 #include "vtkPolyDataAlgorithm.h"
00036 #include "vtkSmartPointer.h" // for SP ivars
00037 
00038 class vtkDistanceToCamera;
00039 class vtkGraphToPoints;
00040 class vtkGlyph3D;
00041 class vtkGlyphSource2D;
00042 class vtkRenderer;
00043 class vtkSphereSource;
00044 
00045 class VTK_RENDERING_EXPORT vtkGraphToGlyphs : public vtkPolyDataAlgorithm 
00046 {
00047 public:
00048   static vtkGraphToGlyphs *New();
00049   vtkTypeMacro(vtkGraphToGlyphs,vtkPolyDataAlgorithm);
00050   void PrintSelf(ostream& os, vtkIndent indent);
00051 
00052   //BTX
00053   enum
00054     {
00055     VERTEX = 1,
00056     DASH,
00057     CROSS,
00058     THICKCROSS,
00059     TRIANGLE,
00060     SQUARE,
00061     CIRCLE,
00062     DIAMOND,
00063     SPHERE
00064     };
00065   //ETX
00066 
00068 
00072   vtkSetMacro(GlyphType, int);
00073   vtkGetMacro(GlyphType, int);
00075   
00077 
00078   vtkSetMacro(Filled, bool);
00079   vtkGetMacro(Filled, bool);
00080   vtkBooleanMacro(Filled, bool);
00082 
00084 
00087   vtkSetMacro(ScreenSize, double);
00088   vtkGetMacro(ScreenSize, double);
00090 
00092 
00093   virtual void SetRenderer(vtkRenderer* ren);
00094   virtual vtkRenderer* GetRenderer();
00096 
00098 
00100   virtual void SetScaling(bool b);
00101   virtual bool GetScaling();
00103 
00105   virtual unsigned long GetMTime();
00106 
00107 protected:
00108   vtkGraphToGlyphs();
00109   ~vtkGraphToGlyphs();
00110   
00112   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00113   
00115   int FillInputPortInformation(int port, vtkInformation* info);
00116 
00117   //BTX
00118   vtkSmartPointer<vtkGraphToPoints>    GraphToPoints;
00119   vtkSmartPointer<vtkGlyphSource2D>    GlyphSource;
00120   vtkSmartPointer<vtkSphereSource>     Sphere;
00121   vtkSmartPointer<vtkGlyph3D>          Glyph;
00122   vtkSmartPointer<vtkDistanceToCamera> DistanceToCamera;
00123   int GlyphType;
00124   bool Filled;
00125   double ScreenSize;
00126   //ETX
00127 
00128 private:
00129   vtkGraphToGlyphs(const vtkGraphToGlyphs&);  // Not implemented.
00130   void operator=(const vtkGraphToGlyphs&);  // Not implemented.
00131 };
00132 
00133 #endif