VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkAngleRepresentation2D.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 =========================================================================*/ 00036 #ifndef vtkAngleRepresentation2D_h 00037 #define vtkAngleRepresentation2D_h 00038 00039 #include "vtkInteractionWidgetsModule.h" // For export macro 00040 #include "vtkAngleRepresentation.h" 00041 00042 class vtkLeaderActor2D; 00043 class vtkProperty2D; 00044 00045 00046 class VTKINTERACTIONWIDGETS_EXPORT vtkAngleRepresentation2D : public vtkAngleRepresentation 00047 { 00048 public: 00050 static vtkAngleRepresentation2D *New(); 00051 00053 00054 vtkTypeMacro(vtkAngleRepresentation2D,vtkAngleRepresentation); 00055 void PrintSelf(ostream& os, vtkIndent indent); 00057 00059 virtual double GetAngle(); 00060 00062 00065 virtual void GetPoint1WorldPosition(double pos[3]); 00066 virtual void GetCenterWorldPosition(double pos[3]); 00067 virtual void GetPoint2WorldPosition(double pos[3]); 00068 virtual void SetPoint1DisplayPosition(double pos[3]); 00069 virtual void SetCenterDisplayPosition(double pos[3]); 00070 virtual void SetPoint2DisplayPosition(double pos[3]); 00071 virtual void GetPoint1DisplayPosition(double pos[3]); 00072 virtual void GetCenterDisplayPosition(double pos[3]); 00073 virtual void GetPoint2DisplayPosition(double pos[3]); 00075 00077 00080 vtkGetObjectMacro(Ray1,vtkLeaderActor2D); 00081 vtkGetObjectMacro(Ray2,vtkLeaderActor2D); 00082 vtkGetObjectMacro(Arc,vtkLeaderActor2D); 00084 00086 void BuildRepresentation(); 00087 00089 00090 virtual void ReleaseGraphicsResources(vtkWindow *w); 00091 virtual int RenderOverlay(vtkViewport *viewport); 00093 00094 protected: 00095 vtkAngleRepresentation2D(); 00096 ~vtkAngleRepresentation2D(); 00097 00098 // The pieces that make up the angle representations 00099 vtkLeaderActor2D *Ray1; 00100 vtkLeaderActor2D *Ray2; 00101 vtkLeaderActor2D *Arc; 00102 00103 private: 00104 vtkAngleRepresentation2D(const vtkAngleRepresentation2D&); //Not implemented 00105 void operator=(const vtkAngleRepresentation2D&); //Not implemented 00106 }; 00107 00108 #endif