Back to index

salome-paravis  6.5.0
vtkTableTo3D.h
Go to the documentation of this file.
00001 // Copyright (C) 2010-2012  CEA/DEN, EDF R&D
00002 //
00003 // This library is free software; you can redistribute it and/or
00004 // modify it under the terms of the GNU Lesser General Public
00005 // License as published by the Free Software Foundation; either
00006 // version 2.1 of the License.
00007 //
00008 // This library is distributed in the hope that it will be useful,
00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011 // Lesser General Public License for more details.
00012 //
00013 // You should have received a copy of the GNU Lesser General Public
00014 // License along with this library; if not, write to the Free Software
00015 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00016 //
00017 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00018 //
00019 
00020 #ifndef __vtkTableTo3D_h
00021 #define __vtkTableTo3D_h
00022 
00023 #include "vtkPolyDataAlgorithm.h"
00024 
00025 #define TABLETO3D_SURFACE 0
00026 #define TABLETO3D_CONTOUR 1
00027 
00028 class VTK_EXPORT vtkTableTo3D : public vtkPolyDataAlgorithm
00029 {
00030 public:
00031   static vtkTableTo3D* New();
00032   vtkTypeRevisionMacro(vtkTableTo3D, vtkPolyDataAlgorithm);
00033   void PrintSelf(ostream& os, vtkIndent indent);
00034 
00035   // Description:
00036   // Specify value to scale diplacement.
00037   vtkSetMacro(ScaleFactor, double);
00038   vtkGetMacro(ScaleFactor, double);
00039     
00040   // Description:
00041   // When set to true, the filter will compute optimus scale factor,
00042   // the value of ScaleFactor variable will be ignored.
00043   vtkSetMacro(UseOptimusScale, bool);
00044   vtkGetMacro(UseOptimusScale, bool);
00045   vtkBooleanMacro(UseOptimusScale, bool);
00046 
00047   // Description:
00048   // Specify type of presentation: surface of contour.
00049   vtkSetClampMacro(PresentationType, int,
00050                  TABLETO3D_SURFACE, TABLETO3D_CONTOUR);
00051   vtkGetMacro(PresentationType, int);
00052 
00053   // Description:
00054   // Specify number of contours for contour presentation type.
00055   vtkSetMacro(NumberOfContours, int);
00056   vtkGetMacro(NumberOfContours, int);
00057 
00058 protected:
00059   vtkTableTo3D();
00060   ~vtkTableTo3D();
00061 
00062   // Description:
00063   // Overridden to specify that input must be a vtkTable.
00064   virtual int FillInputPortInformation(int port, vtkInformation* info);
00065 
00066   // Description:
00067   // Convert input vtkTable to vtkPolyData.
00068   virtual int RequestData(vtkInformation* request,
00069     vtkInformationVector** inputVector, vtkInformationVector* outputVector);
00070 
00071   double ScaleFactor;
00072   bool UseOptimusScale;
00073   int PresentationType;
00074   int NumberOfContours;
00075 
00076 private:
00077   vtkTableTo3D(const vtkTableTo3D&); // Not implemented.
00078   void operator=(const vtkTableTo3D&); // Not implemented.
00079 };
00080 
00081 #endif