HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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>
+ Include dependency graph for LevelSetPlatonic.h:

Go to the source code of this file.

Namespaces

 openvdb
 
 openvdb::OPENVDB_VERSION_NAME
 
 openvdb::OPENVDB_VERSION_NAME::tools
 

Functions

template<typename GridType , typename InterruptT >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::tools::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 openvdb::OPENVDB_VERSION_NAME::tools::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 openvdb::OPENVDB_VERSION_NAME::tools::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 openvdb::OPENVDB_VERSION_NAME::tools::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 openvdb::OPENVDB_VERSION_NAME::tools::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 openvdb::OPENVDB_VERSION_NAME::tools::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 openvdb::OPENVDB_VERSION_NAME::tools::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 openvdb::OPENVDB_VERSION_NAME::tools::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 openvdb::OPENVDB_VERSION_NAME::tools::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 openvdb::OPENVDB_VERSION_NAME::tools::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 openvdb::OPENVDB_VERSION_NAME::tools::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 openvdb::OPENVDB_VERSION_NAME::tools::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.

Definition in file LevelSetPlatonic.h.