OpenVDB 12.0.0
 
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_0
 
namespace  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.
 
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.