7 #include "imstkCompositeImplicitGeometry.h" 15 double distA = std::numeric_limits<double>::max();
16 for (
auto i = geometries.begin(); i != geometries.end(); i++)
18 const GeometryBoolPair& pair = *i;
19 double distB = pair.first->getFunctionValue(pos);
22 case GeometryBoolType::Difference:
23 distA = std::max(distA, -distB);
25 case GeometryBoolType::Intersection:
26 distA = std::max(distA, distB);
28 case GeometryBoolType::Union:
29 distA = std::min(distA, distB);
double getFunctionValue(const Vec3d &pos) const override
Returns signed distance to surface at pos.