26 const std::vector<const Surface*>& surfaces)
27 : m_surfaces(surfaces) {
33 const std::vector<std::shared_ptr<const Surface>>& surfaces)
53 return 0.5 * (
min(bval, addenv) +
max(bval, addenv));
61 sl <<
"ProtoLayer with dimensions (min/max)" << std::endl;
67 const std::vector<const Surface*>& surfaces) {
68 for (
const auto& sf : surfaces) {
69 auto sfPolyhedron = sf->polyhedronRepresentation(gctx, 1);
71 if (element !=
nullptr) {
75 Vector3D sfNormal = sf->normal(gctx, sf->center(gctx));
76 std::vector<double> deltaT = {-0.5 *
thickness, 0.5 * thickness};
77 for (
const auto& dT : deltaT) {
79 dtransform.pretranslate(dT * sfNormal);