1 // Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 #ifndef _VTKViewer_ConvexTool_H
24 #define _VTKViewer_ConvexTool_H
26 #include "VTKViewer.h"
31 #include <vtkSystemIncludes.h>
33 class vtkUnstructuredGrid;
34 class vtkGeometryFilter;
44 class vtkOrderedTriangulator;
47 //----------------------------------------------------------------------------
48 class VTKVIEWER_EXPORT VTKViewer_Triangulator
51 VTKViewer_Triangulator();
53 ~VTKViewer_Triangulator();
56 Execute(vtkUnstructuredGrid *theInput,
57 vtkCellData* thInputCD,
61 int theAppendCoincident3D,
62 const char* theCellsVisibility,
63 vtkPolyData *theOutput,
64 vtkCellData* theOutputCD,
66 std::vector<vtkIdType>& theVTK2ObjIds,
67 std::map< vtkIdType, std::vector<vtkIdType> >& theDimension2VTK2ObjIds,
68 bool theIsCheckConvex);
74 vtkIdType *myPointIds;
80 InitPoints(vtkUnstructuredGrid *theInput,
89 GetFace(vtkIdType theFaceId) = 0;
95 GetPointId(vtkIdType thePointId);
101 GetCellNeighbors(vtkUnstructuredGrid *theInput,
104 vtkIdList* theCellIds);
107 GetConnectivity(vtkIdType thePntId);
111 //----------------------------------------------------------------------------
112 class VTKVIEWER_EXPORT VTKViewer_OrderedTriangulator : public VTKViewer_Triangulator
116 VTKViewer_OrderedTriangulator();
118 ~VTKViewer_OrderedTriangulator();
121 vtkOrderedTriangulator *myTriangulator;
122 vtkCellArray *myBoundaryTris;
123 vtkTriangle *myTriangle;
127 InitPoints(vtkUnstructuredGrid *theInput,
128 vtkIdType theCellId);
136 GetFace(vtkIdType theFaceId);
140 //----------------------------------------------------------------------------
141 class VTKVIEWER_EXPORT VTKViewer_DelaunayTriangulator : public VTKViewer_Triangulator
145 VTKViewer_DelaunayTriangulator();
147 ~VTKViewer_DelaunayTriangulator();
150 vtkUnstructuredGrid* myUnstructuredGrid;
151 vtkGeometryFilter* myGeometryFilter;
152 vtkDelaunay3D* myDelaunay3D;
153 vtkPolyData* myPolyData;
157 InitPoints(vtkUnstructuredGrid *theInput,
158 vtkIdType theCellId);
166 GetFace(vtkIdType theFaceId);
170 #endif // _VTKViewer_ConvexTool_H