Changeset 458 for trunk/Tools/fcd2code/TemplateFieldContainerBase_cpp.txt
- Timestamp:
- 12/29/06 10:23:39 (2 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Tools/fcd2code/TemplateFieldContainerBase_cpp.txt
r424 r458 63 63 64 64 @@BeginFieldLoop@@ 65 @@if field.hasDefaultHeader65 @@if field.hasDefaultHeader 66 66 #include @!field.DefaultHeader:30!@ // @!field.Name!@ default header 67 @@endif 67 @@endif // field.hasDefaultHeader 68 68 @@EndFieldLoop@@ 69 69 70 70 @@BeginFieldLoop@@ 71 @@if field.isPtrField72 @@if field.needClassInclude71 @@if field.isPtrField 72 @@if field.needClassInclude 73 73 #include <@!field.ClassInclude!@> // @!field.Name!@ Class 74 @@endif 75 @@endif 74 @@endif // field.isPtrField 75 @@endif // field.needClassInclude 76 76 @@EndFieldLoop@@ 77 77 … … 94 94 \***************************************************************************/ 95 95 96 @@if isDecorator96 @@if isDecorator 97 97 /*! \var @!Parent!@Ptr @!Classname!@Base::_sfDecoratee 98 98 The object being decorated 99 99 */ 100 @@else 101 @@BeginFieldLoop@@100 @@else // isDecorator 101 @@BeginFieldLoop@@ 102 102 /*! \var @!field.Type:15!@ @!Classname!@Base::_@!field.VarName!@ 103 103 @!field.Description!@ 104 104 */ 105 @@EndFieldLoop@@ 106 @@endif 105 106 @@EndFieldLoop@@ 107 @@endif // isDecorator 107 108 108 109 void @!Classname!@Base::classDescInserter(TypeObject &oType) 109 110 { 110 @@if hasFields111 @@if hasFields 111 112 FieldDescriptionBase *pDesc = NULL; 112 113 113 @@endif 114 @@if isDecorator114 @@endif // hasFields 115 @@if isDecorator 115 116 pDesc = new SF@!Parent!@Ptr::Description( 116 117 SF@!Parent!@Ptr::getClassType(), … … 124 125 125 126 oType.addInitialDesc(pDesc); 126 @@else 127 @@BeginFieldLoop@@128 @@if CompatOneSix129 @@if !field.isPtrField127 @@else // isDecorator 128 @@BeginFieldLoop@@ 129 @@if CompatOneSix 130 @@if !field.isPtrField 130 131 131 132 #ifdef OSG_1_COMPAT … … 134 135 Get@!field.CARD!@@!field.Name!@F Get@!field.CARD!@@!field.Name!@ = &@!Classname!@Base::get@!field.CARD!@@!field.Name!@; 135 136 #endif 136 @@endif 137 @@endif 137 @@endif // !field.isPtrField 138 @@endif // CompatOneSix 138 139 139 140 pDesc = new @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps!@::Description( … … 144 145 @!field.Visibility!@, 145 146 @!field.Flags!@, 146 @@if field.isPtrField147 @@if field.isPtrField 147 148 static_cast <FieldEditMethodSig>(&@!Classname!@Base::invalidEditField), 148 @@else149 @@else 149 150 reinterpret_cast<FieldEditMethodSig>(&@!Classname!@Base::edit@!field.CARD!@@!field.Name!@), 150 @@endif 151 @@if !field.isPtrField152 @@if CompatOneSix151 @@endif // field.isPtrField 152 @@if !field.isPtrField 153 @@if CompatOneSix 153 154 #ifdef OSG_1_COMPAT 154 155 reinterpret_cast<FieldGetMethodSig >(Get@!field.CARD!@@!field.Name!@)); … … 156 157 reinterpret_cast<FieldGetMethodSig >(&@!Classname!@Base::get@!field.CARD!@@!field.Name!@)); 157 158 #endif 158 @@else 159 @@else // CompatOneSix 159 160 reinterpret_cast<FieldGetMethodSig >(&@!Classname!@Base::get@!field.CARD!@@!field.Name!@)); 160 @@endif 161 @@else 161 @@endif // CompatOneSix 162 @@else // !field.isPtrField 162 163 reinterpret_cast<FieldGetMethodSig >(&@!Classname!@Base::get@!field.CARD!@@!field.Name!@)); 163 @@endif 164 @@endif // !field.isPtrField 164 165 165 166 oType.addInitialDesc(pDesc); 166 @@EndFieldLoop@@167 @@endif 168 } 169 170 @@endif 167 @@EndFieldLoop@@ 168 @@endif // isDecorator 169 } 170 171 @@endif // hasFields 171 172 172 173 @!Classname!@Base::TypeObject @!Classname!@Base::_type(true, … … 177 178 @@if isAbstract 178 179 NULL, 179 @@else 180 @@else // isAbstract 180 181 (PrototypeCreateF) &@!Classname!@Base::createEmpty, 181 @@endif 182 @@endif // isAbstract 182 183 @!Classname!@::initMethod, 183 184 @@if hasFields 184 185 (InitalInsertDescFunc) &@!Classname!@Base::classDescInserter, 185 @@else 186 @@else // hasFields 186 187 NULL, 187 @@endif 188 @@endif // hasFields 188 189 false, 189 190 @!Fcdxml!@, … … 216 217 } 217 218 218 @@BeginFieldLoop@@219 @@if field.isPtrField219 @@BeginFieldLoop@@ 220 @@if field.isPtrField 220 221 //! Get the @!Classname!@::_@!field.VarName!@ field. 221 222 const @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps!@ *@!Classname!@Base::get@!field.CARD!@@!field.Name!@(void) const … … 230 231 } 231 232 } 232 @@else 233 @@else // field.isPtrField 233 234 @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps!@ *@!Classname!@Base::edit@!field.CARD!@@!field.Name!@(void) 234 235 { … … 254 255 } 255 256 } 256 @@if CompatOneSix257 @@if CompatOneSix 257 258 #ifdef OSG_1_COMPAT 258 259 @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:17!@ *@!Classname!@Base::get@!field.CARD!@@!field.Name:15!@(void) … … 261 262 } 262 263 #endif 263 @@endif 264 @@endif 265 266 @@EndFieldLoop@@267 @@endif 264 @@endif // CompatOneSix 265 @@endif // field.isPtrField 266 267 @@EndFieldLoop@@ 268 @@endif // isDecorator 268 269 269 270 @@if !isDecorator 270 @@BeginFieldLoop@@271 @@if field.isPtrField271 @@BeginFieldLoop@@ 272 @@if field.isPtrField 272 273 //! Get the @!Classname!@::_@!field.VarName!@ field. 273 274 const @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps!@ *@!Classname!@Base::get@!field.CARD!@@!field.Name!@(void) const … … 275 276 return &_@!field.VarName!@; 276 277 } 277 @@else 278 @@else // field.isPtrField 278 279 @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps!@ *@!Classname!@Base::edit@!field.CARD!@@!field.Name!@(void) 279 280 { 280 @@if field.isMField281 @@if field.isMField 281 282 editMField(@!field.Name!@FieldMask, _@!field.VarName!@); 282 @@else 283 @@else // field.isMField 283 284 editSField(@!field.Name!@FieldMask); 284 @@endif 285 @@endif // field.isMField 285 286 286 287 return &_@!field.VarName!@; … … 292 293 } 293 294 294 @@if CompatOneSix295 @@if CompatOneSix 295 296 #ifdef OSG_1_COMPAT 296 297 @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:17!@ *@!Classname!@Base::get@!field.CARD!@@!field.Name:15!@(void) … … 299 300 } 300 301 #endif 301 @@endif 302 @@endif 303 304 @@EndFieldLoop@@305 @@endif 302 @@endif // CompatOneSix 303 @@endif // field.isPtrField 304 305 @@EndFieldLoop@@ 306 @@endif // !isDecorator 306 307 307 308 @@if hasPtrFields … … 311 312 Inherited::pushToField(pNewElement, uiFieldId); 312 313 313 @@BeginFieldLoop@@314 @@if field.isPtrField315 @@if field.isSField314 @@BeginFieldLoop@@ 315 @@if field.isPtrField 316 @@if field.isSField 316 317 if(uiFieldId == @!field.Name!@FieldId) 317 318 { … … 319 320 cast_dynamic<@!field.Type!@>(pNewElement)); 320 321 } 321 @@else 322 @@else // field.isSField 322 323 if(uiFieldId == @!field.Name!@FieldId) 323 324 { … … 325 326 cast_dynamic<@!field.Type!@>(pNewElement)); 326 327 } 327 @@endif 328 @@endif 329 @@EndFieldLoop@@328 @@endif // field.isSField 329 @@endif // field.isPtrField 330 @@EndFieldLoop@@ 330 331 } 331 332 … … 336 337 Inherited::insertIntoMField(uiIndex, pNewElement, uiFieldId); 337 338 338 @@BeginMFFieldLoop@@339 @@if field.isPtrField339 @@BeginMFFieldLoop@@ 340 @@if field.isPtrField 340 341 if(uiFieldId == @!field.Name!@FieldId) 341 342 { … … 344 345 cast_dynamic<@!field.Type!@>(pNewElement)); 345 346 } 346 @@endif 347 @@EndMFFieldLoop@@347 @@endif // field.isPtrField 348 @@EndMFFieldLoop@@ 348 349 } 349 350 … … 354 355 Inherited::replaceInMField(uiIndex, pNewElement, uiFieldId); 355 356 356 @@BeginMFFieldLoop@@357 @@if field.isPtrField357 @@BeginMFFieldLoop@@ 358 @@if field.isPtrField 358 359 if(uiFieldId == @!field.Name!@FieldId) 359 360 { … … 362 363 cast_dynamic<@!field.Type!@>(pNewElement)); 363 364 } 364 @@endif 365 @@EndMFFieldLoop@@365 @@endif // field.isPtrField 366 @@EndMFFieldLoop@@ 366 367 } 367 368 … … 372 373 Inherited::replaceInMField(pOldElement, pNewElement, uiFieldId); 373 374 374 @@BeginMFFieldLoop@@375 @@if field.isPtrField375 @@BeginMFFieldLoop@@ 376 @@if field.isPtrField 376 377 if(uiFieldId == @!field.Name!@FieldId) 377 378 { … … 380 381 cast_dynamic<@!field.Type!@>(pNewElement)); 381 382 } 382 @@endif 383 @@EndMFFieldLoop@@383 @@endif // field.isPtrField 384 @@EndMFFieldLoop@@ 384 385 } 385 386 … … 389 390 Inherited::removeFromMField(uiIndex, uiFieldId); 390 391 391 @@BeginMFFieldLoop@@392 @@if field.isPtrField392 @@BeginMFFieldLoop@@ 393 @@if field.isPtrField 393 394 if(uiFieldId == @!field.Name!@FieldId) 394 395 { … … 396 397 uiIndex); 397 398 } 398 @@endif 399 @@EndMFFieldLoop@@399 @@endif // field.isPtrField 400 @@EndMFFieldLoop@@ 400 401 } 401 402 … … 405 406 Inherited::removeFromMField(pElement, uiFieldId); 406 407 407 @@BeginMFFieldLoop@@408 @@if field.isPtrField408 @@BeginMFFieldLoop@@ 409 @@if field.isPtrField 409 410 if(uiFieldId == @!field.Name!@FieldId) 410 411 { … … 412 413 cast_dynamic<@!field.Type!@>(pElement)); 413 414 } 414 @@endif 415 @@EndMFFieldLoop@@415 @@endif // field.isPtrField 416 @@EndMFFieldLoop@@ 416 417 } 417 418 … … 420 421 Inherited::clearField(uiFieldId); 421 422 422 @@BeginFieldLoop@@423 @@if field.isPtrField424 @@if field.isSField423 @@BeginFieldLoop@@ 424 @@if field.isPtrField 425 @@if field.isSField 425 426 if(uiFieldId == @!field.Name!@FieldId) 426 427 { 427 428 static_cast<@!Classname!@ *>(this)->set@!field.Name!@(NullFC); 428 429 } 429 @@else 430 @@else // field.isSField 430 431 if(uiFieldId == @!field.Name!@FieldId) 431 432 { 432 433 static_cast<@!Classname!@ *>(this)->@!field.ClearField!@(); 433 434 } 434 @@endif 435 @@endif 436 @@EndFieldLoop@@ 437 } 435 @@endif // field.isSField 436 @@endif // field.isPtrField 437 @@EndFieldLoop@@ 438 } 439 @@endif // hasPtrFields 438 440 439 441 @@BeginMFFieldLoop@@ 440 @@if field.isPtrField441 @@if field.writePushToField442 @@if field.isPtrField 443 @@if field.writePushToField 442 444 void @!Classname!@Base::@!field.PushToField!@(@!field.Type!@ConstArg value) 443 445 { 444 @@if field.checkNilPtr446 @@if field.checkNilPtr 445 447 if(value == NullFC) 446 448 return; 447 449 448 @@endif 450 @@endif // field.checkNilPtr 449 451 editMField(@!field.Name!@FieldMask, _@!field.VarName!@); 450 452 … … 452 454 453 455 _mf@!field.Name!@.push_back(value); 454 @@if !field.checkNilPtr456 @@if !field.checkNilPtr 455 457 456 458 if(value == NullFC) 457 459 return; 458 @@endif 459 @@if field.linkMParent460 @@endif // field.checkNilPtr 461 @@if field.linkMParent 460 462 461 463 @!Classname!@Ptr thisP = Inherited::constructPtr<@!Classname!@>( … … 463 465 464 466 value->addParent(thisP, @!field.Name!@FieldMask); 465 @@endif 466 @@if field.linkSParent467 @@endif // field.linkMParent 468 @@if field.linkSParent 467 469 468 470 @!Classname!@Ptr thisP = Inherited::constructPtr<@!Classname!@>( … … 470 472 471 473 value->setParent(thisP, @!field.Name!@FieldMask); 472 @@endif 473 } 474 475 @@endif 476 @@if field.writeInsertIntoMField474 @@endif // field.linkSParent 475 } 476 477 @@endif // field.writePushToField 478 @@if field.writeInsertIntoMField 477 479 void @!Classname!@Base::@!field.InsertIntoMField!@(UInt32 uiIndex, 478 480 @!field.Type!@ConstArg value ) 479 481 { 480 @@if field.checkNilPtr482 @@if field.checkNilPtr 481 483 if(value == NullFC) 482 484 return; 483 485 484 @@endif 486 @@endif // field.checkNilPtr 485 487 editMField(@!field.Name!@FieldMask, _@!field.VarName!@); 486 488 … … 492 494 493 495 _mf@!field.Name!@.insert(fieldIt, value); 494 @@if !field.checkNilPtr496 @@if !field.checkNilPtr 495 497 496 498 if(value == NullFC) 497 499 return; 498 @@endif 499 @@if field.linkMParent500 @@endif // !field.checkNilPtr 501 @@if field.linkMParent 500 502 501 503 @!Classname!@Ptr thisP = Inherited::constructPtr<@!Classname!@>( … … 503 505 504 506 value->addParent(thisP, @!field.Name!@FieldMask); 505 @@endif 506 @@if field.linkSParent507 @@endif // field.linkMParent 508 @@if field.linkSParent 507 509 508 510 @!Classname!@Ptr thisP = Inherited::constructPtr<@!Classname!@>( … … 510 512 511 513 value->setParent(thisP, @!field.Name!@FieldMask); 512 @@endif 513 } 514 515 @@endif 516 @@if field.writeReplaceInMFieldIndex514 @@endif // field.linkSParent 515 } 516 517 @@endif // field.writeInsertIntoMField 518 @@if field.writeReplaceInMFieldIndex 517 519 void @!Classname!@Base::@!field.ReplaceInMFieldIndex!@(UInt32 uiIndex, 518 520 @!field.Type!@ConstArg value ) 519 521 { 520 @@if field.checkNilPtr522 @@if field.checkNilPtr 521 523 if(value == NullFC) 522 524 return; 523 525 524 @@endif 526 @@endif // field.checkNilPtr 525 527 if(uiIndex >= _mf@!field.Name!@.size()) 526 528 return; … … 529 531 530 532 addRef(value); 531 @@if field.linkMParent533 @@if field.linkMParent 532 534 533 535 @!Classname!@Ptr thisP = Inherited::constructPtr<@!Classname!@>( … … 538 540 _mf@!field.Name!@[uiIndex]->subParent(thisP); 539 541 } 540 @@endif 541 @@if field.linkSParent542 @@endif // field.linkMParent 543 @@if field.linkSParent 542 544 543 545 @!Classname!@Ptr thisP = Inherited::constructPtr<@!Classname!@>( … … 548 550 _mf@!field.Name!@[uiIndex]->setParent(thisP, @!field.Name!@FieldMask); 549 551 } 550 @@endif 552 @@endif // field.linkSParent 551 553 552 554 subRef(_mf@!field.Name!@[uiIndex]); 553 555 554 556 _mf@!field.Name!@[uiIndex] = value; 555 @@if !field.checkNilPtr557 @@if !field.checkNilPtr 556 558 557 559 if(value == NullFC) 558 560 return; 559 @@endif 560 @@if field.linkMParent561 @@endif // !field.checkNilPtr 562 @@if field.linkMParent 561 563 562 564 value->addParent(thisP, @!field.Name!@FieldMask); 563 @@endif 564 @@if field.linkSParent565 @@endif // field.linkMParent 566 @@if field.linkSParent 565 567 566 568 value->setParent(thisP, @!field.Name!@FieldMask); 567 @@endif 568 } 569 570 @@endif 571 @@if field.writeReplaceInMFieldObject569 @@endif // field.linkSParent 570 } 571 572 @@endif // field.writeReplaceInMFieldIndex 573 @@if field.writeReplaceInMFieldObject 572 574 void @!Classname!@Base::@!field.ReplaceInMFieldObject!@(@!field.Type!@ConstArg pOldElem, 573 575 @!field.Type!@ConstArg pNewElem) 574 576 { 575 @@if field.checkNilPtr577 @@if field.checkNilPtr 576 578 if(pNewElem == NullFC) 577 579 return; 578 580 579 @@endif 581 @@endif // field.checkNilPtr 580 582 Int32 elemIdx = _mf@!field.Name!@.findIndex(pOldElem); 581 583 … … 588 590 fieldIt += elemIdx; 589 591 590 @@if field.linkMParent592 @@if field.linkMParent 591 593 @!Classname!@Ptr thisP = Inherited::constructPtr<@!Classname!@>( 592 594 static_cast<@!Classname!@ *>(this)); … … 597 599 } 598 600 599 @@if !field.checkNilPtr601 @@if !field.checkNilPtr 600 602 if(pNewElem != NullFC) 601 603 { 602 604 pNewElem->addParent(thisP, @!field.Name!@FieldMask); 603 605 } 604 @@else 606 @@else // !field.checkNilPtr 605 607 pNewElem->addParent(thisP, @!field.Name!@FieldMask); 606 @@endif607 608 @@endif 609 @@if field.linkSParent608 @@endif 609 610 @@endif // field.linkMParent 611 @@if field.linkSParent 610 612 @!Classname!@Ptr thisP = Inherited::constructPtr<@!Classname!@>( 611 613 static_cast<@!Classname!@ *>(this)); … … 621 623 } 622 624 623 @@endif 625 @@endif // field.linkSParent 624 626 addRef(pNewElem); 625 627 subRef(pOldElem); … … 629 631 } 630 632 631 @@endif 632 @@if field.writeRemoveFromMFieldIndex633 @@endif // field.writeReplaceInMFieldObject 634 @@if field.writeRemoveFromMFieldIndex 633 635 void @!Classname!@Base::@!field.RemoveFromMFieldIndex!@(UInt32 uiIndex) 634 636 { … … 641 643 fieldIt += uiIndex; 642 644 643 @@if field.linkMParent645 @@if field.linkMParent 644 646 @!Classname!@Ptr thisP = Inherited::constructPtr<@!Classname!@>( 645 647 static_cast<@!Classname!@ *>(this)); … … 650 652 } 651 653 652 @@endif 653 @@if field.linkSParent654 @@endif // field.linkMParent 655 @@if field.linkSParent 654 656 if(*fieldIt != NullFC) 655 657 { … … 657 659 } 658 660 659 @@endif 661 @@endif // field.linkSParent 660 662 subRef(*fieldIt); 661 663 662 @@if field.isRemoveToSet664 @@if field.isRemoveToSet 663 665 *fieldIt = @!field.RemoveTo!@; 664 @@else 666 @@else // field.isRemoveToSet 665 667 _mf@!field.Name!@.erase(fieldIt); 666 @@endif 667 } 668 } 669 670 @@endif 671 @@if field.writeRemoveFromMFieldObject668 @@endif // field.isRemoveToSet 669 } 670 } 671 672 @@endif // field.writeRemoveFromMFieldIndex 673 @@if field.writeRemoveFromMFieldObject 672 674 void @!Classname!@Base::@!field.RemoveFromMFieldObject!@(@!field.Type!@ConstArg value) 673 675 { … … 682 684 fieldIt += iElemIdx; 683 685 684 @@if field.linkMParent686 @@if field.linkMParent 685 687 @!Classname!@Ptr thisP = Inherited::constructPtr<@!Classname!@>( 686 688 static_cast<@!Classname!@ *>(this)); … … 691 693 } 692 694 693 @@endif 694 @@if field.linkSParent695 @@endif // field.linkMParent 696 @@if field.linkSParent 695 697 if(*fieldIt != NullFC) 696 698 { … … 698 700 } 699 701 700 @@endif 702 @@endif // field.linkSParent 701 703 subRef(*fieldIt); 702 704 703 @@if field.isRemoveToSet705 @@if field.isRemoveToSet 704 706 *fieldIt = @!field.RemoveTo!@; 705 @@else 707 @@else // field.isRemoveToSet 706 708 _mf@!field.Name!@.erase(fieldIt); 707 @@endif 708 } 709 } 710 @@endif 711 @@if field.writeClearField709 @@endif // field.isRemoveToSet 710 } 711 } 712 @@endif // field.writeRemoveFromMFieldObject 713 @@if field.writeClearField 712 714 void @!Classname!@Base::@!field.ClearField!@(void) 713 715 { … … 719 721 while(fieldIt != fieldEnd) 720 722 { 721 @@if field.linkMParent723 @@if field.linkMParent 722 724 @!Classname!@Ptr thisP = Inherited::constructPtr<@!Classname!@>( 723 725 static_cast<@!Classname!@ *>(this)); … … 728 730 } 729 731 730 @@endif 731 @@if field.linkSParent732 @@endif // field.linkMParent 733 @@if field.linkSParent 732 734 if(*fieldIt != NullFC) 733 735 { … … 735 737 } 736 738 737 @@endif 739 @@endif // field.linkSParent 738 740 subRef(*fieldIt); 739 741 740 @@if field.isRemoveToSet742 @@if field.isRemoveToSet 741 743 *fieldIt = @!field.RemoveTo!@; 742 744 743 @@endif 745 @@endif // field.isRemoveToSet 744 746 ++fieldIt; 745 747 } 746 @@if field.doClearMField748 @@if field.doClearMField 747 749 748 750 _mf@!field.Name!@.clear(); 749 @@endif 750 } 751 @@endif 752 753 @@else 751 @@endif // field.doClearMField 752 } 753 @@endif // field.writeClearField 754 755 @@else // field.isPtrField 754 756 /*********************************** Non-ptr code ********************************/ 755 @@if field.writePushToField757 @@if field.writePushToField 756 758 void @!Classname!@Base::@!field.PushToField!@(const @!field.Type!@& value) 757 759 { … … 760 762 } 761 763 762 @@endif 763 @@if field.writeInsertIntoMField764 @@endif // field.writePushToField 765 @@if field.writeInsertIntoMField 764 766 void @!Classname!@Base::@!field.InsertIntoMField!@(UInt32 uiIndex, 765 767 const @!field.Type!@& value ) … … 774 776 } 775 777 776 @@endif 777 @@if field.writeReplaceInMFieldIndex778 @@endif // field.writeInsertIntoMField 779 @@if field.writeReplaceInMFieldIndex 778 780 void @!Classname!@Base::@!field.ReplaceInMFieldIndex!@(UInt32 uiIndex, 779 781 const @!field.Type!@& value ) … … 787 789 } 788 790 789 @@endif 790 @@if field.writeReplaceInMFieldObject791 @@endif // field.writeReplaceInMFieldIndex 792 @@if field.writeReplaceInMFieldObject 791 793 void @!Classname!@Base::@!field.ReplaceInMFieldObject!@(const @!field.Type!@& pOldElem, 792 794 const @!field.Type!@& pNewElem) … … 806 808 } 807 809 808 @@endif 809 @@if field.writeRemoveFromMFieldIndex810 @@endif // field.writeReplaceInMFieldObject 811 @@if field.writeRemoveFromMFieldIndex 810 812 void @!Classname!@Base::@!field.RemoveFromMFieldIndex!@(UInt32 uiIndex) 811 813 { … … 821 823 } 822 824 823 @@endif 824 @@if field.writeRemoveFromMFieldObject825 @@endif // field.writeRemoveFromMFieldIndex 826 @@if field.writeRemoveFromMFieldObject 825 827 void @!Classname!@Base::@!field.RemoveFromMFieldObject!@(const @!field.Type!@& value) 826 828 { … … 839 841 } 840 842 841 @@endif 842 @@if field.writeClearField843 @@endif // field.writeRemoveFromMFieldObject 844 @@if field.writeClearField 843 845 void @!Classname!@Base::@!field.ClearField!@(void) 844 846 { … … 847 849 _mf@!field.Name!@.clear(); 848 850 } 849 @@endif 850 @@endif 851 @@endif // field.writeClearField 852 @@endif // field.isPtrField 851 853 @@EndMFFieldLoop@@ 852 854 853 @@endif854 855 855 856 /*------------------------------ access -----------------------------------*/ … … 864 865 returnValue += _sfDecoratee.getBinSize(); 865 866 } 866 @@else 867 @@BeginFieldLoop@@867 @@else // isDecorator 868 @@BeginFieldLoop@@ 868 869 if(FieldBits::NoField != (@!field.Name!@FieldMask & whichField)) 869 870 { 870 871 returnValue += _@!field.VarName!@.getBinSize(); 871 872 } 872 @@EndFieldLoop@@873 @@endif 873 @@EndFieldLoop@@ 874 @@endif // isDecorator 874 875 875 876 return returnValue; … … 886 887 _sfDecoratee.copyToBin(pMem); 887 888 } 888 @@else 889 @@BeginFieldLoop@@889 @@else // isDecorator 890 @@BeginFieldLoop@@ 890 891 if(FieldBits::NoField != (@!field.Name!@FieldMask & whichField)) 891 892 { 892 893 _@!field.VarName!@.copyToBin(pMem); 893 894 } 894 @@EndFieldLoop@@895 @@endif 895 @@EndFieldLoop@@ 896 @@endif // isDecorator 896 897 } 897 898 … … 906 907 _sfDecoratee.copyFromBin(pMem); 907 908 } 908 @@else 909 @@BeginFieldLoop@@909 @@else // isDecorator 910 @@BeginFieldLoop@@ 910 911 if(FieldBits::NoField != (@!field.Name!@FieldMask & whichField)) 911 912 { 912 913 _@!field.VarName!@.copyFromBin(pMem); 913 914 } 914 @@EndFieldLoop@@915 @@endif 915 @@EndFieldLoop@@ 916 @@endif // isDecorator 916 917 } 917 918 … … 936 937 } 937 938 938 @@endif 939 @@endif // !isAbstract 939 940 940 941 … … 944 945 @@if !hasFields 945 946 Inherited() 946 @@else 947 @@else // !hasFields 947 948 Inherited(), 948 @@if isDecorator949 @@if isDecorator 949 950 _sfDecoratee() 950 @@else 951 @@BeginFieldLoop@@951 @@else // isDecorator 952 @@BeginFieldLoop@@ 952 953 _@!field.VarName:25!@(@!field.TypedDefault!@)@!field.Separator!@ 953 @@EndFieldLoop@@954 @@endif 955 @@endif 954 @@EndFieldLoop@@ 955 @@endif // isDecorator 956 @@endif // !hasFields 956 957 { 957 958 } … … 960 961 @@if !hasFields 961 962 Inherited(source) 962 @@else 963 @@else // !hasFields 963 964 Inherited(source), 964 @@if isDecorator965 @@if isDecorator 965 966 _sfDecoratee(source._sfDecoratee) 966 @@else 967 @@BeginFieldLoop@@968 @@if field.isPtrField967 @@else // isDecorator 968 @@BeginFieldLoop@@ 969 @@if field.isPtrField 969 970 _@!field.VarName:25!@()@!field.Separator!@ 970 @@else 971 @@else // field.isPtrField 971 972 _@!field.VarName:25!@(source._@!field.VarName:25!@)@!field.Separator!@ 972 @@endif 973 @@EndFieldLoop@@974 @@endif 975 @@endif 973 @@endif // field.isPtrField 974 @@EndFieldLoop@@ 975 @@endif // isDecorator 976 @@endif // !hasFields 976 977 { 977 978 } … … 990 991 if(source != NULL) 991 992 { 992 @@BeginFieldLoop@@993 @@if field.isPtrField994 @@if field.isMField993 @@BeginFieldLoop@@ 994 @@if field.isPtrField 995 @@if field.isMField 995 996 996 997 MF@!field.TypeCaps!@::const_iterator @!field.Name!@It = … … 1005 1006 ++@!field.Name!@It; 1006 1007 } 1007 @@else 1008 @@else // field.isMField 1008 1009 1009 1010 this->set@!field.Name!@(source->get@!field.Name!@()); 1010 @@endif 1011 @@endif 1012 @@EndFieldLoop@@1013 } 1014 } 1015 @@endif 1011 @@endif // field.isMField 1012 @@endif // field.isPtrField 1013 @@EndFieldLoop@@ 1014 } 1015 } 1016 @@endif // hasPtrFields 1016 1017 1017 1018 #ifdef OSG_MT_FIELDCONTAINERPTR … … 1066 1067 } 1067 1068 #endif 1068 @@endif 1069 @@endif // !isAbstract 1069 1070 1070 1071 void @!Classname!@Base::resolveLinks(void) … … 1072 1073 Inherited::resolveLinks(); 1073 1074 @@BeginSFFieldLoop@@ 1074 @@if field.isPtrField1075 @@if field.isPtrField 1075 1076 1076 1077 static_cast<@!Classname!@ *>(this)->set@!field.Name!@(NullFC); 1077 @@endif 1078 @@endif // field.isPtrField 1078 1079 @@EndSFFieldLoop@@ 1079 1080 @@BeginMFFieldLoop@@ 1080 @@if field.isPtrField1081 @@if field.isPtrField 1081 1082 1082 1083 static_cast<@!Classname!@ *>(this)->@!field.ClearField!@(); 1083 @@endif 1084 @@endif // field.isPtrField 1084 1085 @@EndMFFieldLoop@@ 1085 1086 } … … 1088 1089 /*------------------------------ get -----------------------------------*/ 1089 1090 1090 @@if !isDecorator1091 @@BeginSFFieldLoop@@1092 @@if field.isPtrField1091 @@if !isDecorator 1092 @@BeginSFFieldLoop@@ 1093 @@if field.isPtrField 1093 1094 1094 1095 //! Get the value of the @!Classname!@::_@!field.VarName!@ field. … … 1105 1106 setRefd(_@!field.VarName!@.getValue(), value); 1106 1107 } 1107 @@else 1108 @@else // field.isPtrField 1108 1109 //! Get the value of the @!Classname!@::_@!field.VarName!@ field. 1109 1110 … … 1121 1122 } 1122 1123 1123 @@if CompatOneSix1124 @@if CompatOneSix 1124 1125 #ifdef OSG_1_COMPAT 1125 1126 @!field.Type:19!@ &@!Classname!@Base::get@!field.Name:15!@(void) … … 1128 1129 } 1129 1130 #endif 1130 @@endifCompatOneSix1131 @@endif // CompatOneSix 1131 1132 1132 1133 //! Set the value of the @!Classname!@::_@!field.VarName!@ field. … … 1137 1138 _@!field.VarName!@.setValue(value); 1138 1139 } 1139 @@endif 1140 @@EndSFFieldLoop@@1141 1142 @@BeginMFFieldLoop@@1140 @@endif // field.isPtrField 1141 @@EndSFFieldLoop@@ 1142 1143 @@BeginMFFieldLoop@@ 1143 1144 //! Get the value of the \a index element the @!Classname!@::_@!field.VarName!@ field. 1144 @@if field.isPtrField1145 @@if field.isPtrField 1145 1146 @!field.Type!@Const @!Classname!@Base::get@!field.Name!@(const UInt32 index) const 1146 @@else 1147 @@else // field.isPtrField 1147 1148 const @!field.Type!@ &@!Classname!@Base::get@!field.Name!@(const UInt32 index) const 1148 @@endif 1149 @@endif // field.isPtrField 1149 1150 { 1150 1151 return _@!field.VarName!@[index]; 1151 1152 } 1152 @@if !field.isPtrField1153 @@if !field.isPtrField 1153 1154 1154 1155 @!field.Type!@ &@!Classname!@Base::edit@!field.Name!@(const UInt32 index) … … 1167 1168 } 1168 1169 1169 @@if CompatOneSix1170 @@if CompatOneSix 1170 1171 #ifdef OSG_1_COMPAT 1171 1172 @!field.Type:19!@ &@!Classname!@Base::get@!field.Name:15!@(const UInt32 index) … … 1180 1181 1181 1182 #endif 1182 @@endif 1183 @@endif 1183 @@endif // CompatOneSix 1184 @@endif // !field.isPtrField 1184 1185 1185 1186 //! Get the @!Classname!@::_@!field.VarName!@ field. … … 1189 1190 } 1190 1191 1191 @@EndMFFieldLoop@@1192 @@else 1193 @@BeginSFFieldLoop@@1194 @@if field.isPtrField1192 @@EndMFFieldLoop@@ 1193 @@else // !isDecorator 1194 @@BeginSFFieldLoop@@ 1195 @@if field.isPtrField 1195 1196 1196 1197 //! Get the value of the @!Classname!@::_@!field.VarName!@ field. … … 1219 1220 } 1220 1221 } 1221 @@else 1222 @@else // field.isPtrField 1222 1223 1223 1224 //! Get the value of the @!Classname!@::_@!field.VarName!@ field. … … 1247 1248 } 1248 1249 1249 @@if CompatOneSix1250 @@if CompatOneSix 1250 1251 #ifdef OSG_1_COMPAT 1251 1252 inline … … 1255 1256 } 1256 1257 #endif 1257 @@endif //CompatOneSix1258 @@endif // CompatOneSix 1258 1259 1259 1260 //! Set the value of the @!Classname!@::_@!field.VarName!@ field. … … 1269 1270 } 1270 1271 } 1271 &n
