- Timestamp:
- 04/04/08 00:28:08 (5 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Source/System/Cluster/Window/SortLast/OSGParallelComposerBase.cpp
r1096 r1098 143 143 "NULL", 144 144 0, 145 (PrototypeCreateF) &ParallelComposerBase::createEmpty ,145 (PrototypeCreateF) &ParallelComposerBase::createEmptyLocal, 146 146 ParallelComposer::initMethod, 147 147 ParallelComposer::exitMethod, … … 350 350 } 351 351 352 //! create a new instance of the class 353 ParallelComposerTransitPtr ParallelComposerBase::createLocal(BitVector bFlags) 354 { 355 ParallelComposerTransitPtr fc; 356 357 if(getClassType().getPrototype() != NullFC) 358 { 359 FieldContainerTransitPtr tmpPtr = 360 getClassType().getPrototype()-> shallowCopyLocal(bFlags); 361 362 fc = dynamic_pointer_cast<ParallelComposer>(tmpPtr); 363 } 364 365 return fc; 366 } 367 352 368 //! create an empty new instance of the class, do not copy the prototype 353 369 ParallelComposerPtr ParallelComposerBase::createEmpty(void) … … 355 371 ParallelComposerPtr returnValue; 356 372 357 newPtr<ParallelComposer>(returnValue); 373 newPtr<ParallelComposer>(returnValue, Thread::getCurrentLocalFlags()); 374 375 returnValue->_pFieldFlags->_bNamespaceMask &= 376 ~Thread::getCurrentLocalFlags(); 377 378 return returnValue; 379 } 380 381 ParallelComposerPtr ParallelComposerBase::createEmptyLocal(BitVector bFlags) 382 { 383 ParallelComposerPtr returnValue; 384 385 newPtr<ParallelComposer>(returnValue, bFlags); 386 387 returnValue->_pFieldFlags->_bNamespaceMask &= ~bFlags; 358 388 359 389 return returnValue; … … 364 394 ParallelComposerPtr tmpPtr; 365 395 366 newPtr(tmpPtr, dynamic_cast<const ParallelComposer *>(this)); 396 newPtr(tmpPtr, 397 dynamic_cast<const ParallelComposer *>(this), 398 Thread::getCurrentLocalFlags()); 399 400 tmpPtr->_pFieldFlags->_bNamespaceMask &= ~Thread::getCurrentLocalFlags(); 367 401 368 402 FieldContainerTransitPtr returnValue(tmpPtr); 403 404 return returnValue; 405 } 406 407 FieldContainerTransitPtr ParallelComposerBase::shallowCopyLocal( 408 BitVector bFlags) const 409 { 410 ParallelComposerPtr tmpPtr; 411 412 newPtr(tmpPtr, dynamic_cast<const ParallelComposer *>(this), bFlags); 413 414 FieldContainerTransitPtr returnValue(tmpPtr); 415 416 tmpPtr->_pFieldFlags->_bNamespaceMask &= ~bFlags; 369 417 370 418 return returnValue;
