Version: 9.16.0
VTKViewer_ConvexTool.h
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5//
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.
10//
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.
15//
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
19//
20// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21//
22
23#ifndef _VTKViewer_ConvexTool_H
24#define _VTKViewer_ConvexTool_H
25
26#include "VTKViewer.h"
27
28#include <map>
29#include <vector>
30
31#include <vtkSystemIncludes.h>
32
33class vtkUnstructuredGrid;
35class vtkGenericCell;
36class vtkDelaunay3D;
37class vtkPolyData;
38class vtkCellData;
39class vtkPoints;
40class vtkIdList;
41class vtkCell;
42class vtkCellArray;
43class vtkTriangle;
44class vtkOrderedTriangulator;
45
46
47//----------------------------------------------------------------------------
49{
50 public:
52
54
55 bool
56 Execute(vtkUnstructuredGrid *theInput,
57 vtkCellData* thInputCD,
58 vtkIdType theCellId,
59 int theShowInside,
60 int theAllVisible,
61 int theAppendCoincident3D,
62 const char* theCellsVisibility,
63 vtkPolyData *theOutput,
64 vtkCellData* theOutputCD,
65 int theStoreMapping,
66 std::vector<vtkIdType>& theVTK2ObjIds,
67 std::vector< std::vector<vtkIdType> >& theDimension2VTK2ObjIds,
68 bool theIsCheckConvex);
69
70 private:
71 vtkIdList* myCellIds;
72
73 protected:
74 vtkIdType *myPointIds;
75 vtkIdList* myFaceIds;
76 vtkPoints* myPoints;
77
78 virtual
79 vtkPoints*
80 InitPoints(vtkUnstructuredGrid *theInput,
81 vtkIdType theCellId);
82
83 virtual
84 vtkIdType
86
87 virtual
88 vtkCell*
89 GetFace(vtkIdType theFaceId) = 0;
90
91 vtkIdType
92 GetNbOfPoints();
93
94 vtkIdType
95 GetPointId(vtkIdType thePointId);
96
97 double
98 GetCellLength();
99
100 void
101 GetCellNeighbors(vtkUnstructuredGrid *theInput,
102 vtkIdType theCellId,
103 vtkCell* theFace,
104 vtkIdList* theCellIds);
105
106 vtkIdType
107 GetConnectivity(vtkIdType thePntId);
108};
109
110
111//----------------------------------------------------------------------------
113{
114 public:
115
117
119
120 protected:
121 vtkOrderedTriangulator *myTriangulator;
122 vtkCellArray *myBoundaryTris;
123 vtkTriangle *myTriangle;
124
125 virtual
126 vtkPoints*
127 InitPoints(vtkUnstructuredGrid *theInput,
128 vtkIdType theCellId);
129
130 virtual
131 vtkIdType
132 GetNumFaces();
133
134 virtual
135 vtkCell*
136 GetFace(vtkIdType theFaceId);
137};
138
139
140//----------------------------------------------------------------------------
142{
143 public:
144
146
148
149 protected:
150 vtkUnstructuredGrid* myUnstructuredGrid;
152 vtkDelaunay3D* myDelaunay3D;
153 vtkPolyData* myPolyData;
154
155 virtual
156 vtkPoints*
157 InitPoints(vtkUnstructuredGrid *theInput,
158 vtkIdType theCellId);
159
160 virtual
161 vtkIdType
162 GetNumFaces();
163
164 virtual
165 vtkCell*
166 GetFace(vtkIdType theFaceId);
167};
168
169
170#endif // _VTKViewer_ConvexTool_H
#define VTKVIEWER_EXPORT
Definition: VTKViewer.h:33
Definition: VTKViewer_ConvexTool.h:142
vtkUnstructuredGrid * myUnstructuredGrid
Definition: VTKViewer_ConvexTool.h:150
vtkDelaunay3D * myDelaunay3D
Definition: VTKViewer_ConvexTool.h:152
vtkPolyData * myPolyData
Definition: VTKViewer_ConvexTool.h:153
vtkGeometryFilter * myGeometryFilter
Definition: VTKViewer_ConvexTool.h:151
Definition: VTKViewer_ConvexTool.h:113
vtkOrderedTriangulator * myTriangulator
Definition: VTKViewer_ConvexTool.h:121
vtkCellArray * myBoundaryTris
Definition: VTKViewer_ConvexTool.h:122
vtkTriangle * myTriangle
Definition: VTKViewer_ConvexTool.h:123
Definition: VTKViewer_ConvexTool.h:49
vtkIdType * myPointIds
Definition: VTKViewer_ConvexTool.h:74
vtkIdList * myCellIds
Definition: VTKViewer_ConvexTool.h:71
virtual vtkIdType GetNumFaces()=0
vtkPoints * myPoints
Definition: VTKViewer_ConvexTool.h:76
virtual vtkCell * GetFace(vtkIdType theFaceId)=0
vtkIdList * myFaceIds
Definition: VTKViewer_ConvexTool.h:75