本文整理汇总了C++中BoxVolume::setStatic方法的典型用法代码示例。如果您正苦于以下问题:C++ BoxVolume::setStatic方法的具体用法?C++ BoxVolume::setStatic怎么用?C++ BoxVolume::setStatic使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BoxVolume
的用法示例。
在下文中一共展示了BoxVolume::setStatic方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: updateVolume
void Node::updateVolume(void)
{
// still valid or static, nothing to do
if(_sfVolume.getValue().isValid () == true ||
_sfVolume.getValue().isStatic() == true ||
getTravMask() == 0x0000 )
{
return;
}
// be careful to not change the real volume. If two threads
// are updating the same aspect this will lead to chaos
BoxVolume vol = _sfVolume.getValue();
MFUnrecChildNodePtr::const_iterator cIt =
this->getMFChildren()->begin();
MFUnrecChildNodePtr::const_iterator cEnd =
this->getMFChildren()->end();
vol.setEmpty();
for(; cIt != cEnd; ++cIt)
{
if(*cIt != NULL && (*cIt)->getTravMask())
{
(*cIt)->updateVolume();
vol.extendBy((*cIt)->getVolume());
}
}
// test for null core. Shouldn't happen, but just in case...
if(getCore() != NULL)
{
getCore()->adjustVolume(vol);
}
// don't propagate the static flag from children
vol.setStatic(false);
editSField(VolumeFieldMask);
_sfVolume.setValue(vol);
}