#ifndef __vtkKWMeshVisu_h #define __vtkKWMeshVisu_h #include "vtkKWObject.h" class vtkKWRenderWidget; class vtkImageViewer2; class vtkKWScale; class vtkKWWindowLevelPresetSelector; class vtkKWColorTransferFunctionEditor; class vtkKWScaleWithEntry; class vtkKWMenuButton; class vtkKWWindow; class vtkColorTransferFunction; class vtkPolyData ; class vtkPolyDataMapper; class vtkActor; class vtkPolyDataNormals; class vtkGlyph3D ; class vtkTensorGlyph ; class vtkArrowSource ; class vtkSphereSource ; class vtkKWMeshVisu : public vtkKWObject { public: static vtkKWMeshVisu* New(); vtkTypeRevisionMacro(vtkKWMeshVisu,vtkKWObject); // Description: // Run the example. int Run(int argc, char *argv[]); // Description: // Callbacks virtual void LoadMeshCallback(); virtual void Load1DAttributeCallback(); virtual void Load3DAttributeCallback(); virtual void LoadEllipsoidFieldCallback(); virtual void LoadCurveCallback(); virtual void CleanAttributesCallback(); virtual void LoadAttributeMeshCallback(); virtual void SaveAttributeMeshCallback(); virtual void PValueCallback(); virtual void DistanceMapCallback(); virtual void OpacityCallback(double d); virtual void FeatureScaleCallback (double d); virtual void GetCameraCallback (); int CommandLine (int argc, const char *argv[]); protected: vtkKWMeshVisu(); ~vtkKWMeshVisu(); vtkKWMenuButton *ColorMode ; vtkKWScaleWithEntry *opacityScale ; vtkKWScaleWithEntry *featureScale ; vtkKWRenderWidget *RenderWidget; vtkKWWindow *win; vtkKWColorTransferFunctionEditor *TFuncEditor; vtkColorTransferFunction *PValueTFunc; vtkColorTransferFunction *DistanceMapTFunc; vtkColorTransferFunction *FixedTFunc ; void UpdateDistanceMapTFunc (); void GetAttributeRange (double *r ) ; void Stabilize1DVisualization(); void SaveRenderAsBMP(const char *filename) ; void LoadMesh(char *fileName); void LoadScalarField(char *fileName); void LoadVectorField(char *fileName); void LoadCurve (char *fileName); void LoadEllipsoidField(char *fileName); vtkPolyData *vtkMesh ; vtkPolyDataMapper *meshMapper ; vtkActor *meshActor ; vtkPolyDataNormals *normalFilter ; vtkArrowSource *arrowSource ; vtkGlyph3D *arrowGlyphFilter; vtkPolyDataMapper *arrowGlyphMapper ; vtkActor *arrowGlyphActor ; vtkSphereSource *ellipsoidSource ; vtkTensorGlyph *ellipsoidGlyphFilter ; vtkPolyDataMapper *ellipsoidGlyphMapper ; vtkActor *ellipsoidGlyphActor ; vtkActor *aPolyLineActor ; int attributeDimension ; bool commandLine ; private: vtkKWMeshVisu(const vtkKWMeshVisu&); // Not implemented. void operator=(const vtkKWMeshVisu&); // Not implemented. }; #endif