Remove subscript operator for direct access to children of root

This operator will be used for access by node ID in the future, and this functionality was less clear than tree.root[].
This commit is contained in:
JacksonCampolattaro 2023-03-26 21:32:55 +02:00
parent 035db48542
commit d8b42fd3f3
2 changed files with 12 additions and 25 deletions

View File

@ -441,19 +441,6 @@ public:
*/
Node& root() { return m_root; }
/*!
\brief Convenience function to access the child nodes of the root
node by their indices.
`my_tree[5]` is equivalent to `my_tree.root()[5]`.
\sa `Node::operator[]()`
\param index the index of the child node.
\return a reference to the node.
*/
const Node& operator[](std::size_t index) const { return m_root[index]; }
/*!
\brief returns the deepest level reached by a leaf node in this tree (root being level 0).
*/

View File

@ -68,10 +68,10 @@ int main(void) {
// Check the results
assert(4 == nodes.size());
assert(octree[Octree::Traits::RIGHT_TOP_BACK] == *nodes[0]);
assert(octree[Octree::Traits::RIGHT_BOTTOM_FRONT] == *nodes[1]);
assert(octree[Octree::Traits::LEFT_TOP_FRONT] == *nodes[2]);
assert(octree[Octree::Traits::RIGHT_TOP_FRONT] == *nodes[3]);
assert(octree.root()[Octree::Traits::RIGHT_TOP_BACK] == *nodes[0]);
assert(octree.root()[Octree::Traits::RIGHT_BOTTOM_FRONT] == *nodes[1]);
assert(octree.root()[Octree::Traits::LEFT_TOP_FRONT] == *nodes[2]);
assert(octree.root()[Octree::Traits::RIGHT_TOP_FRONT] == *nodes[3]);
}
// Intersection with a ray
@ -86,14 +86,14 @@ int main(void) {
// Check the results
assert(8 == nodes.size());
assert(octree[Octree::Traits::LEFT_BOTTOM_BACK] == *nodes[0]);
assert(octree[Octree::Traits::RIGHT_BOTTOM_BACK][Octree::Traits::LEFT_TOP_FRONT] == *nodes[1]);
assert(octree[Octree::Traits::LEFT_TOP_BACK] == *nodes[2]);
assert(octree[Octree::Traits::RIGHT_TOP_BACK] == *nodes[3]);
assert(octree[Octree::Traits::LEFT_BOTTOM_FRONT] == *nodes[4]);
assert(octree[Octree::Traits::RIGHT_BOTTOM_FRONT] == *nodes[5]);
assert(octree[Octree::Traits::LEFT_TOP_FRONT] == *nodes[6]);
assert(octree[Octree::Traits::RIGHT_TOP_FRONT] == *nodes[7]);
assert(octree.root()[Octree::Traits::LEFT_BOTTOM_BACK] == *nodes[0]);
assert(octree.root()[Octree::Traits::RIGHT_BOTTOM_BACK][Octree::Traits::LEFT_TOP_FRONT] == *nodes[1]);
assert(octree.root()[Octree::Traits::LEFT_TOP_BACK] == *nodes[2]);
assert(octree.root()[Octree::Traits::RIGHT_TOP_BACK] == *nodes[3]);
assert(octree.root()[Octree::Traits::LEFT_BOTTOM_FRONT] == *nodes[4]);
assert(octree.root()[Octree::Traits::RIGHT_BOTTOM_FRONT] == *nodes[5]);
assert(octree.root()[Octree::Traits::LEFT_TOP_FRONT] == *nodes[6]);
assert(octree.root()[Octree::Traits::RIGHT_TOP_FRONT] == *nodes[7]);
}
return EXIT_SUCCESS;