/*****************************************************************************
 * $LastChangedDate: 2009-12-22 17:12:17 -0500 (Tue, 22 Dec 2009) $
 * @file
 * @author  Jim E. Brooks  http://www.palomino3d.org
 * @brief   Math functions specifically for computer graphics algorithms.
 * @remarks
 * REMINDERS: - Use MATH_EXCEPTION() instead of ASSERT().
 *            - C++ <cmath> is better than C <math.h> because C++ functions are overloaded.
 *//*
 * LEGAL:   COPYRIGHT (C) 2008 JIM E. BROOKS
 *          THIS SOURCE CODE IS RELEASED UNDER THE TERMS
 *          OF THE GNU GENERAL PUBLIC LICENSE VERSION 2 (GPL 2).
 *****************************************************************************/

#ifndef MATH_GRAPHICS_HH
#define MATH_GRAPHICS_HH 1

#include "math/types_trig.hh"
#include "math/vertex.hh"

namespace math {

class Matrix;

INLINE bool IF_Z_FACING( const fp z ) { return z < 0.0f; }

WorldVertex
ComputeVertexOnDome( const Degree lat, const Degree lon, const fp radius );

Degree
ComputeMatrixRollDegree( const Matrix& matrix, const Matrix& nextMatrix );

} // namespace math

#endif // MATH_GRAPHICS_HH
