Open3D (C++ API)  0.19.0
Loading...
Searching...
No Matches
open3d::geometry::OctreeInternalNode Class Reference

OctreeInternalNode class, containing OctreeNode children. More...

#include <Octree.h>

Inheritance diagram for open3d::geometry::OctreeInternalNode:
open3d::geometry::OctreeNode open3d::utility::IJsonConvertible open3d::geometry::OctreeInternalPointNode

Public Member Functions

 OctreeInternalNode ()
 Default Constructor.
bool ConvertToJsonValue (Json::Value &value) const override
bool ConvertFromJsonValue (const Json::Value &value) override
Public Member Functions inherited from open3d::geometry::OctreeNode
 OctreeNode ()
 Default Constructor.
virtual ~OctreeNode ()
Public Member Functions inherited from open3d::utility::IJsonConvertible
virtual ~IJsonConvertible ()
virtual std::string ToString () const
 Convert to a styled string representation of JSON data for display.

Static Public Member Functions

static std::shared_ptr< OctreeNodeInfoGetInsertionNodeInfo (const std::shared_ptr< OctreeNodeInfo > &node_info, const Eigen::Vector3d &point)
static std::function< std::shared_ptr< OctreeInternalNode >()> GetInitFunction ()
 Get lambda function for initializing OctreeInternalNode.
static std::function< void(std::shared_ptr< OctreeInternalNode >)> GetUpdateFunction ()
 Get lambda function for updating OctreeInternalNode.
Static Public Member Functions inherited from open3d::geometry::OctreeNode
static std::shared_ptr< OctreeNodeConstructFromJsonValue (const Json::Value &value)
 Factory function to construct an OctreeNode by parsing the json value.
Static Public Member Functions inherited from open3d::utility::IJsonConvertible
static bool EigenVector3dFromJsonArray (Eigen::Vector3d &vec, const Json::Value &value)
static bool EigenVector3dToJsonArray (const Eigen::Vector3d &vec, Json::Value &value)
static bool EigenVector4dFromJsonArray (Eigen::Vector4d &vec, const Json::Value &value)
static bool EigenVector4dToJsonArray (const Eigen::Vector4d &vec, Json::Value &value)
static bool EigenMatrix3dFromJsonArray (Eigen::Matrix3d &mat, const Json::Value &value)
static bool EigenMatrix3dToJsonArray (const Eigen::Matrix3d &mat, Json::Value &value)
static bool EigenMatrix4dFromJsonArray (Eigen::Matrix4d &mat, const Json::Value &value)
static bool EigenMatrix4dToJsonArray (const Eigen::Matrix4d &mat, Json::Value &value)
static bool EigenMatrix4dFromJsonArray (Eigen::Matrix4d_u &mat, const Json::Value &value)
static bool EigenMatrix4dToJsonArray (const Eigen::Matrix4d_u &mat, Json::Value &value)
static bool EigenMatrix6dFromJsonArray (Eigen::Matrix6d &mat, const Json::Value &value)
static bool EigenMatrix6dToJsonArray (const Eigen::Matrix6d &mat, Json::Value &value)
static bool EigenMatrix6dFromJsonArray (Eigen::Matrix6d_u &mat, const Json::Value &value)
static bool EigenMatrix6dToJsonArray (const Eigen::Matrix6d_u &mat, Json::Value &value)

Data Fields

std::vector< std::shared_ptr< OctreeNode > > children_

Detailed Description

OctreeInternalNode class, containing OctreeNode children.

Children node ordering conventions are as follows.

For illustration, assume,

  • root_node: origin == (0, 0, 0), size == 2

Then,

  • children_[0]: origin == (0, 0, 0), size == 1
  • children_[1]: origin == (1, 0, 0), size == 1, along X-axis next to child 0
  • children_[2]: origin == (0, 1, 0), size == 1, along Y-axis next to child 0
  • children_[3]: origin == (1, 1, 0), size == 1, in X-Y plane
  • children_[4]: origin == (0, 0, 1), size == 1, along Z-axis next to child 0
  • children_[5]: origin == (1, 0, 1), size == 1, in X-Z plane
  • children_[6]: origin == (0, 1, 1), size == 1, in Y-Z plane
  • children_[7]: origin == (1, 1, 1), size == 1, furthest from child 0

Constructor & Destructor Documentation

◆ OctreeInternalNode()

open3d::geometry::OctreeInternalNode::OctreeInternalNode ( )
inline

Default Constructor.

Member Function Documentation

◆ ConvertFromJsonValue()

bool open3d::geometry::OctreeInternalNode::ConvertFromJsonValue ( const Json::Value & value)
overridevirtual

◆ ConvertToJsonValue()

bool open3d::geometry::OctreeInternalNode::ConvertToJsonValue ( Json::Value & value) const
overridevirtual

◆ GetInitFunction()

std::function< std::shared_ptr< OctreeInternalNode >()> open3d::geometry::OctreeInternalNode::GetInitFunction ( )
static

Get lambda function for initializing OctreeInternalNode.

When the init function is called, an empty OctreeInternalNode is created.

◆ GetInsertionNodeInfo()

std::shared_ptr< OctreeNodeInfo > open3d::geometry::OctreeInternalNode::GetInsertionNodeInfo ( const std::shared_ptr< OctreeNodeInfo > & node_info,
const Eigen::Vector3d & point )
static

◆ GetUpdateFunction()

std::function< void(std::shared_ptr< OctreeInternalNode >)> open3d::geometry::OctreeInternalNode::GetUpdateFunction ( )
static

Get lambda function for updating OctreeInternalNode.

This update function does nothing.

Field Documentation

◆ children_

std::vector<std::shared_ptr<OctreeNode> > open3d::geometry::OctreeInternalNode::children_

Use vector instead of C-array for Pybind11, otherwise, need to define more helper functions https://github.com/pybind/pybind11/issues/546#issuecomment-265707318 List of children Nodes.


The documentation for this class was generated from the following files: