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 "vtkTensorProbeRepresentation.h" 00031 00032 class vtkCellPicker; 00033 class vtkTensorGlyph; 00034 class vtkPolyDataNormals; 00035 00036 class VTK_WIDGETS_EXPORT vtkEllipsoidTensorProbeRepresentation : 00037 public vtkTensorProbeRepresentation 00038 { 00039 public: 00040 static vtkEllipsoidTensorProbeRepresentation *New(); 00041 00043 00044 vtkTypeMacro(vtkEllipsoidTensorProbeRepresentation, 00045 vtkTensorProbeRepresentation); 00046 void PrintSelf(ostream& os, vtkIndent indent); 00048 00049 virtual void BuildRepresentation(); 00050 virtual int RenderOpaqueGeometry(vtkViewport *); 00051 00053 virtual int SelectProbe( int pos[2] ); 00054 00056 00057 virtual void GetActors(vtkPropCollection *); 00058 virtual void ReleaseGraphicsResources(vtkWindow *); 00060 00061 protected: 00062 vtkEllipsoidTensorProbeRepresentation(); 00063 ~vtkEllipsoidTensorProbeRepresentation(); 00064 00065 // Get the interpolated tensor at the current position 00066 void EvaluateTensor( double t[9] ); 00067 00068 vtkActor * EllipsoidActor; 00069 vtkPolyDataMapper * EllipsoidMapper; 00070 vtkPolyData * TensorSource; 00071 vtkTensorGlyph * TensorGlypher; 00072 vtkCellPicker * CellPicker; 00073 vtkPolyDataNormals * PolyDataNormals; 00074 00075 private: 00076 vtkEllipsoidTensorProbeRepresentation(const 00077 vtkEllipsoidTensorProbeRepresentation&); //Not implemented 00078 void operator=(const 00079 vtkEllipsoidTensorProbeRepresentation&); //Not implemented 00080 00081 }; 00082 00083 #endif 00084