OpenVDB  9.0.1
Classes | Macros | Functions
CSampleFromVoxels.h File Reference
#include "../CNanoVDB.h"
#include <math.h>

Go to the source code of this file.

Classes

struct  cnanovdb_stencil1F
 
struct  cnanovdb_stencil1F3
 

Macros

#define CREATE_STENCIL(VALUETYPE, SUFFIX)
 
#define CREATE_LERPSIMPLE(VALUETYPE, SUFFIX)
 
#define CREATE_SAMPLE(VALUETYPE, SUFFIX)
 

Functions

void cnanovdb_coord_round (cnanovdb_coord *__restrict coord, const cnanovdb_Vec3F *__restrict xyz)
 
void cnanovdb_coord_fract (cnanovdb_coord *__restrict coord, cnanovdb_Vec3F *__restrict fraction, const cnanovdb_Vec3F *__restrict xyz)
 
void cnanovdb_stencil1F_clear (cnanovdb_stencil1F *__restrict stencil)
 
void cnanovdb_stencil1F_fill (cnanovdb_stencil1F *__restrict stencil, cnanovdb_readaccessor *__restrict acc, cnanovdb_coord *__restrict coord)
 
void cnanovdb_stencil1F_update (cnanovdb_stencil1F *__restrict stencil, cnanovdb_readaccessor *__restrict acc, cnanovdb_coord *__restrict coord)
 
void cnanovdb_stencil1F3_clear (cnanovdb_stencil1F3 *__restrict stencil)
 
void cnanovdb_stencil1F3_fill (cnanovdb_stencil1F3 *__restrict stencil, cnanovdb_readaccessor *__restrict acc, cnanovdb_coord *__restrict coord)
 
void cnanovdb_stencil1F3_update (cnanovdb_stencil1F3 *__restrict stencil, cnanovdb_readaccessor *__restrict acc, cnanovdb_coord *__restrict coord)
 
float cnanovdb_lerpF (float a, float b, float w)
 
double cnanovdb_lerpD (double a, double b, float w)
 
cnanovdb_Vec3F cnanovdb_lerpF3 (cnanovdb_Vec3F a, cnanovdb_Vec3F b, float w)
 
float cnanovdb_sampleF_nearest (cnanovdb_readaccessor *__restrict acc, const cnanovdb_Vec3F *__restrict xyz)
 
float cnanovdb_sampleF_trilinear (cnanovdb_readaccessor *__restrict acc, const cnanovdb_Vec3F *__restrict xyz)
 
float cnanovdb_sampleF_trilinear_stencil (cnanovdb_stencil1F *__restrict stencil, cnanovdb_readaccessor *__restrict acc, const cnanovdb_Vec3F *__restrict xyz)
 
cnanovdb_Vec3F cnanovdb_sampleF3_nearest (cnanovdb_readaccessor *__restrict acc, const cnanovdb_Vec3F *__restrict xyz)
 
cnanovdb_Vec3F cnanovdb_sampleF3_trilinear (cnanovdb_readaccessor *__restrict acc, const cnanovdb_Vec3F *__restrict xyz)
 
cnanovdb_Vec3F cnanovdb_sampleF3_trilinear_stencil (cnanovdb_stencil1F3 *__restrict stencil, cnanovdb_readaccessor *__restrict acc, const cnanovdb_Vec3F *__restrict xyz)
 
void cnanovdb_sampleF_gradient (cnanovdb_Vec3F *__restrict ret, cnanovdb_readaccessor *__restrict acc, const cnanovdb_Vec3F *__restrict xyz)
 
void cnanovdb_sampleF_gradient0 (cnanovdb_Vec3F *__restrict ret, cnanovdb_readaccessor *__restrict acc, const cnanovdb_Vec3F *__restrict xyz)
 
void cnanovdb_sampleF_gradient0_stencil (cnanovdb_Vec3F *__restrict ret, cnanovdb_stencil1F *__restrict stencil, cnanovdb_readaccessor *__restrict acc, const cnanovdb_Vec3F *__restrict xyz)
 

Macro Definition Documentation

