11 #ifndef smtk_geometry_DistanceTo_h
12 #define smtk_geometry_DistanceTo_h
14 #include "smtk/CoreExports.h"
16 #include "smtk/resource/Component.h"
17 #include "smtk/resource/query/DerivedFrom.h"
18 #include "smtk/resource/query/Query.h"
37 virtual std::pair<double, std::array<double, 3>> operator()(
38 const smtk::resource::Component::Ptr&,
39 const std::array<double, 3>&)
const = 0;
42 inline std::pair<double, std::array<double, 3>> DistanceTo::operator()(
43 const smtk::resource::Component::Ptr&,
44 const std::array<double, 3>&)
const
46 static constexpr
const double nan = std::numeric_limits<double>::quiet_NaN();
47 return std::make_pair(nan, std::array<double, 3>({ nan, nan, nan }));