Subversion Repositories gelsvn

Rev

Rev 372 | Rev 400 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 372 Rev 396
Line 7... Line 7...
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
#include "SinglePassWireframeRenderer.h"
-
 
13
#include "IDBufferWireFrameRenderer.h"
-
 
14
 
12
namespace GLGraphics
15
namespace GLGraphics
13
{
16
{
14
  /// Draw a triangles mesh. Inefficient function that should be compiled into a display list.
17
	/// 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);
18
	void draw(const Geometry::TriMesh& tm, bool per_vertex_norms=true);
16
 
19
	
17
  /// Draw an axis aligned bounding box
20
	/// Draw a HMesh Manifold. Inefficient and should be compiled into display list
18
  void draw(const Geometry::AABox& box);
-
 
19
  
-
 
20
  /// Draw an oriented bounding box
-
 
21
  void draw(const Geometry::OBox& box);
-
 
22
  
-
 
23
  /// Draw a HMesh Manifold
-
 
24
  void draw(HMesh::Manifold& m, bool per_vertex_norms=true);
21
	void draw(HMesh::Manifold& m, bool per_vertex_norms=true);
25
 
22
 
-
 
23
	
-
 
24
	/// Draw an axis aligned bounding box
-
 
25
	void draw(const Geometry::AABox& box);
-
 
26
	
-
 
27
	/// Draw an oriented bounding box
-
 
28
	void draw(const Geometry::OBox& box);
-
 
29
	
-
 
30
	
-
 
31
	template<typename T>
-
 
32
	inline void draw_triangles_in_wireframe(T& m, bool per_vertex_norms, const CGLA::Vec3f& line_color)
26
  
33
	{
-
 
34
		static SinglePassWireframeRenderer swr;
-
 
35
		swr.enable(line_color);
-
 
36
		draw(m, per_vertex_norms);
-
 
37
		swr.disable();
-
 
38
	}
-
 
39
	
-
 
40
	template<class T>
-
 
41
	void draw_wireframe_oldfashioned(T& m, bool per_vertex_norms, const CGLA::Vec3f& line_color);
-
 
42
	
-
 
43
	
-
 
44
	
27
  template<class BoxType>
45
	template<class BoxType>
28
	void draw(const Geometry::BoundingINode<BoxType>& node, int level, int max_level);
46
	void draw(const Geometry::BoundingINode<BoxType>& node, int level, int max_level);
29
  template<class BoxType>
47
	template<class BoxType>
30
    void draw(const Geometry::BoundingLNode<BoxType>& node, int level, int max_level);
48
    void draw(const Geometry::BoundingLNode<BoxType>& node, int level, int max_level);
31
  template<class BoxType>
49
	template<class BoxType>
32
    void draw(const Geometry::BoundingTree<BoxType>& tree, int max_level = 1e6);
50
    void draw(const Geometry::BoundingTree<BoxType>& tree, int max_level = 1e6);
33
 
51
	
34
}
52
}
35
#endif
53
#endif