Blender V4.5
mikk Namespace Reference

Classes

class  AtomicHashSet
struct  AtomicHashSetLinearProbeFcn
struct  AtomicHashSetQuadraticProbeFcn
struct  float3
class  Mikktspace

Functions

float dot (const float3 &a, const float3 &b)
float distance (const float3 &a, const float3 &b)
float3 project (const float3 &n, const float3 &v)
bool not_zero (const float fX)
static uint pack_index (const uint face, const uint vert)
static void unpack_index (uint &face, uint &vert, const uint indexIn)
float fast_acosf (float x)
static uint rotl (uint x, uint k)
static uint hash_uint3 (uint kx, uint ky, uint kz)
static uint hash_uint3_fast (const uint x, const uint y, const uint z)
static uint float_as_uint (const float v)
static float uint_as_float (const uint v)
static uint hash_float3_fast (const float x, const float y, const float z)
static uint hash_float3x3 (const float3 &x, const float3 &y, const float3 &z)
template<typename T, typename KeyGetter>
void radixsort (std::vector< T > &data, std::vector< T > &data2, KeyGetter getKey)
static void float_add_atomic (float *val, float add)

Variables

static constexpr uint UNSET_ENTRY = 0xffffffffu

Function Documentation

◆ distance()

float mikk::distance ( const float3 & a,
const float3 & b )
inline

Definition at line 109 of file mikk_float3.hh.

References b, and distance().

Referenced by distance().

◆ dot()

float mikk::dot ( const float3 & a,
const float3 & b )
inline

◆ fast_acosf()

float mikk::fast_acosf ( float x)
inline

Definition at line 41 of file mikk_util.hh.

References fabsf, fast_acosf(), M_PI_F, sqrtf, and x.

Referenced by mikk::Mikktspace< Mesh >::accumulateTSpaces(), and fast_acosf().

◆ float_add_atomic()

void mikk::float_add_atomic ( float * val,
float add )
static

Definition at line 145 of file mikk_util.hh.

References float_add_atomic(), float_as_uint(), and uint_as_float().

Referenced by float_add_atomic().

◆ float_as_uint()

uint mikk::float_as_uint ( const float v)
static

Definition at line 85 of file mikk_util.hh.

References float_as_uint(), and v.

Referenced by float_add_atomic(), float_as_uint(), and hash_float3_fast().

◆ hash_float3_fast()

uint mikk::hash_float3_fast ( const float x,
const float y,
const float z )
static

Definition at line 95 of file mikk_util.hh.

References float_as_uint(), hash_float3_fast(), hash_uint3_fast(), x, y, and z().

Referenced by hash_float3_fast(), and hash_float3x3().

◆ hash_float3x3()

uint mikk::hash_float3x3 ( const float3 & x,
const float3 & y,
const float3 & z )
static

Definition at line 100 of file mikk_util.hh.

References hash_float3_fast(), hash_float3x3(), hash_uint3(), x, y, and z().

Referenced by hash_float3x3().

◆ hash_uint3()

uint mikk::hash_uint3 ( uint kx,
uint ky,
uint kz )
static

Definition at line 63 of file mikk_util.hh.

References b, hash_uint3(), and rotl().

Referenced by hash_float3x3(), and hash_uint3().

◆ hash_uint3_fast()

uint mikk::hash_uint3_fast ( const uint x,
const uint y,
const uint z )
static

Definition at line 80 of file mikk_util.hh.

References hash_uint3_fast(), x, y, and z().

Referenced by hash_float3_fast(), and hash_uint3_fast().

◆ not_zero()

bool mikk::not_zero ( const float fX)
inline

Definition at line 22 of file mikk_util.hh.

References fabsf, and not_zero().

Referenced by mikk::Mikktspace< Mesh >::initTriangle(), and not_zero().

◆ pack_index()

uint mikk::pack_index ( const uint face,
const uint vert )
static

Definition at line 28 of file mikk_util.hh.

References assert, and pack_index().

Referenced by pack_index().

◆ project()

float3 mikk::project ( const float3 & n,
const float3 & v )
inline

Definition at line 115 of file mikk_float3.hh.

References dot(), project(), and v.

Referenced by mikk::Mikktspace< Mesh >::accumulateTSpaces(), and project().

◆ radixsort()

template<typename T, typename KeyGetter>
void mikk::radixsort ( std::vector< T > & data,
std::vector< T > & data2,
KeyGetter getKey )

Definition at line 108 of file mikk_util.hh.

References data, i, radixsort(), and T.

Referenced by mikk::Mikktspace< Mesh >::NeighborShard::buildNeighbors(), and radixsort().

◆ rotl()

uint mikk::rotl ( uint x,
uint k )
static

Definition at line 58 of file mikk_util.hh.

References rotl(), and x.

Referenced by hash_uint3(), and rotl().

◆ uint_as_float()

float mikk::uint_as_float ( const uint v)
static

Definition at line 90 of file mikk_util.hh.

References uint_as_float(), and v.

Referenced by float_add_atomic(), and uint_as_float().

◆ unpack_index()

void mikk::unpack_index ( uint & face,
uint & vert,
const uint indexIn )
static

Definition at line 34 of file mikk_util.hh.

References unpack_index().

Referenced by unpack_index().

Variable Documentation

◆ UNSET_ENTRY