예제 #1
0
void
FeatureModelGraph::runPostMergeOperations(osg::Node* node)
{
   _postMergeOperations->mutex().readLock();
   for( NodeOperationVector::iterator i = _postMergeOperations->begin(); i != _postMergeOperations->end(); ++i )
   {
      i->get()->operator()( node );
   }
   _postMergeOperations->mutex().readUnlock();
}
예제 #2
0
void
FeatureModelGraph::runPostMergeOperations(osg::Node* node)
{
    if ( _postMergeOperations.valid() )
    {
        for( NodeOperationVector::iterator i = _postMergeOperations->begin(); i != _postMergeOperations->end(); ++i )
        {
            i->get()->operator()( node );
        }
    }
}
예제 #3
0
void
ModelSource::firePostProcessors( osg::Node* node )
{
    if ( node )
    {
        // pres:
        _preMergeOps->mutex().readLock();
        for( NodeOperationVector::iterator i = _preMergeOps->begin(); i != _preMergeOps->end(); ++i )
        {
            i->get()->operator()( node );
        }
        _preMergeOps->mutex().readUnlock();

        // posts:
        _postMergeOps->mutex().readLock();
        for( NodeOperationVector::iterator i = _postMergeOps->begin(); i != _postMergeOps->end(); ++i )
        {
            i->get()->operator()( node );
        }
        _postMergeOps->mutex().readUnlock();
    }
}