Version: 6.3.1

src/PIPELINE/VISU_LabelPointsFilter.hxx

Go to the documentation of this file.
00001 // Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
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 //  VISU OBJECT : interactive object for VISU entities implementation
00021 // File:    VISU_LabelPointsFilter.hxx
00022 // Author:  Vitaly Smetannikov
00023 // Module : VISU
00024 //
00025 #ifndef VISU_LabelPointsFilter_HeaderFile
00026 #define VISU_LabelPointsFilter_HeaderFile
00027 
00028 #include "VISUPipeline.hxx"
00029 #include <vtkPolyDataAlgorithm.h>
00030 
00031 class vtkPolyData;
00032 
00033 class VISU_PIPELINE_EXPORT VISU_LabelPointsFilter : public vtkPolyDataAlgorithm
00034 {
00035 public:
00036   vtkTypeMacro(VISU_LabelPointsFilter, vtkPolyDataAlgorithm);
00037 
00038   static VISU_LabelPointsFilter* New();
00039 
00040   void SetPointsNb(int theNb);
00041 
00042   int GetPointsNb() const { return myPointsNb; }
00043 
00044 protected:
00045   VISU_LabelPointsFilter();
00046 
00047   virtual ~VISU_LabelPointsFilter();
00048 
00049   virtual int RequestData(vtkInformation* request,
00050                           vtkInformationVector** inputVector,
00051                           vtkInformationVector* outputVector);
00052 
00053   virtual int RequestUpdateExtent(vtkInformation*,
00054                                   vtkInformationVector**,
00055                                   vtkInformationVector*);
00056 
00057 
00058   void TraverseAndMark (vtkIdList* theWave, 
00059                         vtkIdList* theWave2, 
00060                         int* theVisited,
00061                         vtkIdType* thePointMap,
00062                         int& theRegionNumber,
00063                         vtkIdType& thePointNumber,
00064                         vtkPolyData* theMesh);
00065   
00066   int GetRegions(vtkPolyData* theInput, 
00067                  vtkPolyData* theOutput);
00068 
00069   int myPointsNb;
00070 
00071 };
00072 
00073 
00074 #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