Rev 362 | Rev 372 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#ifndef __GLGRAPHICS_DRAW_H_
#define __GLGRAPHICS_DRAW_H_
#include "Geometry/TriMesh.h"
#include "Geometry/AABox.h"
#include "Geometry/OBox.h"
#include "Geometry/BoundingINode.h"
#include "Geometry/BoundingLNode.h"
#include "Geometry/BoundingTree.h"
#include "HMesh/Manifold.h"
namespace GLGraphics
{
/// Draw a triangles mesh. Inefficient function that should be compiled into a display list.
void draw(const Geometry::TriMesh& tm, bool per_vertex_norms=true);
void draw(const Geometry::TriMesh& tm, bool per_vertex_norms, bool draw_wire);
/// Draw an axis aligned bounding box
void draw(const Geometry::AABox& box);
/// Draw an oriented bounding box
void draw(const Geometry::OBox& box);
/// Draw a HMesh Manifold
void draw(HMesh::Manifold& m, bool per_vertex_norms=true);
template<class BoxType>
void draw(const Geometry::BoundingINode<BoxType>& node, int level, int max_level);
template<class BoxType>
void draw(const Geometry::BoundingLNode<BoxType>& node, int level, int max_level);
template<class BoxType>
void draw(const Geometry::BoundingTree<BoxType>& tree, int max_level = 1e6);
}
#endif