00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkActor2D.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00051 #ifndef __vtkActor2D_h 00052 #define __vtkActor2D_h 00053 00054 #include "vtkProp.h" 00055 #include "vtkCoordinate.h" // For vtkViewportCoordinateMacro 00056 00057 class vtkMapper2D; 00058 class vtkProperty2D; 00059 00060 class VTK_COMMON_EXPORT vtkActor2D : public vtkProp 00061 { 00062 public: 00063 void PrintSelf(ostream& os, vtkIndent indent); 00064 vtkTypeRevisionMacro(vtkActor2D,vtkProp); 00065 00068 static vtkActor2D* New(); 00069 00071 00072 int RenderOverlay(vtkViewport *viewport); 00073 int RenderOpaqueGeometry(vtkViewport *viewport); 00074 int RenderTranslucentGeometry(vtkViewport *viewport); 00076 00078 00079 virtual void SetMapper(vtkMapper2D *mapper); 00080 vtkGetObjectMacro(Mapper, vtkMapper2D); 00082 00084 00085 vtkSetMacro(LayerNumber, int); 00086 vtkGetMacro(LayerNumber, int); 00088 00091 vtkProperty2D* GetProperty(); 00092 00094 virtual void SetProperty(vtkProperty2D*); 00095 00097 00100 vtkViewportCoordinateMacro(Position); 00102 00104 void SetDisplayPosition(int,int); 00105 00107 00111 vtkViewportCoordinateMacro(Position2); 00113 00115 00118 void SetWidth(float w); 00119 float GetWidth(); 00120 void SetHeight(float h); 00121 float GetHeight(); 00123 00125 unsigned long GetMTime(); 00126 00130 virtual void GetActors2D(vtkPropCollection *pc); 00131 00134 void ShallowCopy(vtkProp *prop); 00135 00139 virtual void ReleaseGraphicsResources(vtkWindow *); 00140 00142 00145 virtual vtkCoordinate *GetActualPositionCoordinate(void) 00146 { return this->PositionCoordinate; } 00148 00150 00153 virtual vtkCoordinate *GetActualPosition2Coordinate(void) 00154 { return this->Position2Coordinate; } 00156 00157 protected: 00158 vtkActor2D(); 00159 ~vtkActor2D(); 00160 00161 vtkMapper2D *Mapper; 00162 int LayerNumber; 00163 vtkProperty2D *Property; 00164 vtkCoordinate *PositionCoordinate; 00165 vtkCoordinate *Position2Coordinate; 00166 private: 00167 vtkActor2D(const vtkActor2D&); // Not implemented. 00168 void operator=(const vtkActor2D&); // Not implemented. 00169 }; 00170 00171 #endif 00172 00173 00174