• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

dox/Widgets/vtkImageActorPointPlacer.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkImageActorPointPlacer.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 =========================================================================*/
00028 #ifndef __vtkImageActorPointPlacer_h
00029 #define __vtkImageActorPointPlacer_h
00030 
00031 #include "vtkPointPlacer.h"
00032 
00033 class vtkBoundedPlanePointPlacer;
00034 class vtkImageActor;
00035 class vtkRenderer;
00036 
00037 class VTK_WIDGETS_EXPORT vtkImageActorPointPlacer : public vtkPointPlacer
00038 {
00039 public:
00041   static vtkImageActorPointPlacer *New();
00042 
00044 
00045   vtkTypeRevisionMacro(vtkImageActorPointPlacer,vtkPointPlacer);
00046   void PrintSelf(ostream& os, vtkIndent indent);
00048 
00050 
00056   int ComputeWorldPosition( vtkRenderer *ren,
00057                             double displayPos[2], 
00058                             double worldPos[3],
00059                             double worldOrient[9] );
00061   
00063 
00065   int ComputeWorldPosition( vtkRenderer *ren,
00066                             double displayPos[2], 
00067                             double refWorldPos[2],
00068                             double worldPos[3],
00069                             double worldOrient[9] );
00071   
00075   int ValidateWorldPosition( double worldPos[3] );
00076   
00078 
00080   int ValidateWorldPosition( double worldPos[3],
00081                              double worldOrient[9]);
00083   
00084 
00086 
00089   int UpdateWorldPosition( vtkRenderer *ren,
00090                            double worldPos[3],
00091                            double worldOrient[9]);
00093 
00099   int UpdateInternalState();
00100 
00102 
00106   void SetImageActor( vtkImageActor * );
00107   vtkGetObjectMacro( ImageActor, vtkImageActor );
00109 
00111 
00116   vtkSetVector6Macro( Bounds, double );
00117   vtkGetVector6Macro( Bounds, double );
00119   
00120 protected:
00121   vtkImageActorPointPlacer();
00122   ~vtkImageActorPointPlacer();
00123 
00124 
00125   // The reference image actor. Must be configured before this placer
00126   // is used.
00127   vtkImageActor *ImageActor;
00128   
00129   // The internal placer.
00130   vtkBoundedPlanePointPlacer *Placer;
00131   
00132   // Used to keep track of whether the bounds of the
00133   // input image have changed
00134   double SavedBounds[6];
00135 
00136   // See the SetBounds method
00137   double Bounds[6];
00138   
00139 private:
00140   vtkImageActorPointPlacer(const vtkImageActorPointPlacer&);  //Not implemented
00141   void operator=(const vtkImageActorPointPlacer&);  //Not implemented
00142 };
00143 
00144 #endif

Generated by  doxygen 1.7.1