00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkGeoLineRepresentation.h,v $ 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 -------------------------------------------------------------------------*/ 00030 #ifndef __vtkGeoLineRepresentation_h 00031 #define __vtkGeoLineRepresentation_h 00032 00033 #include "vtkDataRepresentation.h" 00034 #include "vtkSmartPointer.h" // For ivars 00035 00036 class vtkAbstractTransform; 00037 class vtkActor; 00038 class vtkAlgorithmOutput; 00039 class vtkDataObject; 00040 class vtkExtractSelection; 00041 class vtkGeoArcs; 00042 class vtkGeoAssignCoordinates; 00043 class vtkGeoSampleArcs; 00044 class vtkGeometryFilter; 00045 class vtkPolyDataMapper; 00046 class vtkSelection; 00047 class vtkVertexGlyphFilter; 00048 class vtkView; 00049 00050 class VTK_GEOVIS_EXPORT vtkGeoLineRepresentation : public vtkDataRepresentation 00051 { 00052 public: 00053 static vtkGeoLineRepresentation *New(); 00054 vtkTypeRevisionMacro(vtkGeoLineRepresentation, vtkDataRepresentation); 00055 void PrintSelf(ostream& os, vtkIndent indent); 00056 00058 virtual void SetInputConnection(vtkAlgorithmOutput *conn); 00059 00061 00062 virtual void SetLatitudeArrayName(const char *name); 00063 virtual const char* GetLatitudeArrayName(); 00065 00067 00068 virtual void SetLongitudeArrayName(const char *name); 00069 virtual const char* GetLongitudeArrayName(); 00071 00073 00075 virtual void SetPointVisibility(bool b); 00076 virtual bool GetPointVisibility(); 00077 vtkBooleanMacro(PointVisibility, bool); 00079 00081 virtual void PrepareForRendering(); 00082 00084 00087 virtual void SetCoordinatesInArrays(bool b); 00088 virtual bool GetCoordinatesInArrays(); 00089 vtkBooleanMacro(CoordinatesInArrays, bool); 00091 00093 00095 virtual void SetTransform(vtkAbstractTransform* transform); 00096 virtual vtkAbstractTransform* GetTransform(); 00098 00099 protected: 00100 vtkGeoLineRepresentation(); 00101 ~vtkGeoLineRepresentation(); 00102 00105 virtual bool AddToView(vtkView *view); 00106 00109 virtual bool RemoveFromView(vtkView *view); 00110 00114 virtual vtkSelection *ConvertSelection(vtkView *view, vtkSelection *selection); 00115 00116 //BTX 00117 00119 00120 vtkSmartPointer<vtkGeometryFilter> GeometryFilter; 00121 vtkSmartPointer<vtkGeoAssignCoordinates> AssignCoordinates; 00122 vtkSmartPointer<vtkGeoSampleArcs> GeoSampleArcs; 00123 vtkSmartPointer<vtkPolyDataMapper> Mapper; 00124 vtkSmartPointer<vtkActor> Actor; 00125 vtkSmartPointer<vtkExtractSelection> ExtractSelection; 00126 vtkSmartPointer<vtkGeometryFilter> SelectionGeometryFilter; 00127 vtkSmartPointer<vtkGeoAssignCoordinates> SelectionAssignCoords; 00128 vtkSmartPointer<vtkGeoSampleArcs> SelectionGeoSampleArcs; 00129 vtkSmartPointer<vtkPolyDataMapper> SelectionMapper; 00130 vtkSmartPointer<vtkActor> SelectionActor; 00131 vtkSmartPointer<vtkVertexGlyphFilter> VertexGlyphFilter; 00132 vtkSmartPointer<vtkPolyDataMapper> VertexMapper; 00133 vtkSmartPointer<vtkActor> VertexActor; 00135 00136 //ETX 00137 00138 bool CoordinatesInArrays; 00139 00140 private: 00141 vtkGeoLineRepresentation(const vtkGeoLineRepresentation&); // Not implemented. 00142 void operator=(const vtkGeoLineRepresentation&); // Not implemented. 00143 }; 00144 00145 #endif