本文整理汇总了C++中AffectedPlugsContainer::push_back方法的典型用法代码示例。如果您正苦于以下问题:C++ AffectedPlugsContainer::push_back方法的具体用法?C++ AffectedPlugsContainer::push_back怎么用?C++ AffectedPlugsContainer::push_back使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AffectedPlugsContainer
的用法示例。
在下文中一共展示了AffectedPlugsContainer::push_back方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: affects
void Grade::affects( const Gaffer::Plug *input, AffectedPlugsContainer &outputs ) const
{
ChannelDataProcessor::affects( input, outputs );
// Process the children of the compound plugs.
for( unsigned int i = 0; i < 4; ++i )
{
if( input == blackPointPlug()->getChild(i) ||
input == whitePointPlug()->getChild(i) ||
input == liftPlug()->getChild(i) ||
input == gainPlug()->getChild(i) ||
input == multiplyPlug()->getChild(i) ||
input == offsetPlug()->getChild(i) ||
input == gammaPlug()->getChild(i)
)
{
outputs.push_back( outPlug()->channelDataPlug() );
return;
}
}
// Process all other plugs.
if( input == inPlug()->channelDataPlug() ||
input == blackClampPlug() ||
input == whiteClampPlug()
)
{
outputs.push_back( outPlug()->channelDataPlug() );
return;
}
}
示例2: affects
void Random::affects( const Plug *input, AffectedPlugsContainer &outputs ) const
{
ComputeNode::affects( input, outputs );
if( input == seedPlug() || input == contextEntryPlug() )
{
outputs.push_back( outFloatPlug() );
for( ValuePlugIterator componentIt( outColorPlug() ); componentIt != componentIt.end(); componentIt++ )
{
outputs.push_back( componentIt->get() );
}
}
else if( input->parent<Plug>() == floatRangePlug() )
{
outputs.push_back( outFloatPlug() );
}
else if(
input->parent<Plug>() == baseColorPlug() ||
input == huePlug() ||
input == saturationPlug() ||
input == valuePlug()
)
{
for( ValuePlugIterator componentIt( outColorPlug() ); componentIt != componentIt.end(); componentIt++ )
{
outputs.push_back( componentIt->get() );
}
}
}
示例3: affects
void Constant::affects( const Gaffer::Plug *input, AffectedPlugsContainer &outputs ) const
{
ImageNode::affects( input, outputs );
if( input->parent<Plug>() == colorPlug() )
{
outputs.push_back( outPlug()->channelDataPlug() );
}
if( formatPlug()->displayWindowPlug()->isAncestorOf( input ) )
{
outputs.push_back( outPlug()->formatPlug() );
outputs.push_back( outPlug()->dataWindowPlug() );
}
if( input == formatPlug()->pixelAspectPlug() )
{
outputs.push_back( outPlug()->formatPlug() );
}
if( input == layerPlug() )
{
outputs.push_back( outPlug()->channelNamesPlug() );
}
}
示例4: affects
void ImageReader::affects( const Plug *input, AffectedPlugsContainer &outputs ) const
{
ImageNode::affects( input, outputs );
if( input == intermediateMetadataPlug() )
{
outputs.push_back( intermediateColorSpacePlug() );
}
else if( input->parent<ImagePlug>() == intermediateImagePlug() )
{
outputs.push_back( outPlug()->getChild<ValuePlug>( input->getName() ) );
}
else if (
input == startFramePlug() ||
input == startModePlug() ||
input == endFramePlug() ||
input == endModePlug()
)
{
for( ValuePlugIterator it( outPlug() ); it != it.end(); ++it )
{
outputs.push_back( it->get() );
}
}
}
示例5: affects
void Mirror::affects( const Gaffer::Plug *input, AffectedPlugsContainer &outputs ) const
{
ImageProcessor::affects( input, outputs );
const bool affectsTransform =
input == inPlug()->formatPlug() ||
input == horizontalPlug() ||
input == verticalPlug()
;
if(
affectsTransform ||
input == inPlug()->dataWindowPlug()
)
{
outputs.push_back( outPlug()->dataWindowPlug() );
}
if(
affectsTransform ||
input == inPlug()->channelDataPlug()
)
{
outputs.push_back( outPlug()->channelDataPlug() );
}
}
示例6: affects
void OSLObject::affects( const Gaffer::Plug *input, AffectedPlugsContainer &outputs ) const
{
SceneElementProcessor::affects( input, outputs );
if( input == shaderPlug() )
{
outputs.push_back( resampledNamesPlug() );
outputs.push_back( outPlug()->objectPlug() );
}
else if (input == inPlug()->transformPlug() ||
input == interpolationPlug() ||
input == resampledInPlug()->objectPlug()
)
{
outputs.push_back( outPlug()->objectPlug() );
}
else if( input == inPlug()->objectPlug() )
{
outputs.push_back( resampledNamesPlug() );
}
else if( input == outPlug()->objectPlug() )
{
outputs.push_back( outPlug()->boundPlug() );
}
}
示例7: affects
void Shader::affects( const Gaffer::Plug *input, AffectedPlugsContainer &outputs ) const
{
DependencyNode::affects( input, outputs );
if(
parametersPlug()->isAncestorOf( input ) ||
input == enabledPlug() ||
input == nodeNamePlug() ||
input == namePlug() ||
input == typePlug() ||
input->parent<Plug>() == nodeColorPlug()
)
{
const Plug *out = outPlug();
if( out )
{
if( !out->children().empty() )
{
for( RecursivePlugIterator it( out ); it != it.end(); it++ )
{
if( (*it)->children().empty() )
{
outputs.push_back( it->get() );
}
}
}
else
{
outputs.push_back( out );
}
}
}
}
示例8: affects
void Resample::affects( const Gaffer::Plug *input, AffectedPlugsContainer &outputs ) const
{
ImageProcessor::affects( input, outputs );
if(
input == inPlug()->dataWindowPlug() ||
input == matrixPlug() ||
input == expandDataWindowPlug() ||
input == filterPlug() ||
input->parent<V2fPlug>() == filterWidthPlug() ||
input == debugPlug()
)
{
outputs.push_back( outPlug()->dataWindowPlug() );
outputs.push_back( horizontalPassPlug()->dataWindowPlug() );
}
if(
input == inPlug()->dataWindowPlug() ||
input == matrixPlug() ||
input == filterPlug() ||
input->parent<V2fPlug>() == filterWidthPlug() ||
input == inPlug()->channelDataPlug() ||
input == boundingModePlug() ||
input == debugPlug()
)
{
outputs.push_back( outPlug()->channelDataPlug() );
outputs.push_back( horizontalPassPlug()->channelDataPlug() );
}
}
示例9: affects
void SetVisualiser::affects( const Gaffer::Plug *input, AffectedPlugsContainer &outputs ) const
{
SceneElementProcessor::affects( input, outputs );
// Making attributes depend on outSets as much as possible (instead of
// the input plugs directly) allows us to better take advantage of Gaffers
// plug value caching and avoid some duplicate set processing work.
if(
input == setsPlug() ||
colorOverridesPlug()->isAncestorOf( input ) ||
input == inPlug()->setNamesPlug()
)
{
outputs.push_back( outSetsPlug() );
}
else if (
input == includeInheritedPlug() ||
input == stripeWidthPlug() ||
input == outSetsPlug() ||
input == inPlug()->setPlug()
)
{
outputs.push_back( outPlug()->attributesPlug() );
}
}
示例10: affects
void Transform::affects( const Gaffer::Plug *input, AffectedPlugsContainer &outputs ) const
{
SceneElementProcessor::affects( input, outputs );
if( input == spacePlug() || transformPlug()->isAncestorOf( input ) )
{
outputs.push_back( outPlug()->transformPlug() );
outputs.push_back( outPlug()->boundPlug() );
}
}
示例11: affects
void BranchCreator::affects( const Plug *input, AffectedPlugsContainer &outputs ) const
{
SceneProcessor::affects( input, outputs );
if( input->parent<ScenePlug>() == inPlug() )
{
outputs.push_back( outPlug()->getChild<ValuePlug>( input->getName() ) );
}
else if( input == parentPlug() )
{
outputs.push_back( mappingPlug() );
}
else if( input == mappingPlug() )
{
outputs.push_back( outPlug()->boundPlug() );
outputs.push_back( outPlug()->transformPlug() );
outputs.push_back( outPlug()->attributesPlug() );
outputs.push_back( outPlug()->objectPlug() );
outputs.push_back( outPlug()->childNamesPlug() );
// Globals plug deliberately omitted - because
// it's just a pass-through connection.
outputs.push_back( outPlug()->setNamesPlug() );
outputs.push_back( outPlug()->setPlug() );
}
}
示例12: affects
void AlembicSource::affects( const Plug *input, AffectedPlugsContainer &outputs ) const
{
SceneNode::affects( input, outputs );
if( input == fileNamePlug() || input == refreshCountPlug() )
{
outputs.push_back( outPlug()->boundPlug() );
outputs.push_back( outPlug()->transformPlug() );
outputs.push_back( outPlug()->objectPlug() );
outputs.push_back( outPlug()->childNamesPlug() );
}
}
示例13: affects
void SceneReader::affects( const Gaffer::Plug *input, AffectedPlugsContainer &outputs ) const
{
FileSource::affects( input, outputs );
if( input == tagsPlug() )
{
outputs.push_back( outPlug()->childNamesPlug() );
}
else if( input == setsPlug() )
{
outputs.push_back( outPlug()->globalsPlug() );
}
}
示例14: affects
void Seeds::affects( const Plug *input, AffectedPlugsContainer &outputs ) const
{
BranchCreator::affects( input, outputs );
if( input == densityPlug() || input == pointTypePlug() )
{
outputs.push_back( outPlug()->objectPlug() );
}
else if( input == namePlug() )
{
outputs.push_back( outPlug()->childNamesPlug() );
}
}
示例15: affects
void OSLObject::affects( const Gaffer::Plug *input, AffectedPlugsContainer &outputs ) const
{
SceneElementProcessor::affects( input, outputs );
if( input == shaderPlug() )
{
outputs.push_back( outPlug()->objectPlug() );
/// \todo Technically the objectPlug() affects the boundPlug(),
/// but affects isn't currently called for output plugs - see
/// corresponding todo in OSLImage.
outputs.push_back( outPlug()->boundPlug() );
}
}