VTK
|
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