#define CREATE_LERPSIMPLE (   VALUETYPE,
  SUFFIX 
)
Value:
VALUETYPE \
cnanovdb_lerp##SUFFIX(VALUETYPE a, VALUETYPE b, float w) \
{ \
return a + w * (b - a); \
} \
#define CREATE_SAMPLE (   VALUETYPE,
  SUFFIX 
)
#define CREATE_STENCIL (   VALUETYPE,
  SUFFIX 
)

Function Documentation

void cnanovdb_coord_fract ( cnanovdb_coord *__restrict  coord,
cnanovdb_Vec3F *__restrict  fraction,
const cnanovdb_Vec3F *__restrict  xyz 
)
void cnanovdb_coord_round ( cnanovdb_coord *__restrict  coord,
const cnanovdb_Vec3F *__restrict  xyz 
)
double cnanovdb_lerpD ( double  a,
double  b,
float  w 
)
float cnanovdb_lerpF ( float  a,
float  b,
float  w 
)
cnanovdb_Vec3F cnanovdb_lerpF3 ( cnanovdb_Vec3F  a,
cnanovdb_Vec3F  b,
float  w 
)
cnanovdb_Vec3F cnanovdb_sampleF3_nearest ( cnanovdb_readaccessor *__restrict  acc,
const cnanovdb_Vec3F *__restrict  xyz 
)
cnanovdb_Vec3F cnanovdb_sampleF3_trilinear ( cnanovdb_readaccessor *__restrict  acc,
const cnanovdb_Vec3F *__restrict  xyz 
)
cnanovdb_Vec3F cnanovdb_sampleF3_trilinear_stencil ( cnanovdb_stencil1F3 *__restrict  stencil,
cnanovdb_readaccessor *__restrict  acc,
const cnanovdb_Vec3F *__restrict  xyz 
)
void cnanovdb_sampleF_gradient ( cnanovdb_Vec3F *__restrict  ret,
cnanovdb_readaccessor *__restrict  acc,
const cnanovdb_Vec3F *__restrict  xyz 
)
void cnanovdb_sampleF_gradient0 ( cnanovdb_Vec3F *__restrict  ret,
cnanovdb_readaccessor *__restrict  acc,
const cnanovdb_Vec3F *__restrict  xyz 
)
void cnanovdb_sampleF_gradient0_stencil ( cnanovdb_Vec3F *__restrict  ret,
cnanovdb_stencil1F *__restrict  stencil,
cnanovdb_readaccessor *__restrict  acc,
const cnanovdb_Vec3F *__restrict  xyz 
)
float cnanovdb_sampleF_nearest ( cnanovdb_readaccessor *__restrict  acc,
const cnanovdb_Vec3F *__restrict  xyz 
)
float cnanovdb_sampleF_trilinear ( cnanovdb_readaccessor *__restrict  acc,
const cnanovdb_Vec3F *__restrict  xyz 
)
float cnanovdb_sampleF_trilinear_stencil ( cnanovdb_stencil1F *__restrict  stencil,
cnanovdb_readaccessor *__restrict  acc,
const cnanovdb_Vec3F *__restrict  xyz 
)
void cnanovdb_stencil1F3_clear ( cnanovdb_stencil1F3 *__restrict  stencil)
void cnanovdb_stencil1F3_fill ( cnanovdb_stencil1F3 *__restrict  stencil,
cnanovdb_readaccessor *__restrict  acc,
cnanovdb_coord *__restrict  coord 
)
void cnanovdb_stencil1F3_update ( cnanovdb_stencil1F3 *__restrict  stencil,
cnanovdb_readaccessor *__restrict  acc,
cnanovdb_coord *__restrict  coord 
)
void cnanovdb_stencil1F_clear ( cnanovdb_stencil1F *__restrict  stencil)
void cnanovdb_stencil1F_fill ( cnanovdb_stencil1F *__restrict  stencil,
cnanovdb_readaccessor *__restrict  acc,
cnanovdb_coord *__restrict  coord 
)
void cnanovdb_stencil1F_update ( cnanovdb_stencil1F *__restrict  stencil,
cnanovdb_readaccessor *__restrict  acc,
cnanovdb_coord *__restrict  coord 
)