本文整理汇总了C++中ParameterPtr::userData方法的典型用法代码示例。如果您正苦于以下问题:C++ ParameterPtr::userData方法的具体用法?C++ ParameterPtr::userData怎么用?C++ ParameterPtr::userData使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ParameterPtr
的用法示例。
在下文中一共展示了ParameterPtr::userData方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
void V3Manipulator::readParameterOptions( MFnDagNode &nodeFn )
{
ParameterisedHolderInterface *pHolder = dynamic_cast<ParameterisedHolderInterface *>( nodeFn.userNode() );
if( !pHolder )
{
return;
}
ParameterPtr parameter = pHolder->plugParameter( m_plug );
CompoundObjectPtr userData = parameter->userData();
if( CompoundObjectPtr uiData = userData->member<CompoundObject>( "UI" ) )
{
// World space parameter values
if( StringDataPtr wsData = uiData->member<StringData>( "manipSpace" ) )
{
if( wsData->readable() == "world" )
{
m_worldSpace = true;
}
else if( wsData->readable() == "object" )
{
m_worldSpace = false;
}
else
{
MGlobal::displayWarning( "V3Manipulator: Ignoring invalid v3ManipSpace '"
+ MString( wsData->readable().c_str() )
+ "' for parameter '"
+ MString( parameter->name().c_str() )
+ "', using 'object'." );
}
}
}
}
示例2: handler
ParameterHandlerPtr CompoundParameterHandler::handler( const ParameterPtr child, bool createIfMissing )
{
HandlerMap::const_iterator it = m_handlers.find( child );
if( it!=m_handlers.end() )
{
return it->second;
}
ParameterHandlerPtr h = 0;
if( createIfMissing )
{
IECore::ConstBoolDataPtr noHostMapping = child->userData()->member<BoolData>( "noHostMapping" );
if( !noHostMapping || !noHostMapping->readable() )
{
h = ParameterHandler::create( child );
if( !h )
{
IECore::msg( IECore::Msg::Warning, "Gaffer::CompoundParameterHandler", boost::format( "Unable to create handler for parameter \"%s\" of type \"%s\"" ) % child->name() % child->typeName() );
}
}
}
m_handlers[child] = h;
return h;
}