VTK
|
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