3 #include <LightKDTreeNode.h>
13 friend class boost::serialization::access;
20 template<
class Archive>
21 void serialize(Archive & ar,
const unsigned int version) {
36 boost::serialization::void_cast_register<
39 ar & boost::serialization::base_object<LightKDTreeNode>(*
this);
54 double surfaceArea = std::numeric_limits<double>::quiet_NaN();
Class representing an Axis Aligned Bounding Box (AABB)
Definition: AABB.h:10
Class representing a KDTree node.
Definition: KDTreeNode.h:9
virtual ~KDTreeNode()=default
Destructor for KDTreeNode.
void serialize(Archive &ar, const unsigned int version)
Serialize a KDTreeNode to a stream of bytes.
Definition: KDTreeNode.h:21
static KDTreeNode * readObject(std::string path)
Import a serialized KDTree from file.
Definition: KDTreeNode.cpp:54
KDTreeNode()
Default constructor for KDTreeNode.
Definition: KDTreeNode.h:61
KDTreeNode & operator=(KDTreeNode const &kdtn)
Copy assignment operator for KDTreeNode.
Definition: KDTreeNode.cpp:25
void writeObject(std::string path)
Serialize KDTree.
Definition: KDTreeNode.cpp:47
AABB bound
The axis-aligned boundary of the node.
Definition: KDTreeNode.h:50
void swap(KDTreeNode &kdtn)
Swap attributes of given KDTreeNode and current KDTreeNode.
Definition: KDTreeNode.cpp:39
double surfaceArea
The summation of areas for all faces at node boundaries.
Definition: KDTreeNode.h:54
Class representing a light KDTree node. It is, the basic representation of a KDTree node with uses le...
Definition: LightKDTreeNode.h:28