VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Interaction/Widgets/vtkAngleRepresentation2D.h
Go to the documentation of this file.
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