Blender V5.0
mikk::Mikktspace< Mesh > Class Template Reference

#include <mikktspace.hh>

Classes

struct  VertexHash
struct  VertexEqual
struct  NeighborShard

Public Member Functions

 Mikktspace (Mesh &mesh_)
void genTangSpace ()

Protected Member Functions

template<typename F>
void runParallel (uint start, uint end, F func)
float3 getPosition (uint vertexID)
float3 getNormal (uint vertexID)
float3 getTexCoord (uint vertexID)
bool has_uv () const
void generateInitialVerticesIndexList ()
template<bool isAtomic>
void generateSharedVerticesIndexList_impl ()
void generateSharedVerticesIndexList ()
void degenPrologue ()
void degenEpilogue ()
float calcTexArea (uint tri)
void initTriangle ()
void buildNeighbors ()
void assignRecur (const uint t, uint groupId)
void build4RuleGroups ()
template<bool atomic>
void accumulateTSpaces (uint t)
void generateTSpaces ()

Detailed Description

template<typename Mesh>
class mikk::Mikktspace< Mesh >

Definition at line 26 of file mikktspace.hh.

Constructor & Destructor Documentation

◆ Mikktspace()

template<typename Mesh>
mikk::Mikktspace< Mesh >::Mikktspace ( Mesh & mesh_)
inline

Member Function Documentation

◆ accumulateTSpaces()

template<typename Mesh>
template<bool atomic>
void mikk::Mikktspace< Mesh >::accumulateTSpaces ( uint t)
inlineprotected

◆ assignRecur()

template<typename Mesh>
void mikk::Mikktspace< Mesh >::assignRecur ( const uint t,
uint groupId )
inlineprotected

Definition at line 694 of file mikktspace.hh.

References assert, assignRecur(), i, and mikk::UNSET_ENTRY.

Referenced by assignRecur(), and build4RuleGroups().

◆ build4RuleGroups()

template<typename Mesh>
void mikk::Mikktspace< Mesh >::build4RuleGroups ( )
inlineprotected

Definition at line 745 of file mikktspace.hh.

References assignRecur(), i, and mikk::UNSET_ENTRY.

Referenced by genTangSpace().

◆ buildNeighbors()

template<typename Mesh>
void mikk::Mikktspace< Mesh >::buildNeighbors ( )
inlineprotected

Definition at line 654 of file mikktspace.hh.

References hash, mikk::hash_uint3(), i, mikk::pack_index(), and runParallel().

Referenced by genTangSpace().

◆ calcTexArea()

template<typename Mesh>
float mikk::Mikktspace< Mesh >::calcTexArea ( uint tri)
inlineprotected

Definition at line 498 of file mikktspace.hh.

References fabsf, getTexCoord(), mikk::float3::x, and mikk::float3::y.

Referenced by initTriangle().

◆ degenEpilogue()

template<typename Mesh>
void mikk::Mikktspace< Mesh >::degenEpilogue ( )
inlineprotected

Definition at line 416 of file mikktspace.hh.

References assert, i, mikk::pack_index(), and mikk::unpack_index().

Referenced by genTangSpace().

◆ degenPrologue()

template<typename Mesh>
void mikk::Mikktspace< Mesh >::degenPrologue ( )
inlineprotected

Definition at line 377 of file mikktspace.hh.

References getPosition(), and runParallel().

Referenced by genTangSpace().

◆ generateInitialVerticesIndexList()

template<typename Mesh>
void mikk::Mikktspace< Mesh >::generateInitialVerticesIndexList ( )
inlineprotected

Definition at line 264 of file mikktspace.hh.

References verts.

Referenced by genTangSpace().

◆ generateSharedVerticesIndexList()

template<typename Mesh>
void mikk::Mikktspace< Mesh >::generateSharedVerticesIndexList ( )
inlineprotected

Definition at line 364 of file mikktspace.hh.

References generateSharedVerticesIndexList_impl().

Referenced by genTangSpace().

◆ generateSharedVerticesIndexList_impl()

template<typename Mesh>
template<bool isAtomic>
void mikk::Mikktspace< Mesh >::generateSharedVerticesIndexList_impl ( )
inlineprotected

Definition at line 351 of file mikktspace.hh.

References i, numVertices(), and runParallel().

Referenced by generateSharedVerticesIndexList().

◆ generateTSpaces()

template<typename Mesh>
void mikk::Mikktspace< Mesh >::generateTSpaces ( )
inlineprotected

Definition at line 812 of file mikktspace.hh.

References accumulateTSpaces(), assert, i, runParallel(), and mikk::UNSET_ENTRY.

Referenced by genTangSpace().

◆ genTangSpace()

◆ getNormal()

template<typename Mesh>
float3 mikk::Mikktspace< Mesh >::getNormal ( uint vertexID)
inlineprotected

Definition at line 242 of file mikktspace.hh.

References mikk::unpack_index(), and v.

Referenced by accumulateTSpaces().

◆ getPosition()

template<typename Mesh>
float3 mikk::Mikktspace< Mesh >::getPosition ( uint vertexID)
inlineprotected

Definition at line 235 of file mikktspace.hh.

References mikk::unpack_index(), and v.

Referenced by accumulateTSpaces(), degenPrologue(), and initTriangle().

◆ getTexCoord()

template<typename Mesh>
float3 mikk::Mikktspace< Mesh >::getTexCoord ( uint vertexID)
inlineprotected

Definition at line 249 of file mikktspace.hh.

References mikk::unpack_index(), and v.

Referenced by calcTexArea(), and initTriangle().

◆ has_uv()

template<typename Mesh>
bool mikk::Mikktspace< Mesh >::has_uv ( ) const
inlineprotected

Definition at line 256 of file mikktspace.hh.

Referenced by initTriangle().

◆ initTriangle()

template<typename Mesh>
void mikk::Mikktspace< Mesh >::initTriangle ( )
inlineprotected

◆ runParallel()

template<typename Mesh>
template<typename F>
void mikk::Mikktspace< Mesh >::runParallel ( uint start,
uint end,
F func )
inlineprotected

The documentation for this class was generated from the following file: