Calculate the intersection between a Ray, and these bounds. Returns false if no intersection occurred, and ‘at’ will contain the nearest intersection point to the start of the ray if an intersection is found!
// All these create bounds for a 1x1x1m cube around the origin!Boundsbounds=newBounds(Vec3.One);bounds=Bounds.FromCorner(newVec3(-0.5f,-0.5f,-0.5f),Vec3.One);bounds=Bounds.FromCorners(newVec3(-0.5f,-0.5f,-0.5f),newVec3(0.5f,0.5f,0.5f));// Note that positions must be in a coordinate space relative to // the bounds!if(bounds.Contains(newVec3(0,0.25f,0)))Log.Info("Super easy to check if something's in it!");// Casting a ray at a bounds is trivial too, again, ensure // coordinates are in the same space!Rayray=newRay(Vec3.Up,-Vec3.Up);if(bounds.Intersect(ray,outVec3at))Log.Info("Bounds intersection at "+at);// <0, 0.5f, 0>// You can also scale a Bounds using the '*' operator overload, // this is really useful if you're working with the Bounds of a// Model that you've scaled. It will scale the center as well as// the size!bounds=bounds*0.5f;