Open3D (C++ API)  0.18.0
Public Member Functions | Static Public Member Functions | Data Fields
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. More...
 
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. More...
 
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. More...
 

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. More...
 
static std::function< void(std::shared_ptr< OctreeInternalNode >)> GetUpdateFunction ()
 Get lambda function for updating OctreeInternalNode. More...
 
- 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. More...
 
- 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,

Then,

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: