OpenVDB: LevelSetPlatonic.h File Reference

OpenVDB 4.0.2

Namespaces | Functions
LevelSetPlatonic.h File Reference

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

`#include <vector>`
`#include <openvdb/Grid.h>`
`#include <openvdb/Types.h>`
`#include <openvdb/math/Math.h>`
`#include <openvdb/math/Transform.h>`
`#include <openvdb/tools/MeshToVolume.h>`
`#include <openvdb/util/NullInterrupter.h>`
`#include <boost/utility.hpp>`
`#include <boost/type_traits/is_floating_point.hpp>`

Go to the source code of this file.

## Namespaces
| openvdb
| openvdb::v4_0_2
| openvdb::v4_0_2::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. More...
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. More...
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. More...
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. More...
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. More...
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. More...
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. More...
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. More...
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. More...
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. More...
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. More...
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. More...

## 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.