14#ifndef OPENVDB_TOOLS_LEVELSETTUBES_HAS_BEEN_INCLUDED
15#define OPENVDB_TOOLS_LEVELSETTUBES_HAS_BEEN_INCLUDED
44template <
typename Gr
idType,
typename ScalarType,
typename InterruptT>
47 ScalarType radius,
float voxelSize,
float halfWidth =
float(LEVEL_SET_HALF_WIDTH),
48 InterruptT* interrupter =
nullptr,
bool threaded =
true);
63template <
typename Gr
idType,
typename ScalarType>
66 ScalarType radius,
float voxelSize,
float halfWidth =
float(LEVEL_SET_HALF_WIDTH),
67 bool threaded =
true);
86template <
typename Gr
idType,
typename ScalarType,
typename InterruptT>
89 ScalarType radius1, ScalarType radius2,
90 float voxelSize,
float halfWidth =
float(LEVEL_SET_HALF_WIDTH),
91 InterruptT* interrupter =
nullptr,
bool threaded =
true);
108template <
typename Gr
idType,
typename ScalarType>
109typename GridType::Ptr
111 ScalarType radius1, ScalarType radius2,
float voxelSize,
112 float halfWidth =
float(LEVEL_SET_HALF_WIDTH),
bool threaded =
true);
145template <
typename Gr
idType,
typename ScalarType,
typename InterruptT = util::NullInterrupter>
146typename GridType::Ptr
148 const std::vector<Vec2I>& segments, ScalarType radius,
float voxelSize,
167template <
typename Gr
idType,
typename ScalarType,
typename InterruptT = util::NullInterrupter>
168typename GridType::Ptr
170 const std::vector<Vec2I>& segments,
const std::vector<ScalarType>& radii,
float voxelSize,
172 InterruptT* interrupter =
nullptr);
180#ifdef OPENVDB_USE_EXPLICIT_INSTANTIATION
182#ifdef OPENVDB_INSTANTIATE_LEVELSETTUBES
186#define _FUNCTION(TreeT) \
187 Grid<TreeT>::Ptr createLevelSetTubeComplex<Grid<TreeT>>(const std::vector<Vec3s>&, \
188 const std::vector<Vec2I>&, float, float, float, util::NullInterrupter*)
192#define _FUNCTION(TreeT) \
193 Grid<TreeT>::Ptr createLevelSetTubeComplex<Grid<TreeT>>(const std::vector<Vec3s>&, \
194 const std::vector<Vec2I>&, const std::vector<float>&, float, float, TubeRadiiPolicy, \
195 util::NullInterrupter*)
199#define _FUNCTION(TreeT) \
200 Grid<TreeT>::Ptr createLevelSetCapsule<Grid<TreeT>>(const Vec3s&, const Vec3s&, \
201 float, float, float, util::NullInterrupter*, bool)
205#define _FUNCTION(TreeT) \
206 Grid<TreeT>::Ptr createLevelSetTaperedCapsule<Grid<TreeT>>(const Vec3s&, const Vec3s&, \
207 float, float, float, float, util::NullInterrupter*, bool)
Generate a narrow-band level set of a capsule, tapered capsule, and tube complex.
General-purpose arithmetic and comparison routines, most of which accept arbitrary value types (or at...
static const Real LEVEL_SET_HALF_WIDTH
Definition Types.h:532
Definition Exceptions.h:13
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition version.h.in:121
#define OPENVDB_USE_VERSION_NAMESPACE
Definition version.h.in:218
#define OPENVDB_REAL_TREE_INSTANTIATE(Function)
Definition version.h.in:162