Subversion Repositories gelsvn

Rev

Rev 368 | Rev 396 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 368 Rev 372
1
#ifndef __GLGRAPHICS_DRAW_H_
1
#ifndef __GLGRAPHICS_DRAW_H_
2
#define __GLGRAPHICS_DRAW_H_
2
#define __GLGRAPHICS_DRAW_H_
3
 
3
 
4
#include "Geometry/TriMesh.h"
4
#include "Geometry/TriMesh.h"
5
#include "Geometry/AABox.h"
5
#include "Geometry/AABox.h"
6
#include "Geometry/OBox.h"
6
#include "Geometry/OBox.h"
7
#include "Geometry/BoundingINode.h"
7
#include "Geometry/BoundingINode.h"
8
#include "Geometry/BoundingLNode.h"
8
#include "Geometry/BoundingLNode.h"
9
#include "Geometry/BoundingTree.h"
9
#include "Geometry/BoundingTree.h"
10
#include "HMesh/Manifold.h"
10
#include "HMesh/Manifold.h"
11
 
11
 
12
namespace GLGraphics
12
namespace GLGraphics
13
{
13
{
14
  /// Draw a triangles mesh. Inefficient function that should be compiled into a display list.
14
  /// Draw a triangles mesh. Inefficient function that should be compiled into a display list.
15
  void draw(const Geometry::TriMesh& tm, bool per_vertex_norms=true);
15
  void draw(const Geometry::TriMesh& tm, bool per_vertex_norms=true);
16
 
16
 
17
  void draw(const Geometry::TriMesh& tm, bool per_vertex_norms, bool draw_wire);
-
 
18
 
-
 
19
  /// Draw an axis aligned bounding box
17
  /// Draw an axis aligned bounding box
20
  void draw(const Geometry::AABox& box);
18
  void draw(const Geometry::AABox& box);
21
  
19
  
22
  /// Draw an oriented bounding box
20
  /// Draw an oriented bounding box
23
  void draw(const Geometry::OBox& box);
21
  void draw(const Geometry::OBox& box);
24
  
22
  
25
  /// Draw a HMesh Manifold
23
  /// Draw a HMesh Manifold
26
  void draw(HMesh::Manifold& m, bool per_vertex_norms=true);
24
  void draw(HMesh::Manifold& m, bool per_vertex_norms=true);
27
 
25
 
28
  
26
  
29
  template<class BoxType>
27
  template<class BoxType>
30
	void draw(const Geometry::BoundingINode<BoxType>& node, int level, int max_level);
28
	void draw(const Geometry::BoundingINode<BoxType>& node, int level, int max_level);
31
  template<class BoxType>
29
  template<class BoxType>
32
    void draw(const Geometry::BoundingLNode<BoxType>& node, int level, int max_level);
30
    void draw(const Geometry::BoundingLNode<BoxType>& node, int level, int max_level);
33
  template<class BoxType>
31
  template<class BoxType>
34
    void draw(const Geometry::BoundingTree<BoxType>& tree, int max_level = 1e6);
32
    void draw(const Geometry::BoundingTree<BoxType>& tree, int max_level = 1e6);
35
 
33
 
36
}
34
}
37
#endif
35
#endif
38
 
36