本文整理汇总了C++中osg::NodePtr::getChild方法的典型用法代码示例。如果您正苦于以下问题:C++ NodePtr::getChild方法的具体用法?C++ NodePtr::getChild怎么用?C++ NodePtr::getChild使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类osg::NodePtr
的用法示例。
在下文中一共展示了NodePtr::getChild方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: next
NodeBase NodeIterator::next(void)
{
while(!_stack.empty())
{
OSG::NodePtr act = _stack.back();
_stack.pop_back();
for(OSG::UInt32 i = 0; i < act->getNChildren(); ++i)
_stack.push_back(act->getChild(i));
if(act->getCore()->getType().isDerivedFrom(*_type))
{
return NodeBase(act);
}
}
PyErr_SetString(PyExc_StopIteration, "Out of Nodes");
boost::python::throw_error_already_set();
}
示例2: checkForRedundancy
void InventorLoader::checkForRedundancy( osg::NodePtr OSGGroup )
{
return;
// TODO: Check the type of the node and return, if it's not a node
// that should be discarded (discardable: group, not discardable: geometry)
// If the group node has no children, then let's kick it !
if( OSGGroup->getNChildren() == 0 )
{
if(OSGGroup->getParent() != NullFC)
{
OSGGroup->getParent()->subChild(OSGGroup);
}
else
{
subRefCP(OSGGroup);
}
}
// If there's only one child, then add it to the parent of the group,
// copy the name and remove the group
else if ( OSGGroup->getNChildren() == 1 )
{
// Get parent and child
osg::NodePtr _Child = OSGGroup->getChild(0);
osg::NodePtr _Parent = OSGGroup->getParent();
// Copy the name
const char* _Name = getName(OSGGroup);
if( _Name )
setName( _Child, _Name );
// Add the child to the parent
_Parent->addChild( _Child );
// Remove the group node
_Parent->subChild( OSGGroup );
}
}