106 void Init_Random(
float min_extent = 0.5f,
float max_extent = 1.0f);
195 point.
X *= params[0];
196 point.
Y *= params[1];
197 point.
Z *= params[2];
static WWINLINE void Transform_Vector(const Matrix3D &tm, const Vector3 &in, Vector3 *out)
static WWINLINE void Rotate_Vector(const Matrix3x3 &tm, const Vector3 &in, Vector3 *out)
static void Multiply(const Matrix3x3 &a, const Matrix3x3 &b, Matrix3x3 *res)
OBBoxClass(const OBBoxClass &that)
void Compute_Axis_Aligned_Extent(Vector3 *set_extent) const
OBBoxClass(const Vector3 ¢er, const Vector3 &extent, const Matrix3x3 &basis)
bool operator==(const OBBoxClass &src)
void Compute_Point(float params[3], Vector3 *set_point) const
void Init_Random(float min_extent=0.5f, float max_extent=1.0f)
bool operator!=(const OBBoxClass &src)
OBBoxClass(const Vector3 ¢er, const Vector3 &extent)
void Init_From_Box_Points(Vector3 *points, int num_points)
float Project_To_Axis(const Vector3 &axis) const
static void Transform(const Matrix3D &tm, const OBBoxClass &in, OBBoxClass *out)
static WWINLINE float Dot_Product(const Vector3 &a, const Vector3 &b)
static WWINLINE void Add(const Vector3 &a, const Vector3 &b, Vector3 *c)
static WWINLINE float Fabs(float val)
bool Oriented_Boxes_Intersect(const OBBoxClass &box0, const OBBoxClass &box1)
bool Oriented_Boxes_Collide(const OBBoxClass &box0, const Vector3 &v0, const OBBoxClass &box1, const Vector3 &v1, float dt)
bool Oriented_Box_Intersects_Tri(const OBBoxClass &box, const TriClass &tri)