boxtools.h

Back to Oriented box

pastel/geometry/shape/

// Description: Algorithms for Box's

#ifndef PASTELGEOMETRY_BOX_TOOLS_H
#define PASTELGEOMETRY_BOX_TOOLS_H

#include "pastel/geometry/shape/box.h"
#include "pastel/math/affine/affine_transformation.h"

namespace Pastel
{

    //! Transforma an box by the given transformation.
    /*!
   The matrix part of the transformation must be
   special orthogonal, otherwise the assumptions
   of the Box are broken down and some geometric
   algorithms work incorrectly.
   */

    template <typename Real, integer N>
    Box<Real, N>& operator*=(Box<Real, N>& box,
        const AffineTransformation<Real>& rigidTransform);

    //! Returns an box transformed by the given transformation.
    /*!
   The matrix part of the transformation must be
   special orthogonal, otherwise the assumptions
   of the Box are broken down and some geometric
   algorithms work incorrectly.
   */

    template <typename Real, integer N>
    Box<Real, N> operator*(const Box<Real, N>& box,
        const AffineTransformation<Real>& rigidTransform);

}

#include "pastel/geometry/shape/box_tools.hpp"

#endif