#
struct
#include <core/geom/box.hpp>

Box Represents a box shape.

## Public static functions

- static void enclosingFaces(int vertexIndex, int faces[3])
- Computes the enclosing faces of the corner.
- static void edges(glm::ivec2 edges[12])
- Computes the edges of a box. An edge is a pair of the corner indexes that compose it.
- static void edgeAdjacentFaces(int edgeIndex, int faces[2])
- Computes the faces adjacent to an edge.
- static void faceEdges(int faceIndex, int edges[4])
- Computes the edges of a face.
- static void faces(glm::ivec4 faces[6])
- Computes the faces with regards to the corner indexes that compose them. In conter-clock wise winding order.
- static void faceNormals(glm::vec3 normals[6])
- Computes the normal of each face. Same order as faces.

## Public functions

- void diag(glm::vec3 corners[2]) const
- Computes two opposite corners of the box on the major diagonal.
- void corners4(glm::vec3 corners[4]) const
- Computes four corners of the box, one for each diagonal.
- void corners(glm::vec3 corners[8]) const
- Computes the eight corners of the box, opposite corners are adjacent in the array.

## Public variables

- glm::vec3 halfSize
- Half size of the box.

## Function documentation

###
static void cubos::core::geom::Box:: enclosingFaces(int vertexIndex,
int faces[3])

Computes the enclosing faces of the corner.

Parameters | |
---|---|

vertexIndex | Index of the corner, according to the returned by corners. |

faces | Array to store the three face indexes in, according to the returned by faces. |

###
static void cubos::core::geom::Box:: edges(glm::ivec2 edges[12])

Computes the edges of a box. An edge is a pair of the corner indexes that compose it.

Parameters | |
---|---|

edges | Array to store the twelve edges in. |

###
static void cubos::core::geom::Box:: edgeAdjacentFaces(int edgeIndex,
int faces[2])

Computes the faces adjacent to an edge.

Parameters | |
---|---|

edgeIndex | Index of the edge. |

faces | Array to store the two faces in. |

###
static void cubos::core::geom::Box:: faceEdges(int faceIndex,
int edges[4])

Computes the edges of a face.

Parameters | |
---|---|

faceIndex | Index of the face. |

edges | Array to store the four edges in. |

###
static void cubos::core::geom::Box:: faces(glm::ivec4 faces[6])

Computes the faces with regards to the corner indexes that compose them. In conter-clock wise winding order.

Parameters | |
---|---|

faces | Array to store the six faces in. |

###
static void cubos::core::geom::Box:: faceNormals(glm::vec3 normals[6])

Computes the normal of each face. Same order as faces.

Parameters | |
---|---|

normals | Array to store the normals in. |

###
void cubos::core::geom::Box:: diag(glm::vec3 corners[2]) const

Computes two opposite corners of the box on the major diagonal.

Parameters | |
---|---|

corners | Array to store the two corners in. |

###
void cubos::core::geom::Box:: corners4(glm::vec3 corners[4]) const

Computes four corners of the box, one for each diagonal.

Parameters | |
---|---|

corners | Array to store the three corners in. |

###
void cubos::core::geom::Box:: corners(glm::vec3 corners[8]) const

Computes the eight corners of the box, opposite corners are adjacent in the array.

Parameters | |
---|---|

corners | Array to store the eight corners in. |