本文整理汇总了C++中QuadTreeNode::GetChild方法的典型用法代码示例。如果您正苦于以下问题:C++ QuadTreeNode::GetChild方法的具体用法?C++ QuadTreeNode::GetChild怎么用?C++ QuadTreeNode::GetChild使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QuadTreeNode
的用法示例。
在下文中一共展示了QuadTreeNode::GetChild方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: west_nbr
QuadTreeNode* QuadTreeNode::west_nbr(QuadTreeNode *node)
{
if(node->GetParent() == nullptr) //We arrived at the root.
return nullptr;
if((node->GetNodeType() & 0x1) == 1) //(NORTH/SOUTH)-EAST node
return (node->GetNodeType() == NE ? node->GetParent()->GetChild(NW) : node->GetParent()->GetChild(SW));
QuadTreeNode* tmp = west_nbr(node->GetParent());
if(tmp == nullptr || tmp->IsLeaf())
return tmp;
return (node->GetNodeType() == NW ? tmp->GetChild(NE) : tmp->GetChild(SE));
}
示例2: south_nbr
QuadTreeNode* QuadTreeNode::south_nbr(QuadTreeNode *node)
{
if(node->GetParent() == nullptr) //We arrived at the root.
return nullptr;
if(node->GetNodeType() >> 1 == 1) //NORTH-(WEST/EAST) node
return (node->GetNodeType() == NE ? node->GetParent()->GetChild(SE) : node->GetParent()->GetChild(SW));
QuadTreeNode* tmp = south_nbr(node->GetParent());
if(tmp == nullptr || tmp->IsLeaf())
return tmp;
return (node->GetNodeType() == SW ? tmp->GetChild(NW) : tmp->GetChild(NE));
}