6#include <glm/gtc/matrix_transform.hpp>
40 float ox,
float oy,
float oz);
78 float wx,
float wy,
float wz,
79 float &lx,
float &ly,
float &lz);
89 float lx,
float ly,
float lz,
90 float &wx,
float &wy,
float &wz);
Definition bgi_camera.h:28
glm::mat4 ucsLocalToWorldMatrix(const CoordSystem &cs)
Returns the 4×4 matrix that transforms a point from UCS local space to world space.
void worldExtentsExpand(WorldExtents &extents, float x, float y, float z)
Expands extents to include the point (x, y, z).
glm::vec3 worldExtentsHalfSize(const WorldExtents &extents)
Returns the half-extents (half-size of each axis) as a vec3.
void ucsLocalToWorld(const CoordSystem &cs, float lx, float ly, float lz, float &wx, float &wy, float &wz)
Transforms a UCS local point into world-space coordinates.
CoordSystem ucsFromNormal(float nx, float ny, float nz, float ox, float oy, float oz)
Constructs a right-handed orthonormal frame from a surface normal.
void ucsOrthonormalise(CoordSystem &cs)
Orthonormalises the three axis vectors of a CoordSystem in-place using the Gram-Schmidt process.
glm::mat4 ucsWorldToLocalMatrix(const CoordSystem &cs)
Returns the 4×4 matrix that transforms a point from world space to UCS local space.
glm::vec3 worldExtentsCentre(const WorldExtents &extents)
Returns the centre of the AABB as a vec3.
void ucsWorldToLocal(const CoordSystem &cs, float wx, float wy, float wz, float &lx, float &ly, float &lz)
Transforms a world-space point into UCS local coordinates.
A named user coordinate system (UCS).
Definition bgi_types.h:415
Axis-aligned bounding box (AABB) representing the programmer's declared drawing extents in world spac...
Definition bgi_types.h:475