geolib2
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 
18 
19 public:
20 
21  HeightMapNode(const Box& box);
22 
23  HeightMapNode(const HeightMapNode& orig);
24 
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
35 
36  // child nodes. In case the node is a leaf of the tree all four will be nullptr
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