geolib2
include
geolib
HeightMapNode.h
Go to the documentation of this file.
1
#ifndef GEOLIB_HEIGHT_MAP_NODE_H_
2
#define GEOLIB_HEIGHT_MAP_NODE_H_
3
4
#include "
Ray.h
"
5
#include "
Box.h
"
6
7
namespace
geo
{
8
9
class
HeightMap;
10
17
class
HeightMapNode
{
18
19
public
:
20
21
HeightMapNode
(
const
Box
& box);
22
23
HeightMapNode
(
const
HeightMapNode
& orig);
24
25
HeightMapNode
(
HeightMapNode
&& orig);
26
27
virtual
~HeightMapNode
();
28
29
HeightMapNode
*
clone
()
const
;
30
31
bool
intersect
(
const
Ray
& r,
float
t0,
float
t1,
double
& distance)
const
;
32
33
// the bounding box of the node
34
Box
box_
;
35
36
// child nodes. In case the node is a leaf of the tree all four will be nullptr
37
HeightMapNode
*
children_
[4];
38
39
// True iff the entire volume described by the bounding box is occupied
40
bool
occupied_
;
41
42
};
43
44
}
45
46
#endif
geo::HeightMapNode
Definition:
HeightMapNode.h:17
geo
Definition:
Box.h:6
geo::Box
Definition:
Box.h:15
geo::HeightMapNode::~HeightMapNode
virtual ~HeightMapNode()
Definition:
HeightMapNode.cpp:32
geo::HeightMapNode::clone
HeightMapNode * clone() const
Definition:
HeightMapNode.cpp:35
geo::HeightMapNode::intersect
bool intersect(const Ray &r, float t0, float t1, double &distance) const
Definition:
HeightMapNode.cpp:39
geo::Ray
Definition:
Ray.h:10
geo::HeightMapNode::occupied_
bool occupied_
Definition:
HeightMapNode.h:40
geo::HeightMapNode::children_
HeightMapNode * children_[4]
Definition:
HeightMapNode.h:37
geo::HeightMapNode::box_
Box box_
Definition:
HeightMapNode.h:34
Box.h
Ray.h
geo::HeightMapNode::HeightMapNode
HeightMapNode(const Box &box)
Definition:
HeightMapNode.cpp:5
Generated on Sun Feb 23 2025 04:33:29 for geolib2 by
1.8.17