Subversion Repositories gelsvn

Rev

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

Rev 290 Rev 291
Line 3... Line 3...
3
 
3
 
4
#include "BoundingNode.h"
4
#include "BoundingNode.h"
5
#include "BoundingLNode.h"
5
#include "BoundingLNode.h"
6
#include "BoundingINode.h"
6
#include "BoundingINode.h"
7
 
7
 
-
 
8
namespace Geometry
-
 
9
{
-
 
10
 
8
template<class BoxType>
11
template<class BoxType>
9
class BoundingTree
12
class BoundingTree
10
{
13
{
11
 public:
14
 public:
12
 
15
 
Line 21... Line 24...
21
	BoundingTree(): root(0) {}
24
	BoundingTree(): root(0) {}
22
 
25
 
23
	~BoundingTree() {delete root;}
26
	~BoundingTree() {delete root;}
24
 
27
 
25
	void build(std::vector<Triangle>& triangles);
28
	void build(std::vector<Triangle>& triangles);
26
	void draw(int=1e6);
-
 
27
	bool intersect(const CGLA::Vec3f&,const CGLA::Vec3f&,float&) const;
29
	bool intersect(const CGLA::Vec3f&,const CGLA::Vec3f&,float&) const;
28
	int intersect_cnt(const CGLA::Vec3f&,const CGLA::Vec3f&) const;
30
	int intersect_cnt(const CGLA::Vec3f&,const CGLA::Vec3f&) const;
29
 
31
 
30
	float compute_signed_distance(const CGLA::Vec3f& p,	float=FLT_MAX) const;
32
	float compute_signed_distance(const CGLA::Vec3f& p,	float=FLT_MAX) const;
31
};
33
};
32
 
34
 
33
 
35
}
34
 
36
 
35
#endif
37
#endif