VTK
dox/Interaction/Widgets/vtkEllipsoidTensorProbeRepresentation.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkEllipsoidTensorProbeRepresentation.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 =========================================================================*/
00027 #ifndef __vtkEllipsoidTensorProbeRepresentation_h
00028 #define __vtkEllipsoidTensorProbeRepresentation_h
00029 
00030 #include "vtkInteractionWidgetsModule.h" // For export macro
00031 #include "vtkTensorProbeRepresentation.h"
00032 
00033 class vtkCellPicker;
00034 class vtkTensorGlyph;
00035 class vtkPolyDataNormals;
00036 
00037 class VTKINTERACTIONWIDGETS_EXPORT vtkEllipsoidTensorProbeRepresentation :
00038                public vtkTensorProbeRepresentation
00039 {
00040 public:
00041   static vtkEllipsoidTensorProbeRepresentation *New();
00042 
00044 
00045   vtkTypeMacro(vtkEllipsoidTensorProbeRepresentation,
00046                                 vtkTensorProbeRepresentation);
00047   void PrintSelf(ostream& os, vtkIndent indent);
00049 
00050   virtual void BuildRepresentation();
00051   virtual int RenderOpaqueGeometry(vtkViewport *);
00052 
00054   virtual int SelectProbe( int pos[2] );
00055 
00057 
00058   virtual void GetActors(vtkPropCollection *);
00059   virtual void ReleaseGraphicsResources(vtkWindow *);
00061 
00062 protected:
00063   vtkEllipsoidTensorProbeRepresentation();
00064   ~vtkEllipsoidTensorProbeRepresentation();
00065 
00066   // Get the interpolated tensor at the current position
00067   void EvaluateTensor( double t[9] );
00068 
00069   // Register internal Pickers within PickingManager
00070   virtual void RegisterPickers();
00071 
00072   vtkActor           * EllipsoidActor;
00073   vtkPolyDataMapper  * EllipsoidMapper;
00074   vtkPolyData        * TensorSource;
00075   vtkTensorGlyph     * TensorGlypher;
00076   vtkCellPicker      * CellPicker;
00077   vtkPolyDataNormals * PolyDataNormals;
00078 
00079 private:
00080   vtkEllipsoidTensorProbeRepresentation(const
00081       vtkEllipsoidTensorProbeRepresentation&);  //Not implemented
00082   void operator=(const
00083       vtkEllipsoidTensorProbeRepresentation&);  //Not implemented
00084 
00085 };
00086 
00087 #endif
00088