gl3n.aabb



struct AABBT(type);
Base template for all AABB-types.

Params:
type all values get stored as this type

alias at = type;
Holds the internal type of the AABB.

alias vec3 = Vector!(at, 3);
Convenience alias to the corresponding vector type.

vec3 min;
The minimum of the AABB (e.g. vec3(0, 0, 0)).

vec3 max;
The maximum of the AABB (e.g. vec3(1, 1, 1)).

this(vec3 min, vec3 max);
Constructs the AABB.

Params:
vec3 min minimum of the AABB
vec3 max maximum of the AABB

AABBT from_points(vec3[] points);
Constructs the AABB around N points (all points will be part of the AABB).

void expand(AABBT b);
Expands the AABB by another AABB.

void expand(vec3 v);
Expands the AABB, so that v is part of the AABB.

const bool intersects(AABBT box);
Returns true if the AABBs intersect. This also returns true if one AABB lies inside another.

const vec3 extent();
Returns the extent of the AABB (also sometimes called size).

const vec3 half_extent();
Returns the half extent.

const at area();
Returns the area of the AABB.

const vec3 center();
Returns the center of the AABB.

const vec3[] vertices();
Returns all vertices of the AABB, basically one vec3 per corner.


Page generated by Ddoc.