Program Listing for File BoundingRectangle.hpp

Return to documentation for file (include/lvr2/geometry/BoundingRectangle.hpp)

#ifndef LVR2_GEOMETRY_BOUNDINGRECTANGLE_H_
#define LVR2_GEOMETRY_BOUNDINGRECTANGLE_H_

#include "lvr2/geometry/Normal.hpp"

namespace lvr2
{


template<typename CoordType>
struct BoundingRectangle
{
    BaseVector<CoordType> m_supportVector;
    BaseVector<CoordType> m_vec1;
    BaseVector<CoordType> m_vec2;
    Normal<CoordType> m_normal;
    CoordType m_minDistA;
    CoordType m_maxDistA;
    CoordType m_minDistB;
    CoordType m_maxDistB;

    BoundingRectangle(
        BaseVector<CoordType> supportVector,
        BaseVector<CoordType> vec1,
        BaseVector<CoordType> vec2,
        Normal<CoordType> normal,
        CoordType minDistA,
        CoordType maxDistA,
        CoordType minDistB,
        CoordType maxDistB
    ) :
        m_supportVector(supportVector),
        m_vec1(vec1),
        m_vec2(vec2),
        m_normal(normal),
        m_minDistA(minDistA),
        m_maxDistA(maxDistA),
        m_minDistB(minDistB),
        m_maxDistB(maxDistB)
    {
    }

    BaseVector<CoordType> center() const;
};

} // namespace lvr2


#include "BoundingRectangle.tcc"

#endif /* LVR2_GEOMETRY_BOUNDINGRECTANGLE_H_ */