AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
BoundingIntervalHierarchy.h File Reference
#include "G3D/AABox.h"
#include "G3D/Ray.h"
#include "G3D/Vector3.h"
#include "Define.h"
#include <algorithm>
#include <cmath>
#include <cstring>
#include <limits>
#include <stdexcept>
#include <vector>

Go to the source code of this file.

Classes

struct  AABound
 
class  BIH
 
struct  BIH::buildData
 
struct  BIH::StackNode
 
class  BIH::BuildStats
 

Macros

#define MAX_STACK_SIZE   64
 

Functions

static uint32 floatToRawIntBits (float f)
 
static float intBitsToFloat (uint32 i)
 

Macro Definition Documentation

◆ MAX_STACK_SIZE

#define MAX_STACK_SIZE   64

Function Documentation

◆ floatToRawIntBits()

static uint32 floatToRawIntBits ( float  f)
inlinestatic
39{
40 static_assert(sizeof(float) == sizeof(uint32), "Size of uint32 and float must be equal for this to work");
41 uint32 ret;
42 memcpy(&ret, &f, sizeof(float));
43 return ret;
44}
std::uint32_t uint32
Definition: Define.h:108

Referenced by BIH::intersectRay(), and BIH::subdivide().

◆ intBitsToFloat()

static float intBitsToFloat ( uint32  i)
inlinestatic
47{
48 static_assert(sizeof(float) == sizeof(uint32), "Size of uint32 and float must be equal for this to work");
49 float ret;
50 memcpy(&ret, &i, sizeof(uint32));
51 return ret;
52}

Referenced by BIH::intersectPoint(), and BIH::intersectRay().