Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkFollower.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkFollower.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 =========================================================================*/
00049 #ifndef __vtkFollower_h
00050 #define __vtkFollower_h
00051 
00052 #include "vtkActor.h"
00053 
00054 class vtkCamera;
00055 
00056 class VTK_RENDERING_EXPORT vtkFollower : public vtkActor
00057 {
00058  public:
00059   vtkTypeRevisionMacro(vtkFollower,vtkActor);
00060   void PrintSelf(ostream& os, vtkIndent indent);
00061 
00063   static vtkFollower *New();
00064 
00066 
00068   virtual void SetCamera(vtkCamera*);
00069   vtkGetObjectMacro(Camera,vtkCamera);
00071 
00073 
00076   virtual int RenderOpaqueGeometry(vtkViewport *viewport);
00077   virtual int RenderTranslucentGeometry(vtkViewport *viewport);
00078   virtual void Render(vtkRenderer *ren);
00080   
00082 
00083   virtual void GetMatrix(vtkMatrix4x4 *m);
00084   virtual void GetMatrix(double m[16]);
00085   virtual vtkMatrix4x4* GetMatrix()
00086     {return this->vtkActor::GetMatrix();}
00088 
00090   void ShallowCopy(vtkProp *prop);
00091 
00092 protected:
00093   vtkFollower();
00094   ~vtkFollower();
00095 
00096   vtkCamera *Camera; 
00097   vtkActor  *Device;
00098 private:
00099   // hide the two parameter Render() method from the user and the compiler.
00100   virtual void Render(vtkRenderer *, vtkMapper *) {};
00101 private:
00102   vtkFollower(const vtkFollower&);  // Not implemented.
00103   void operator=(const vtkFollower&);  // Not implemented.
00104 };
00105 
00106 #endif
00107 
00108 
00109