OpenVDB  12.0.0
Namespaces | Functions
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

 openvdb
 
 openvdb::v12_0
 
 openvdb::v12_0::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.