octomap(5):octomap函数updateNode作用及参数理解

说明:

        updateNode函数是octomap中常用的函数,在多个头文件中都有定义:

octomap::OccupancyOcTreeBase< NODE >
octomap::OccupancyOcTreeBase< ColorOcTreeNode >
octomap::OccupancyOcTreeBase< OcTreeNode >
octomap::OccupancyOcTreeBase< OcTreeNodeStamped >

        在这些个头文件中,几乎都有多个定义,但可以根据参数个数、类型进行区分。下面以octomap::OccupancyOcTreeBase< NODE >实现的6个形式进行学习。其他头文件中,有相同参数形式的话,作用应该是一样的。

目录

updateNode() [1/6]

updateNode() [2/6]

updateNode() [3/6]

updateNode() [4/6]

updateNode() [5/6]

updateNode() [6/6]


updateNode() [1/6]

 template<class NODE >
NODE * octomap::OccupancyOcTreeBase< NODE >::updateNode 	( 	const OcTreeKey &  	key,
		bool  	occupied,
		bool  	lazy_eval = false 
	) 	

作用:

        集成占用测量。

参数:

        key:要更新的NODE的OcTreeKey(八叉树键)

        occupied:如果节点被测量为占用,则为 true,否则为 false

        lazy_eval:更新后是否省略内部节点的更新(默认:false)。这加快了插入速度,但完成后您需要调用 updateInnerOccupancy()。

返回值:

        指向更新的节点的指针

updateNode() [2/6]

 template<class NODE >
NODE * octomap::OccupancyOcTreeBase< NODE >::updateNode 	( 	const OcTreeKey &  	key,
		float  	log_odds_update,
		bool  	lazy_eval = false 
	) 	

作用:

        通过 log_odds_update(log_odds的相对变化值)更改体素的 log_odds 值。

        这仅在密钥处于最低八叉树级别时才有效----不对内部节点进行操作

参数:

        key:要更新的节点的键

        log_odds_update:要添加 (+) 到节点的 log_odds 值的值

        lazy_eval:更新后是否省略内部节点的更新(默认:false)。这加快了插入速度,但完成后您需要调用 updateInnerOccupancy()。

返回值:

        指向更新的节点的指针

updateNode() [3/6]

 template<class NODE >
NODE * octomap::OccupancyOcTreeBase< NODE >::updateNode 	( 	const point3d &  	value,
		bool  	occupied,
		bool  	lazy_eval = false 
	) 	

作用:

        集成占用测量。
        查找坐标对应的OcTreeKey--八叉树键,然后用它调用udpateNode()。

参数:

        value:要更新的节点的 3d 坐标
        occupied:如果节点被测量为被占用,则为 true,否则为 false
        lazy_eval:更新后是否省略内部节点的更新(默认:false)。这加快了插入速度,但完成后您需要调用 updateInnerOccupancy()。

返回值:

        指向更新的节点的指针

updateNode() [4/6] 

 template<class NODE >
NODE * octomap::OccupancyOcTreeBase< NODE >::updateNode 	( 	const point3d &  	value,
		float  	log_odds_update,
		bool  	lazy_eval = false 
	) 	

作用:

        通过 log_odds_update(log_odds相对变化两)更改体素的 log_odds 值。
        查找坐标对应的OcTreeKey--八叉树键,然后调用updateNode()。

参数:

        value:要更新的节点的 3d 坐标

        log_odds_update:要添加 (+) 到节点的 log_odds 值的值

        lazy_eval:更新后是否省略内部节点的更新(默认:false)。这加快了插入速度,但完成后您需要调用 updateInnerOccupancy()。

返回值:

        指向更新的节点的指针

 

updateNode() [5/6]

 template<class NODE >
NODE * octomap::OccupancyOcTreeBase< NODE >::updateNode 	( 	double  	x,
		double  	y,
		double  	z,
		bool  	occupied,
		bool  	lazy_eval = false 
	) 	

作用:

        集成占用测量。
        查找坐标对应的OcTreeKey,然后用它调用udpateNode()。

参数:

        x:

        y:

        z:

        occupied:如果节点被测量为被占用,则为 true,否则为 false
        lazy_eval:更新后是否省略内部节点的更新(默认:false)。这加快了插入速度,但完成后您需要调用 updateInnerOccupancy()。

返回值:

        指向更新的节点的指针

updateNode() [6/6]

 template<class NODE >
NODE * octomap::OccupancyOcTreeBase< NODE >::updateNode 	( 	double  	x,
		double  	y,
		double  	z,
		float  	log_odds_update,
		bool  	lazy_eval = false 
	) 	

作用:

        通过 log_odds_update(log_odds相对变化值)更改体素的 log_odds 值。
        查找坐标对应的OcTreeKey,然后调用updateNode()。

参数:

        x:

        y:

        z:

        log_odds_update:要添加 (+) 到节点的 log_odds 值的值
        lazy_eval:更新后是否省略内部节点的更新(默认:false)。这加快了插入速度,但完成后您需要调用 updateInnerOccupancy()。

返回值:

        指向更新的节点的指针

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值