Version: 6.3.1

src/PIPELINE/VISU_CutLinesPL.hxx

Go to the documentation of this file.
00001 // Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 
00023 //  VISU OBJECT : interactive object for VISU entities implementation
00024 // File:    VISU_PipeLine.hxx
00025 // Author:  Alexey PETROV
00026 // Module : VISU
00027 //
00028 #ifndef VISU_CutLinesPL_HeaderFile
00029 #define VISU_CutLinesPL_HeaderFile
00030 
00031 #include "VISUPipeline.hxx"
00032 #include "VISU_CutLinesBasePL.hxx"
00033 
00034 class vtkAppendPolyData;
00035 
00036 
00037 //----------------------------------------------------------------------------
00038 class VISU_PIPELINE_EXPORT VISU_CutLinesPL : public VISU_CutLinesBasePL
00039 {
00040 public:
00041   vtkTypeMacro(VISU_CutLinesPL,VISU_CutLinesBasePL);
00042 
00043   static 
00044   VISU_CutLinesPL* 
00045   New();
00046 
00047   virtual
00048   void
00049   SetPosition(vtkFloatingPointType thePosition);
00050 
00051   virtual
00052   vtkFloatingPointType 
00053   GetPosition();
00054 
00055   virtual
00056   void
00057   SetDefault();
00058 
00059   virtual
00060   int
00061   IsDefault();
00062 
00063 public:
00064   virtual
00065   void
00066   Init();
00067 
00068   vtkDataSet*
00069   InsertCustomPL();
00070 
00071   virtual
00072   void
00073   Update();
00074 
00075   static
00076   void
00077   CutWithPlanes(vtkAppendPolyData* theAppendPolyData, 
00078                 vtkDataSet* theDataSet,
00079                 int theNbPlanes, 
00080                 vtkFloatingPointType theDir[3], 
00081                 vtkFloatingPointType theBounds[6], 
00082                 vtkFloatingPointType thePlanePosition, 
00083                 int thePlaneCondition,
00084                 vtkFloatingPointType theDisplacement);
00085 
00086 protected:
00087   VISU_CutLinesPL();
00088 
00089   virtual
00090   void
00091   DoShallowCopy(VISU_PipeLine *thePipeLine,
00092                 bool theIsCopyInput);
00093 
00094   vtkFloatingPointType myPosition;
00095   int myCondition;
00096 
00097 private:
00098   VISU_CutLinesPL(const VISU_CutLinesPL&);  // Not implemented.
00099   void operator=(const VISU_CutLinesPL&);  // Not implemented.
00100 };
00101 
00102 
00103 #endif
Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS