- Timestamp:
- 04/04/08 00:28:08 (5 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Source/System/Cluster/Window/SortLast/OSGPipelineComposerBase.cpp
r1096 r1098 159 159 "NULL", 160 160 0, 161 (PrototypeCreateF) &PipelineComposerBase::createEmpty ,161 (PrototypeCreateF) &PipelineComposerBase::createEmptyLocal, 162 162 PipelineComposer::initMethod, 163 163 PipelineComposer::exitMethod, … … 406 406 } 407 407 408 //! create a new instance of the class 409 PipelineComposerTransitPtr PipelineComposerBase::createLocal(BitVector bFlags) 410 { 411 PipelineComposerTransitPtr fc; 412 413 if(getClassType().getPrototype() != NullFC) 414 { 415 FieldContainerTransitPtr tmpPtr = 416 getClassType().getPrototype()-> shallowCopyLocal(bFlags); 417 418 fc = dynamic_pointer_cast<PipelineComposer>(tmpPtr); 419 } 420 421 return fc; 422 } 423 408 424 //! create an empty new instance of the class, do not copy the prototype 409 425 PipelineComposerPtr PipelineComposerBase::createEmpty(void) … … 411 427 PipelineComposerPtr returnValue; 412 428 413 newPtr<PipelineComposer>(returnValue); 429 newPtr<PipelineComposer>(returnValue, Thread::getCurrentLocalFlags()); 430 431 returnValue->_pFieldFlags->_bNamespaceMask &= 432 ~Thread::getCurrentLocalFlags(); 433 434 return returnValue; 435 } 436 437 PipelineComposerPtr PipelineComposerBase::createEmptyLocal(BitVector bFlags) 438 { 439 PipelineComposerPtr returnValue; 440 441 newPtr<PipelineComposer>(returnValue, bFlags); 442 443 returnValue->_pFieldFlags->_bNamespaceMask &= ~bFlags; 414 444 415 445 return returnValue; … … 420 450 PipelineComposerPtr tmpPtr; 421 451 422 newPtr(tmpPtr, dynamic_cast<const PipelineComposer *>(this)); 452 newPtr(tmpPtr, 453 dynamic_cast<const PipelineComposer *>(this), 454 Thread::getCurrentLocalFlags()); 455 456 tmpPtr->_pFieldFlags->_bNamespaceMask &= ~Thread::getCurrentLocalFlags(); 423 457 424 458 FieldContainerTransitPtr returnValue(tmpPtr); 459 460 return returnValue; 461 } 462 463 FieldContainerTransitPtr PipelineComposerBase::shallowCopyLocal( 464 BitVector bFlags) const 465 { 466 PipelineComposerPtr tmpPtr; 467 468 newPtr(tmpPtr, dynamic_cast<const PipelineComposer *>(this), bFlags); 469 470 FieldContainerTransitPtr returnValue(tmpPtr); 471 472 tmpPtr->_pFieldFlags->_bNamespaceMask &= ~bFlags; 425 473 426 474 return returnValue;
