本文整理汇总了C++中osg::Node::getDescription方法的典型用法代码示例。如果您正苦于以下问题:C++ Node::getDescription方法的具体用法?C++ Node::getDescription怎么用?C++ Node::getDescription使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类osg::Node
的用法示例。
在下文中一共展示了Node::getDescription方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: writeNodeExtra
// Write non-standard node data as extra of type "Node" with "OpenSceneGraph" technique
void daeWriter::writeNodeExtra(osg::Node &node)
{
unsigned int numDesc = node.getDescriptions().size();
// Only create extra if descriptions are filled in
if (writeExtras && (numDesc > 0))
{
// Adds the following to a node
//<extra type="Node">
// <technique profile="OpenSceneGraph">
// <Descriptions>
// <Description>Some info</Description>
// </Descriptions>
// </technique>
//</extra>
domExtra *extra = daeSafeCast<domExtra>(currentNode->add( COLLADA_ELEMENT_EXTRA ));
extra->setType("Node");
domTechnique *teq = daeSafeCast<domTechnique>(extra->add( COLLADA_ELEMENT_TECHNIQUE ) );
teq->setProfile( "OpenSceneGraph" );
domAny *descriptions = (domAny*)teq->add( "Descriptions" );
for (unsigned int currDesc = 0; currDesc < numDesc; currDesc++)
{
std::string value = node.getDescription(currDesc);
if (!value.empty())
{
domAny *description = (domAny*)descriptions->add( "Description" );
description->setValue(value.c_str());
}
}
}
}
示例2: warning
/** If the DataOutputStream parameter is NULL, write to the _records
member variable. Otherwise, write to the specified DataOutputStream.
*/
void
FltExportVisitor::writeComment( const osg::Node& node, DataOutputStream* dos )
{
if (dos==NULL)
dos = _records;
// Write all descriptions as Comment records.
unsigned int nd = node.getNumDescriptions();
unsigned int idx=0;
while( idx < nd )
{
const std::string& com = node.getDescription( idx );
unsigned int iLen = com.length() + 5;
if (iLen > 0xffff)
{
// short overrun
std::string warning( "fltexp: writeComment: Descriptions too long, resorts in short overrun. Skipping." );
_fltOpt->getWriteResult().warn( warning );
OSG_WARN << warning << std::endl;
continue;
}
uint16 length( (uint16)iLen );
dos->writeInt16( (int16) COMMENT_OP );
dos->writeInt16( length );
dos->writeString( com );
idx++;
}
}