NEMoSys  0.63.0
A modular, extensible resource with robust automated mesh generation, mesh quality analysis, adaptive mesh refinement, and data transfer between arbitrary meshes.
selectEnclosedPoints.H
Go to the documentation of this file.
1 /*******************************************************************************
2 * Promesh *
3 * Copyright (C) 2022, IllinoisRocstar LLC. All rights reserved. *
4 * *
5 * Promesh is the property of IllinoisRocstar LLC. *
6 * *
7 * IllinoisRocstar LLC *
8 * Champaign, IL *
9 * www.illinoisrocstar.com *
10 * promesh@illinoisrocstar.com *
11 *******************************************************************************/
12 /*******************************************************************************
13 * This file is part of Promesh *
14 * *
15 * This version of Promesh is free software: you can redistribute it and/or *
16 * modify it under the terms of the GNU Lesser General Public License as *
17 * published by the Free Software Foundation, either version 3 of the License, *
18 * or (at your option) any later version. *
19 * *
20 * Promesh is distributed in the hope that it will be useful, but WITHOUT ANY *
21 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS *
22 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more *
23 * details. *
24 * *
25 * You should have received a copy of the GNU Lesser General Public License *
26 * along with this program. If not, see <https://www.gnu.org/licenses/>. *
27 * *
28 *******************************************************************************/
29 /*******************************************************************************
30 * Promesh *
31 * Copyright (C) 2022, IllinoisRocstar LLC. All rights reserved. *
32 * *
33 * Promesh is the property of IllinoisRocstar LLC. *
34 * *
35 * IllinoisRocstar LLC *
36 * Champaign, IL *
37 * www.illinoisrocstar.com *
38 * promesh@illinoisrocstar.com *
39 *******************************************************************************/
40 /*******************************************************************************
41 * This file is part of Promesh *
42 * *
43 * This version of Promesh is free software: you can redistribute it and/or *
44 * modify it under the terms of the GNU Lesser General Public License as *
45 * published by the Free Software Foundation, either version 3 of the License, *
46 * or (at your option) any later version. *
47 * *
48 * Promesh is distributed in the hope that it will be useful, but WITHOUT ANY *
49 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS *
50 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more *
51 * details. *
52 * *
53 * You should have received a copy of the GNU Lesser General Public License *
54 * along with this program. If not, see <https://www.gnu.org/licenses/>. *
55 * *
56 *******************************************************************************/
57 /*******************************************************************************
58 * Promesh *
59 * Copyright (C) 2021, IllinoisRocstar LLC. All rights reserved. *
60 * *
61 * Promesh is the property of IllinoisRocstar LLC. *
62 * *
63 * IllinoisRocstar LLC *
64 * Champaign, IL *
65 * www.illinoisrocstar.com *
66 * promesh@illinoisrocstar.com *
67 *******************************************************************************/
68 /*******************************************************************************
69 * This file is part of Promesh *
70 * *
71 * This version of Promesh is free software: you can redistribute it and/or *
72 * modify it under the terms of the GNU Lesser General Public License as *
73 * published by the Free Software Foundation, either version 3 of the License, *
74 * or (at your option) any later version. *
75 * *
76 * Promesh is distributed in the hope that it will be useful, but WITHOUT ANY *
77 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS *
78 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more *
79 * details. *
80 * *
81 * You should have received a copy of the GNU Lesser General Public License *
82 * along with this program. If not, see <https://www.gnu.org/licenses/>. *
83 * *
84 *******************************************************************************/
85 #ifndef NEMOSYS_SELECTENCLOSEDPOINTS_H_
86 #define NEMOSYS_SELECTENCLOSEDPOINTS_H_
87 
88 #include "nemosys_export.h"
89 
90 #include <vtkDataArray.h>
91 #include <vtkDataSet.h>
92 
93 #include "meshBase.H"
94 
95 class NEMOSYS_EXPORT selectEnclosedPoints {
96  public:
97  explicit selectEnclosedPoints(const meshBase *meshBase_)
98  : _meshBase(meshBase_) {}
99 
100  public:
101  /**
102  * @brief Select enclosed points.
103  * @param mesh Input mesh. Geometry is extracted from here.
104  * @param points Set of points to check for enclosure.
105  * @return Mask of (0,1). Point is outside (0) or inside (1).
106  */
107  static vtkDataArray *fromDataSet(vtkDataSet *mesh, vtkDataSet *points);
108 
109  private:
111 
112 // vtkSmartPointer<vtkDataSet> _input;
113 // vtkSmartPointer<vtkPolyData> _surface;
114 // vtkSmartPointer<vtkDataSet> _output;
115 };
116 
117 #endif // NEMOSYS_SELECTENCLOSEDPOINTS_H_
A brief description of meshBase.
Definition: meshBase.H:64
std::shared_ptr< meshBase > mesh
std::vector< vtkIdType > points
points given by id in .inp file
Definition: inpGeoMesh.C:133
selectEnclosedPoints(const meshBase *meshBase_)
const meshBase * _meshBase