SFX2VTK.H

Go to the documentation of this file.
00001 /* --
00002 OpenFX version 1.0 - Modelling, Animation and Rendering Package
00003 Copyright (C) 2000 OpenFX Development Team
00004 
00005 This program is free software; you can redistribute it and/or
00006 modify it under the terms of the GNU General Public License
00007 as published by the Free Software Foundation; either version 2
00008 of the License, or (at your option) any later version.
00009 
00010 This program is distributed in the hope that it will be useful,
00011 but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 GNU General Public License for more details.
00014 
00015 You should have received a copy of the GNU General Public License
00016 along with this program; if not, write to the Free Software
00017 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00018 
00019 You may contact the OpenFX development team via elecronic mail
00020 at core@openfx.org, or visit our website at http://openfx.org for
00021 further information and support details.
00022 -- */
00023 
00024 //  sfx2vtk.h
00025 
00031 class SfxBound
00032 {
00033 public:
00034   SfxBound();
00035   ~SfxBound();
00036   double GetMaximumSize(void);
00037 };
00038 
00039 
00045 class SfxReader : public vtkPolySource
00046 {
00047 public:
00048   SfxReader();
00049   ~SfxReader();
00050   char *GetClassName() {return "SfxReader";};
00051   int GetNumberOfVertices(void);
00052   int GetNumberOfEdge(void);
00053   int GetNumberOfFaces(void);
00054   void SetScale(double);
00055 protected:
00056   void Execute();
00057   int  Nv,Nf,Ne;
00058   double scale;
00059 };
00060 
00066 class SfxPointReader : public vtkPolySource
00067 {
00068 public:
00069   SfxPointReader();
00070   ~SfxPointReader();
00071   char *GetClassName() {return "SfxPointReader";};
00072   void SetScale(double);
00073 protected:
00074   void Execute();
00075   int  Nv;
00076   double scale;
00077 };
00078 
00084 class SfxEdgeReader : public vtkPolySource
00085 {
00086 public:
00087   SfxEdgeReader();
00088   ~SfxEdgeReader();
00089   char *GetClassName() {return "SfxEdgeReader";};
00090   void SetScale(double);
00091 protected:
00092   void Execute();
00093   int  Nv;
00094   int  Ne;
00095   double scale;
00096 };
00097 
00103 class SfxBaseWriter : public vtkObject
00104 {
00105 public:
00106   SfxBaseWriter();
00107   virtual void Write();
00108   void Update();
00109 
00110 protected:
00111   vtkDataSet *Input;
00112   virtual void WriteData() = 0;
00113 };
00114 
00120 class SfxWriter : public SfxBaseWriter
00121 {
00122 public:
00123   SfxWriter();
00124   ~SfxWriter();
00125   char *GetClassName() {return "SfxWriter";};
00126   void SetInput(vtkPolyData *input);
00127   void SetInput(vtkPolyData &input) {this->SetInput(&input);};
00128   vtkPolyData *GetInput() {return (vtkPolyData *)this->Input;};
00129   int GetNumberOfVertices(void);
00130   int GetNumberOfEdge(void);
00131   int GetNumberOfFaces(void);
00132   void EraseOldStructure(long );
00133   void OffsetStructure(long , long , long , long );
00134   void SetScale(double);
00135 
00136 protected:
00137   double scale;
00138   int Nv,Ne,Nf;
00139   void WriteData();
00140   void InsertInVertexList(long , long , long );
00141   void BuildEdges(long );
00142 };

Generated on Sun Apr 27 14:20:11 2014 for OpenFX by  doxygen 1.5.6