1#ifndef BT_GIMPACT_QUANTIZATION_H_INCLUDED
2#define BT_GIMPACT_QUANTIZATION_H_INCLUDED
38 btVector3 clampValue(quantizationMargin, quantizationMargin, quantizationMargin);
39 outMinBound = srcMinBound - clampValue;
40 outMaxBound = srcMaxBound + clampValue;
41 btVector3 aabbSize = outMaxBound - outMinBound;
56 clampedPoint.
setMax(min_bound);
57 clampedPoint.
setMin(max_bound);
59 btVector3 v = (clampedPoint - min_bound) * bvhQuantization;
60 out[0] = (
unsigned short)(v.
getX() + 0.5f);
61 out[1] = (
unsigned short)(v.
getY() + 0.5f);
62 out[2] = (
unsigned short)(v.
getZ() + 0.5f);
66 const unsigned short* vecIn,
void bt_calc_quantization_parameters(btVector3 &outMinBound, btVector3 &outMaxBound, btVector3 &bvhQuantization, const btVector3 &srcMinBound, const btVector3 &srcMaxBound, btScalar quantizationMargin)
void bt_quantize_clamp(unsigned short *out, const btVector3 &point, const btVector3 &min_bound, const btVector3 &max_bound, const btVector3 &bvhQuantization)
btVector3 bt_unquantize(const unsigned short *vecIn, const btVector3 &offset, const btVector3 &bvhQuantization)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define SIMD_FORCE_INLINE
btVector3 can be used to represent 3D points and vectors.
const btScalar & getZ() const
Return the z value.
void setMax(const btVector3 &other)
Set each element to the max of the current values and the values of another btVector3.
void setValue(const btScalar &_x, const btScalar &_y, const btScalar &_z)
const btScalar & getY() const
Return the y value.
void setMin(const btVector3 &other)
Set each element to the min of the current values and the values of another btVector3.
const btScalar & getX() const
Return the x value.