ILayerNOde 功能

本文介绍了ILayerNode类中的getLayerItemByPoint方法实现原理,该方法通过两层循环遍历子节点及直接关联的图层项,以查找指定坐标上的ILayerItem对象。首先检查所有子节点,若未找到,则继续在当前层级的图层项中查找。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ILayerNOde 功能

	ILayerItem* LayerNode::getLayerItemByPoint(int _left, int _top)
	{
		// сначала пикаем детей
		for (VectorILayerNode::iterator iter = mChildItems.begin(); iter!=mChildItems.end(); ++iter)
		{
			ILayerItem * item = (*iter)->getLayerItemByPoint(_left, _top);
			if (nullptr != item) return item;
		}

		for (VectorLayerItem::iterator iter=mLayerItems.begin(); iter!=mLayerItems.end(); ++iter)
		{
			ILayerItem * item = (*iter)->getLayerItemByPoint(_left, _top);
			if (nullptr != item) return item;
		}

		return nullptr;
	}

第一个循环式找子节点中的item 找到相应的LayerNode 调用第二个for循环


第二个循环找到ILayerItem 中找到相应的ILayerItem




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值