OpenVDB: openvdb/tools/LevelSetPlatonic.h File Reference

OpenVDB 12.1.1

Loading...
Searching...
No Matches
LevelSetPlatonic.h File Reference

Generate a narrow-band level sets of the five platonic solids. More...

`#include <openvdb/Grid.h>`
`#include <openvdb/Types.h>`
`#include <openvdb/math/Math.h>`
`#include <openvdb/math/Transform.h>`
`#include <openvdb/util/NullInterrupter.h>`
`#include <openvdb/openvdb.h>`
`#include "MeshToVolume.h"`
`#include <type_traits>`
`#include <vector>`

Go to the source code of this file.

## Namespaces
namespace | openvdb
namespace | openvdb::v12_1
namespace | openvdb::v12_1::tools

## Functions
template<typename GridType, typename InterruptT>
GridType::Ptr | createLevelSetPlatonic (int faceCount, float scale=1.0f, const Vec3f &center=Vec3f(0.0f), float voxelSize=0.1f, float halfWidth=float(LEVEL_SET_HALF_WIDTH), InterruptT *interrupt=nullptr)
| Return a grid of type `GridType` containing a narrow-band level set representation of a platonic solid.
template<typename GridType>
GridType::Ptr | createLevelSetPlatonic (int faceCount, float scale=1.0f, const Vec3f &center=Vec3f(0.0f), float voxelSize=0.1f, float halfWidth=float(LEVEL_SET_HALF_WIDTH))
| Return a grid of type `GridType` containing a narrow-band level set representation of a platonic solid.
template<typename GridType, typename InterruptT>
GridType::Ptr | createLevelSetTetrahedron (float scale=1.0f, const Vec3f &center=Vec3f(0.0f), float voxelSize=0.1f, float halfWidth=float(LEVEL_SET_HALF_WIDTH), InterruptT *interrupt=nullptr)
| Return a grid of type `GridType` containing a narrow-band level set representation of a tetrahedron.
template<typename GridType>
GridType::Ptr | createLevelSetTetrahedron (float scale=1.0f, const Vec3f &center=Vec3f(0.0f), float voxelSize=0.1f, float halfWidth=float(LEVEL_SET_HALF_WIDTH))
| Return a grid of type `GridType` containing a narrow-band level set representation of a tetrahedron.
template<typename GridType, typename InterruptT>
GridType::Ptr | createLevelSetCube (float scale=1.0f, const Vec3f &center=Vec3f(0.0f), float voxelSize=0.1f, float halfWidth=float(LEVEL_SET_HALF_WIDTH), InterruptT *interrupt=nullptr)
| Return a grid of type `GridType` containing a narrow-band level set representation of a cube.
template<typename GridType>
GridType::Ptr | createLevelSetCube (float scale=1.0f, const Vec3f &center=Vec3f(0.0f), float voxelSize=0.1f, float halfWidth=float(LEVEL_SET_HALF_WIDTH))
| Return a grid of type `GridType` containing a narrow-band level set representation of a cube.
template<typename GridType, typename InterruptT>
GridType::Ptr | createLevelSetOctahedron (float scale=1.0f, const Vec3f &center=Vec3f(0.0f), float voxelSize=0.1f, float halfWidth=float(LEVEL_SET_HALF_WIDTH), InterruptT *interrupt=nullptr)
| Return a grid of type `GridType` containing a narrow-band level set representation of an octahedron.
template<typename GridType>
GridType::Ptr | createLevelSetOctahedron (float scale=1.0f, const Vec3f &center=Vec3f(0.0f), float voxelSize=0.1f, float halfWidth=float(LEVEL_SET_HALF_WIDTH))
| Return a grid of type `GridType` containing a narrow-band level set representation of an octahedron.
template<typename GridType, typename InterruptT>
GridType::Ptr | createLevelSetDodecahedron (float scale=1.0f, const Vec3f &center=Vec3f(0.0f), float voxelSize=0.1f, float halfWidth=float(LEVEL_SET_HALF_WIDTH), InterruptT *interrupt=nullptr)
| Return a grid of type `GridType` containing a narrow-band level set representation of a dodecahedron.
template<typename GridType>
GridType::Ptr | createLevelSetDodecahedron (float scale=1.0f, const Vec3f &center=Vec3f(0.0f), float voxelSize=0.1f, float halfWidth=float(LEVEL_SET_HALF_WIDTH))
| Return a grid of type `GridType` containing a narrow-band level set representation of a dodecahedron.
template<typename GridType, typename InterruptT>
GridType::Ptr | createLevelSetIcosahedron (float scale=1.0f, const Vec3f &center=Vec3f(0.0f), float voxelSize=0.1f, float halfWidth=float(LEVEL_SET_HALF_WIDTH), InterruptT *interrupt=nullptr)
| Return a grid of type `GridType` containing a narrow-band level set representation of an icosahedron.
template<typename GridType>
GridType::Ptr | createLevelSetIcosahedron (float scale=1.0f, const Vec3f &center=Vec3f(0.0f), float voxelSize=0.1f, float halfWidth=float(LEVEL_SET_HALF_WIDTH))
| Return a grid of type `GridType` containing a narrow-band level set representation of an icosahedron.

## Detailed Description

Generate a narrow-band level sets of the five platonic solids.

Author
  Ken Museth

Note
  By definition a level set has a fixed narrow band width (the half width is defined by LEVEL_SET_HALF_WIDTH in Types.h), whereas an SDF can have a variable narrow band width.