本文整理汇总了C++中LLXmlTreeNode::getFastAttributeF32方法的典型用法代码示例。如果您正苦于以下问题:C++ LLXmlTreeNode::getFastAttributeF32方法的具体用法?C++ LLXmlTreeNode::getFastAttributeF32怎么用?C++ LLXmlTreeNode::getFastAttributeF32使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LLXmlTreeNode
的用法示例。
在下文中一共展示了LLXmlTreeNode::getFastAttributeF32方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: parseXml
BOOL LLDriverParamInfo::parseXml(LLXmlTreeNode* node)
{
llassert( node->hasName( "param" ) && node->getChildByName( "param_driver" ) );
if( !LLViewerVisualParamInfo::parseXml( node ))
return FALSE;
LLXmlTreeNode* param_driver_node = node->getChildByName( "param_driver" );
if( !param_driver_node )
return FALSE;
for (LLXmlTreeNode* child = param_driver_node->getChildByName( "driven" );
child;
child = param_driver_node->getNextNamedChild())
{
S32 driven_id;
static LLStdStringHandle id_string = LLXmlTree::addAttributeString("id");
if( child->getFastAttributeS32( id_string, driven_id ) )
{
F32 min1 = mMinWeight;
F32 max1 = mMaxWeight;
F32 max2 = max1;
F32 min2 = max1;
// driven ________ //
// ^ /| |\ //
// | / | | \ //
// | / | | \ //
// | / | | \ //
// | / | | \ //
//-------|----|-------|----|-------> driver //
// | min1 max1 max2 min2
static LLStdStringHandle min1_string = LLXmlTree::addAttributeString("min1");
child->getFastAttributeF32( min1_string, min1 ); // optional
static LLStdStringHandle max1_string = LLXmlTree::addAttributeString("max1");
child->getFastAttributeF32( max1_string, max1 ); // optional
static LLStdStringHandle max2_string = LLXmlTree::addAttributeString("max2");
child->getFastAttributeF32( max2_string, max2 ); // optional
static LLStdStringHandle min2_string = LLXmlTree::addAttributeString("min2");
child->getFastAttributeF32( min2_string, min2 ); // optional
// Push these on the front of the deque, so that we can construct
// them in order later (faster)
mDrivenInfoList.push_front( LLDrivenEntryInfo( driven_id, min1, max1, max2, min2 ) );
}
else
{
LL_ERRS() << "<driven> Unable to resolve driven parameter: " << driven_id << LL_ENDL;
return FALSE;
}
}
return TRUE;
}
示例2: loadNodeArchetype
//-----------------------------------------------------------------------------
// loadNodeArchetype(): loads <archetype> node from XML tree
//-----------------------------------------------------------------------------
BOOL LLGenePool::loadNodeArchetype( LLXmlTreeNode* node )
{
llassert( node->hasName( "archetype" ) );
LLAppearance* archetype = new LLAppearance();
BOOL success = TRUE;
LLVOAvatar* avatar = gAgent.getAvatarObject();
if( !avatar )
{
delete archetype;
return FALSE;
}
LLXmlTreeNode* child;
for (child = node->getChildByName( "param" );
child;
child = node->getNextNamedChild())
{
F32 value;
static LLStdStringHandle value_string = LLXmlTree::addAttributeString("value");
if( !child->getFastAttributeF32( value_string, value ) )
{
llwarns << "avatar genepool file: <param> missing value attribute" << llendl;
success = FALSE;
break;
}
S32 id;
static LLStdStringHandle id_string = LLXmlTree::addAttributeString("id");
if( !child->getFastAttributeS32( id_string, id ) )
{
llwarns << "avatar genepool file: <param> missing id attribute" << llendl;
success = FALSE;
break;
}
LLVisualParam* param = avatar->getVisualParam( id );
if( param )
{
archetype->addParam( id, value );
}
else
{
llwarns << "avatar genepool file: ignoring invalid <param> with id: " << id << llendl;
}
}
for (child = node->getChildByName( "texture" );
child;
child = node->getNextNamedChild())
{
LLUUID uuid;
static LLStdStringHandle uuid_string = LLXmlTree::addAttributeString("uuid");
if( !child->getFastAttributeUUID( uuid_string, uuid ) )
{
llwarns << "avatar genepool file: <texture> missing uuid attribute" << llendl;
success = FALSE;
break;
}
S32 te;
static LLStdStringHandle te_string = LLXmlTree::addAttributeString("te");
if( !child->getFastAttributeS32( te_string, te ) )
{
llwarns << "avatar genepool file: <texture> missing te attribute" << llendl;
success = FALSE;
break;
}
archetype->addTexture( te, uuid );
}
if( success )
{
mArchetypes.put( archetype );
}
else
{
delete archetype;
}
return success;
}