5 #include <KrisLibrary/errors.h> 25 for(
int i=0;i<x.n;i++)
26 x(i) =
Clamp(x(i),bmin(i)+d,bmax(i)-d);
38 for(
int i=0;i<x.n;i++) {
39 if(x(i)-bmin(i) < margin) {
40 margin = x(i)-bmin(i);
43 if(bmax(i)-x(i) < margin) {
44 margin = bmax(i)-x(i);
58 for(
int i=0;i<x.n;i++) {
59 margin = Min(margin,x(i)-bmin(i));
60 margin = Min(margin,bmax(i)-x(i));
70 for(
int i=0;i<x.n;i++)
71 if(x(i) < bmin(i)+d || x(i) > bmax(i)+d)
return false;
bool AABBContains(const Vector &x, const Vector &bmin, const Vector &bmax, Real d=Zero)
Returns true if the AABB (bmin,bmax) contains x.
Definition: AABB.h:66
void AABBClamp(Vector &x, const Vector &bmin, const Vector &bmax, Real d=Zero)
Clamps x to be contained in the AABB (bmin,bmax)
Definition: AABB.h:21
bool AABBClipLine(const Vector &x0, const Vector &dx, const Vector &bmin, const Vector &bmax, Real &u0, Real &u1)
Definition: AABB.cpp:64
double Clamp(double x, double a, double b)
Returns a if x < a, b if x > b, otherwise x.
Definition: math.h:209
int AABBLineSearch(const Vector &x0, const Vector &dx, const Vector &bmin, const Vector &bmax, Real &t)
Definition: AABB.cpp:7
Real AABBMargin(const Vector &x, const Vector &bmin, const Vector &bmax, int &index)
Definition: AABB.h:32
Contains all definitions in the Math package.
Definition: WorkspaceBound.h:12