Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
NodeCodecQuadTreeHalfFloat< Alignment >::DecodingContext Class Reference

This class decodes and decompresses quad tree nodes. More...

#include <NodeCodecQuadTreeHalfFloat.h>

Public Member Functions

JPH_INLINE DecodingContext (const Header *inHeader)
 Constructor.
 
template<class TriangleContext , class Visitor >
JPH_INLINE void WalkTree (const uint8 *inBufferStart, const TriangleContext &inTriangleContext, Visitor &ioVisitor)
 Walk the node tree calling the Visitor::VisitNodes for each node encountered and Visitor::VisitTriangles for each triangle encountered.
 
bool IsDoneWalking () const
 This can be used to have the visitor early out (ioVisitor.ShouldAbort() returns true) and later continue again (call WalkTree() again)
 

Static Public Member Functions

static uint sTriangleBlockIDBits (const ByteBuffer &inTree)
 Get the amount of bits needed to store an ID to a triangle block.
 
static const void * sGetTriangleBlockStart (const uint8 *inBufferStart, uint inTriangleBlockID)
 Convert a triangle block ID to the start of the triangle buffer.
 

Detailed Description

template<int Alignment>
class NodeCodecQuadTreeHalfFloat< Alignment >::DecodingContext

This class decodes and decompresses quad tree nodes.

Constructor & Destructor Documentation

◆ DecodingContext()

template<int Alignment>
JPH_INLINE NodeCodecQuadTreeHalfFloat< Alignment >::DecodingContext::DecodingContext ( const Header inHeader)
inlineexplicit

Constructor.

Member Function Documentation

◆ IsDoneWalking()

template<int Alignment>
bool NodeCodecQuadTreeHalfFloat< Alignment >::DecodingContext::IsDoneWalking ( ) const
inline

This can be used to have the visitor early out (ioVisitor.ShouldAbort() returns true) and later continue again (call WalkTree() again)

◆ sGetTriangleBlockStart()

template<int Alignment>
static const void * NodeCodecQuadTreeHalfFloat< Alignment >::DecodingContext::sGetTriangleBlockStart ( const uint8 inBufferStart,
uint  inTriangleBlockID 
)
inlinestatic

Convert a triangle block ID to the start of the triangle buffer.

◆ sTriangleBlockIDBits()

template<int Alignment>
static uint NodeCodecQuadTreeHalfFloat< Alignment >::DecodingContext::sTriangleBlockIDBits ( const ByteBuffer inTree)
inlinestatic

Get the amount of bits needed to store an ID to a triangle block.

◆ WalkTree()

template<int Alignment>
template<class TriangleContext , class Visitor >
JPH_INLINE void NodeCodecQuadTreeHalfFloat< Alignment >::DecodingContext::WalkTree ( const uint8 inBufferStart,
const TriangleContext &  inTriangleContext,
Visitor &  ioVisitor 
)
inline

Walk the node tree calling the Visitor::VisitNodes for each node encountered and Visitor::VisitTriangles for each triangle encountered.


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