e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync/* Copyright (c) 2001, Stanford University
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * All rights reserved.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync *
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * See the file LICENSE.txt for information on redistributing this software.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync */
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#ifndef CR_BBOX_H
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#define CR_BBOX_H
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#include "state/cr_statetypes.h"
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#include <iprt/cdefs.h>
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#ifdef __cplusplus
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncextern "C" {
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#endif
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncextern DECLEXPORT(void)
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsynccrTransformBBox(float xmin, float ymin, float zmin,
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync float xmax, float ymax, float zmax,
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync const CRmatrix *m,
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync float *out_xmin, float *out_ymin, float *out_zmin,
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync float *out_xmax, float *out_ymax, float *out_zmax);
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncextern DECLEXPORT(void)
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsynccrProjectBBox(const GLfloat modl[16], const GLfloat proj[16],
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync GLfloat *x1, GLfloat *y1, GLfloat *z1,
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync GLfloat *x2, GLfloat *y2, GLfloat *z2);
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncextern DECLEXPORT(void)
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsynccrRectiUnion(CRrecti *result, const CRrecti *a, const CRrecti *b);
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#ifdef __cplusplus
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync}
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#endif
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#endif /* CR_BBOX_H */