44 points.push_back(tri.
x());
45 newTri.
x() =
static_cast<int32>(points.
size()) - 1;
56 points.push_back(tri.
y());
57 newTri.
y() =
static_cast<int32>(points.
size()) - 1;
68 points.push_back(tri.
z());
69 newTri.
z() =
static_cast<int32>(points.
size()) - 1;
73 vertices.push_back( newTri );
78 return static_cast<int32>(vertices.
size()) -1;
90 Kokkos::parallel_reduce(
91 "triSurface::calcMaxIndex",
94 valueToUpdate =
max(valueToUpdate,
max(verDeviceVec[i]));
96 Kokkos::Max<int32>( maxIdx )
106 auto maxIdx = calcMaxIndex();
108 if( maxIdx >=
static_cast<int32>(points_.size()))
return false;
117 vertices_(
"vertices"),
128 points_(
"points",
"points", points),
129 vertices_(
"vertices",
"vertices", vertices),
130 area_(
"area",
"area"),
136 "the indices and number of points do not match. \n";
140 area_.reallocate(vertices_.capacity(), vertices_.size());
153 vertices_(
"vertices"),
163 for(
const auto& tr: triangles)
165 if(
auto i= addTriangle(tr, points, vertices); i < 0 )
168 "failed to insert a triangle into triSurface. \n";
173 points_.assign(points);
175 vertices_.assign(vertices);
177 area_.reallocate(vertices_.capacity(), vertices_.size());
184 "the indices and number of points do not match. \n";
207 "the indices and number of points do not match. \n";
211 area_.reallocate(vertices_.capacity(), vertices_.size());