## square (`lygia`/`geometry`/`aabb`/`square`)

Square an AABB using the longest side

Dependencies:

Use:

``````<void> square(<AABB> box)
``````

Check it on Github

``````

#ifndef FNC_AABB_SQUARE
#define FNC_AABB_SQUARE

void square(AABB& _box) {
vec3 diag   = diagonal(_box) * 0.5;
vec3 cntr   = _box.min + diag;
float mmax  = max( abs(diag.x), max( abs(diag.y), abs(diag.z) ) );
_box.max    = cntr + mmax;
_box.min    = cntr - mmax;
}

#endif
``````

Dependencies:

Use:

``````<void> AABBsquare(<AABB> box)
``````

Check it on Github

``````

#ifndef FNC_AABB_SQUARE
#define FNC_AABB_SQUARE

void square(AABB& _box) {
float3 diag     = diagonal(_box) * 0.5f;
float3 cntr     = _box.min + diag;
float  mmax     = max( abs(diag.x), max( abs(diag.y), abs(diag.z) ) );
_box.max         = cntr + mmax;
_box.min         = cntr - mmax;
}

#endif
``````

Dependencies:

Use:

``````<void> square(<AABB> box)
``````

Check it on Github

``````

#ifndef FNC_AABB_SQUARE
#define FNC_AABB_SQUARE

inline __host__ __device__ void square(AABB& _box) {
float3 diag     = diagonal(_box) * 0.5f;
float3 cntr     = _box.min + diag;
float  mmax     = max( abs(diag.x), max( abs(diag.y), abs(diag.z) ) );
_box.max         = cntr + mmax;
_box.min         = cntr - mmax;
}

#endif
``````