00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkAngleRepresentation2D.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 =========================================================================*/ 00033 #ifndef __vtkAngleRepresentation2D_h 00034 #define __vtkAngleRepresentation2D_h 00035 00036 #include "vtkAngleRepresentation.h" 00037 00038 class vtkLeaderActor2D; 00039 class vtkProperty2D; 00040 00041 00042 class VTK_WIDGETS_EXPORT vtkAngleRepresentation2D : public vtkAngleRepresentation 00043 { 00044 public: 00046 static vtkAngleRepresentation2D *New(); 00047 00049 00050 vtkTypeRevisionMacro(vtkAngleRepresentation2D,vtkAngleRepresentation); 00051 void PrintSelf(ostream& os, vtkIndent indent); 00053 00055 virtual double GetAngle(); 00056 00058 00061 virtual void GetPoint1WorldPosition(double pos[3]); 00062 virtual void GetCenterWorldPosition(double pos[3]); 00063 virtual void GetPoint2WorldPosition(double pos[3]); 00064 virtual void SetPoint1DisplayPosition(double pos[3]); 00065 virtual void SetCenterDisplayPosition(double pos[3]); 00066 virtual void SetPoint2DisplayPosition(double pos[3]); 00067 virtual void GetPoint1DisplayPosition(double pos[3]); 00068 virtual void GetCenterDisplayPosition(double pos[3]); 00069 virtual void GetPoint2DisplayPosition(double pos[3]); 00071 00073 00076 vtkGetObjectMacro(Ray1,vtkLeaderActor2D); 00077 vtkGetObjectMacro(Ray2,vtkLeaderActor2D); 00078 vtkGetObjectMacro(Arc,vtkLeaderActor2D); 00080 00082 void BuildRepresentation(); 00083 00085 00086 virtual void ReleaseGraphicsResources(vtkWindow *w); 00087 virtual int RenderOverlay(vtkViewport *viewport); 00089 00090 protected: 00091 vtkAngleRepresentation2D(); 00092 ~vtkAngleRepresentation2D(); 00093 00094 // The pieces that make up the angle representations 00095 vtkLeaderActor2D *Ray1; 00096 vtkLeaderActor2D *Ray2; 00097 vtkLeaderActor2D *Arc; 00098 00099 private: 00100 vtkAngleRepresentation2D(const vtkAngleRepresentation2D&); //Not implemented 00101 void operator=(const vtkAngleRepresentation2D&); //Not implemented 00102 }; 00103 00104 #endif