| 489 | | void VTKMapperBase::insertIntoGeoRoots( UInt32 uiIndex, |
|---|
| 490 | | const NodePtr value ) |
|---|
| 491 | | { |
|---|
| 492 | | if(value == NullFC) |
|---|
| 493 | | return; |
|---|
| 494 | | |
|---|
| | 554 | void VTKMapperBase::removeFromGeoRoots(UInt32 uiIndex) |
|---|
| | 555 | { |
|---|
| | 556 | if(uiIndex < _mfGeoRoots.size()) |
|---|
| | 557 | { |
|---|
| | 558 | editMField(GeoRootsFieldMask, _mfGeoRoots); |
|---|
| | 559 | |
|---|
| | 560 | MFUnrecNodePtr::iterator fieldIt = _mfGeoRoots.begin_nc(); |
|---|
| | 561 | |
|---|
| | 562 | fieldIt += uiIndex; |
|---|
| | 563 | |
|---|
| | 564 | _mfGeoRoots.erase(fieldIt); |
|---|
| | 565 | } |
|---|
| | 566 | } |
|---|
| | 567 | |
|---|
| | 568 | void VTKMapperBase::removeFromGeoRoots(const NodePtr value) |
|---|
| | 569 | { |
|---|
| | 570 | Int32 iElemIdx = _mfGeoRoots.findIndex(value); |
|---|
| | 571 | |
|---|
| | 572 | if(iElemIdx != -1) |
|---|
| | 573 | { |
|---|
| | 574 | editMField(GeoRootsFieldMask, _mfGeoRoots); |
|---|
| | 575 | |
|---|
| | 576 | MFUnrecNodePtr::iterator fieldIt = _mfGeoRoots.begin_nc(); |
|---|
| | 577 | |
|---|
| | 578 | fieldIt += iElemIdx; |
|---|
| | 579 | |
|---|
| | 580 | _mfGeoRoots.erase(fieldIt); |
|---|
| | 581 | } |
|---|
| | 582 | } |
|---|
| | 583 | void VTKMapperBase::clearGeoRoots(void) |
|---|
| | 584 | { |
|---|
| 497 | | MFUnrecNodePtr::iterator fieldIt = _mfGeoRoots.begin_nc(); |
|---|
| 498 | | |
|---|
| 499 | | //addRef(value); |
|---|
| 500 | | |
|---|
| 501 | | fieldIt += uiIndex; |
|---|
| 502 | | |
|---|
| 503 | | _mfGeoRoots.insert(fieldIt, value); |
|---|
| 504 | | } |
|---|
| 505 | | |
|---|
| 506 | | void VTKMapperBase::replaceInGeoRoots( UInt32 uiIndex, |
|---|
| 507 | | const NodePtr value ) |
|---|
| 508 | | { |
|---|
| 509 | | if(value == NullFC) |
|---|
| 510 | | return; |
|---|
| 511 | | |
|---|
| 512 | | if(uiIndex >= _mfGeoRoots.size()) |
|---|
| 513 | | return; |
|---|
| 514 | | |
|---|
| 515 | | editMField(GeoRootsFieldMask, _mfGeoRoots); |
|---|
| 516 | | |
|---|
| 517 | | |
|---|
| 518 | | // addRef(value); |
|---|
| 519 | | // subRef(_mfGeoRoots[uiIndex]); |
|---|
| 520 | | |
|---|
| 521 | | // _mfGeoRoots[uiIndex] = value; |
|---|
| 522 | | |
|---|
| 523 | | _mfGeoRoots.replace(uiIndex, value); |
|---|
| 524 | | } |
|---|
| 525 | | |
|---|
| 526 | | void VTKMapperBase::replaceInGeoRoots(const NodePtr pOldElem, |
|---|
| 527 | | const NodePtr pNewElem) |
|---|
| 528 | | { |
|---|
| 529 | | if(pNewElem == NullFC) |
|---|
| 530 | | return; |
|---|
| 531 | | |
|---|
| 532 | | Int32 elemIdx = _mfGeoRoots.findIndex(pOldElem); |
|---|
| 533 | | |
|---|
| 534 | | if(elemIdx != -1) |
|---|
| 535 | | { |
|---|
| 536 | | editMField(GeoRootsFieldMask, _mfGeoRoots); |
|---|
| 537 | | |
|---|
| 538 | | // MFNodePtr::iterator fieldIt = _mfGeoRoots.begin(); |
|---|
| 539 | | |
|---|
| 540 | | // fieldIt += elemIdx; |
|---|
| 541 | | // addRef(pNewElem); |
|---|
| 542 | | // subRef(pOldElem); |
|---|
| 543 | | |
|---|
| 544 | | // (*fieldIt) = pNewElem; |
|---|
| 545 | | _mfGeoRoots.replace(elemIdx, pNewElem); |
|---|
| 546 | | } |
|---|
| 547 | | } |
|---|
| 548 | | |
|---|
| 549 | | void VTKMapperBase::removeFromGeoRoots(UInt32 uiIndex) |
|---|
| 550 | | { |
|---|
| 551 | | if(uiIndex < _mfGeoRoots.size()) |
|---|
| 552 | | { |
|---|
| 553 | | editMField(GeoRootsFieldMask, _mfGeoRoots); |
|---|
| 554 | | |
|---|
| 555 | | MFUnrecNodePtr::iterator fieldIt = _mfGeoRoots.begin_nc(); |
|---|
| 556 | | |
|---|
| 557 | | fieldIt += uiIndex; |
|---|
| 558 | | |
|---|
| 559 | | //subRef(*fieldIt); |
|---|
| 560 | | |
|---|
| 561 | | _mfGeoRoots.erase(fieldIt); |
|---|
| 562 | | } |
|---|
| 563 | | } |
|---|
| 564 | | |
|---|
| 565 | | void VTKMapperBase::removeFromGeoRoots(const NodePtr value) |
|---|
| 566 | | { |
|---|
| 567 | | Int32 iElemIdx = _mfGeoRoots.findIndex(value); |
|---|
| 568 | | |
|---|
| 569 | | if(iElemIdx != -1) |
|---|
| 570 | | { |
|---|
| 571 | | editMField(GeoRootsFieldMask, _mfGeoRoots); |
|---|
| 572 | | |
|---|
| 573 | | MFUnrecNodePtr::iterator fieldIt = _mfGeoRoots.begin_nc(); |
|---|
| 574 | | |
|---|
| 575 | | fieldIt += iElemIdx; |
|---|
| 576 | | |
|---|
| 577 | | //subRef(*fieldIt); |
|---|
| 578 | | |
|---|
| 579 | | _mfGeoRoots.erase(fieldIt); |
|---|
| 580 | | } |
|---|
| 581 | | } |
|---|
| 582 | | void VTKMapperBase::clearGeoRoots(void) |
|---|
| 583 | | { |
|---|
| 584 | | editMField(GeoRootsFieldMask, _mfGeoRoots); |
|---|
| 585 | | |
|---|
| 619 | | void VTKMapperBase::insertIntoGeometries( UInt32 uiIndex, |
|---|
| 620 | | const GeometryPtr value ) |
|---|
| 621 | | { |
|---|
| 622 | | if(value == NullFC) |
|---|
| 623 | | return; |
|---|
| 624 | | |
|---|
| | 615 | void VTKMapperBase::removeFromGeometries(UInt32 uiIndex) |
|---|
| | 616 | { |
|---|
| | 617 | if(uiIndex < _mfGeometries.size()) |
|---|
| | 618 | { |
|---|
| | 619 | editMField(GeometriesFieldMask, _mfGeometries); |
|---|
| | 620 | |
|---|
| | 621 | MFUnrecGeometryPtr::iterator fieldIt = _mfGeometries.begin_nc(); |
|---|
| | 622 | |
|---|
| | 623 | fieldIt += uiIndex; |
|---|
| | 624 | |
|---|
| | 625 | _mfGeometries.erase(fieldIt); |
|---|
| | 626 | } |
|---|
| | 627 | } |
|---|
| | 628 | |
|---|
| | 629 | void VTKMapperBase::removeFromGeometries(const GeometryPtr value) |
|---|
| | 630 | { |
|---|
| | 631 | Int32 iElemIdx = _mfGeometries.findIndex(value); |
|---|
| | 632 | |
|---|
| | 633 | if(iElemIdx != -1) |
|---|
| | 634 | { |
|---|
| | 635 | editMField(GeometriesFieldMask, _mfGeometries); |
|---|
| | 636 | |
|---|
| | 637 | MFUnrecGeometryPtr::iterator fieldIt = _mfGeometries.begin_nc(); |
|---|
| | 638 | |
|---|
| | 639 | fieldIt += iElemIdx; |
|---|
| | 640 | |
|---|
| | 641 | _mfGeometries.erase(fieldIt); |
|---|
| | 642 | } |
|---|
| | 643 | } |
|---|
| | 644 | void VTKMapperBase::clearGeometries(void) |
|---|
| | 645 | { |
|---|
| 627 | | MFUnrecGeometryPtr::iterator fieldIt = _mfGeometries.begin_nc(); |
|---|
| 628 | | |
|---|
| 629 | | //addRef(value); |
|---|
| 630 | | |
|---|
| 631 | | fieldIt += uiIndex; |
|---|
| 632 | | |
|---|
| 633 | | _mfGeometries.insert(fieldIt, value); |
|---|
| 634 | | } |
|---|
| 635 | | |
|---|
| 636 | | void VTKMapperBase::replaceInGeometries( UInt32 uiIndex, |
|---|
| 637 | | const GeometryPtr value ) |
|---|
| 638 | | { |
|---|
| 639 | | if(value == NullFC) |
|---|
| 640 | | return; |
|---|
| 641 | | |
|---|
| 642 | | if(uiIndex >= _mfGeometries.size()) |
|---|
| 643 | | return; |
|---|
| 644 | | |
|---|
| 645 | | editMField(GeometriesFieldMask, _mfGeometries); |
|---|
| 646 | | |
|---|
| 647 | | |
|---|
| 648 | | // addRef(value); |
|---|
| 649 | | // subRef(_mfGeometries[uiIndex]); |
|---|
| 650 | | |
|---|
| 651 | | // _mfGeometries[uiIndex] = value; |
|---|
| 652 | | |
|---|
| 653 | | _mfGeometries.replace(uiIndex, value); |
|---|
| 654 | | } |
|---|
| 655 | | |
|---|
| 656 | | void VTKMapperBase::replaceInGeometries(const GeometryPtr pOldElem, |
|---|
| 657 | | const GeometryPtr pNewElem) |
|---|
| 658 | | { |
|---|
| 659 | | if(pNewElem == NullFC) |
|---|
| 660 | | return; |
|---|
| 661 | | |
|---|
| 662 | | Int32 elemIdx = _mfGeometries.findIndex(pOldElem); |
|---|
| 663 | | |
|---|
| 664 | | if(elemIdx != -1) |
|---|
| 665 | | { |
|---|
| 666 | | editMField(GeometriesFieldMask, _mfGeometries); |
|---|
| 667 | | |
|---|
| 668 | | // MFGeometryPtr::iterator fieldIt = _mfGeometries.begin(); |
|---|
| 669 | | |
|---|
| 670 | | // fieldIt += elemIdx; |
|---|
| 671 | | // addRef(pNewElem); |
|---|
| 672 | | // subRef(pOldElem); |
|---|
| 673 | | |
|---|
| 674 | | // (*fieldIt) = pNewElem; |
|---|
| 675 | | _mfGeometries.replace(elemIdx, pNewElem); |
|---|
| 676 | | } |
|---|
| 677 | | } |
|---|
| 678 | | |
|---|
| 679 | | void VTKMapperBase::removeFromGeometries(UInt32 uiIndex) |
|---|
| 680 | | { |
|---|
| 681 | | if(uiIndex < _mfGeometries.size()) |
|---|
| 682 | | { |
|---|
| 683 | | editMField(GeometriesFieldMask, _mfGeometries); |
|---|
| 684 | | |
|---|
| 685 | | MFUnrecGeometryPtr::iterator fieldIt = _mfGeometries.begin_nc(); |
|---|
| 686 | | |
|---|
| 687 | | fieldIt += uiIndex; |
|---|
| 688 | | |
|---|
| 689 | | //subRef(*fieldIt); |
|---|
| 690 | | |
|---|
| 691 | | _mfGeometries.erase(fieldIt); |
|---|
| 692 | | } |
|---|
| 693 | | } |
|---|
| 694 | | |
|---|
| 695 | | void VTKMapperBase::removeFromGeometries(const GeometryPtr value) |
|---|
| 696 | | { |
|---|
| 697 | | Int32 iElemIdx = _mfGeometries.findIndex(value); |
|---|
| 698 | | |
|---|
| 699 | | if(iElemIdx != -1) |
|---|
| 700 | | { |
|---|
| 701 | | editMField(GeometriesFieldMask, _mfGeometries); |
|---|
| 702 | | |
|---|
| 703 | | MFUnrecGeometryPtr::iterator fieldIt = _mfGeometries.begin_nc(); |
|---|
| 704 | | |
|---|
| 705 | | fieldIt += iElemIdx; |
|---|
| 706 | | |
|---|
| 707 | | //subRef(*fieldIt); |
|---|
| 708 | | |
|---|
| 709 | | _mfGeometries.erase(fieldIt); |
|---|
| 710 | | } |
|---|
| 711 | | } |
|---|
| 712 | | void VTKMapperBase::clearGeometries(void) |
|---|
| 713 | | { |
|---|
| 714 | | editMField(GeometriesFieldMask, _mfGeometries); |
|---|
| 715 | | |
|---|
| 749 | | void VTKMapperBase::insertIntoMaterials( UInt32 uiIndex, |
|---|
| 750 | | const ChunkMaterialPtr value ) |
|---|
| 751 | | { |
|---|
| 752 | | if(value == NullFC) |
|---|
| 753 | | return; |
|---|
| 754 | | |
|---|
| | 676 | void VTKMapperBase::removeFromMaterials(UInt32 uiIndex) |
|---|
| | 677 | { |
|---|
| | 678 | if(uiIndex < _mfMaterials.size()) |
|---|
| | 679 | { |
|---|
| | 680 | editMField(MaterialsFieldMask, _mfMaterials); |
|---|
| | 681 | |
|---|
| | 682 | MFUnrecChunkMaterialPtr::iterator fieldIt = _mfMaterials.begin_nc(); |
|---|
| | 683 | |
|---|
| | 684 | fieldIt += uiIndex; |
|---|
| | 685 | |
|---|
| | 686 | _mfMaterials.erase(fieldIt); |
|---|
| | 687 | } |
|---|
| | 688 | } |
|---|
| | 689 | |
|---|
| | 690 | void VTKMapperBase::removeFromMaterials(const ChunkMaterialPtr value) |
|---|
| | 691 | { |
|---|
| | 692 | Int32 iElemIdx = _mfMaterials.findIndex(value); |
|---|
| | 693 | |
|---|
| | 694 | if(iElemIdx != -1) |
|---|
| | 695 | { |
|---|
| | 696 | editMField(MaterialsFieldMask, _mfMaterials); |
|---|
| | 697 | |
|---|
| | 698 | MFUnrecChunkMaterialPtr::iterator fieldIt = _mfMaterials.begin_nc(); |
|---|
| | 699 | |
|---|
| | 700 | fieldIt += iElemIdx; |
|---|
| | 701 | |
|---|
| | 702 | _mfMaterials.erase(fieldIt); |
|---|
| | 703 | } |
|---|
| | 704 | } |
|---|
| | 705 | void VTKMapperBase::clearMaterials(void) |
|---|
| | 706 | { |
|---|
| 757 | | MFUnrecChunkMaterialPtr::iterator fieldIt = _mfMaterials.begin_nc(); |
|---|
| 758 | | |
|---|
| 759 | | //addRef(value); |
|---|
| 760 | | |
|---|
| 761 | | fieldIt += uiIndex; |
|---|
| 762 | | |
|---|
| 763 | | _mfMaterials.insert(fieldIt, value); |
|---|
| 764 | | } |
|---|
| 765 | | |
|---|
| 766 | | void VTKMapperBase::replaceInMaterials( UInt32 uiIndex, |
|---|
| 767 | | const ChunkMaterialPtr value ) |
|---|
| 768 | | { |
|---|
| 769 | | if(value == NullFC) |
|---|
| 770 | | return; |
|---|
| 771 | | |
|---|
| 772 | | if(uiIndex >= _mfMaterials.size()) |
|---|
| 773 | | return; |
|---|
| 774 | | |
|---|
| 775 | | editMField(MaterialsFieldMask, _mfMaterials); |
|---|
| 776 | | |
|---|
| 777 | | |
|---|
| 778 | | // addRef(value); |
|---|
| 779 | | // subRef(_mfMaterials[uiIndex]); |
|---|
| 780 | | |
|---|
| 781 | | // _mfMaterials[uiIndex] = value; |
|---|
| 782 | | |
|---|
| 783 | | _mfMaterials.replace(uiIndex, value); |
|---|
| 784 | | } |
|---|
| 785 | | |
|---|
| 786 | | void VTKMapperBase::replaceInMaterials(const ChunkMaterialPtr pOldElem, |
|---|
| 787 | | const ChunkMaterialPtr pNewElem) |
|---|
| 788 | | { |
|---|
| 789 | | if(pNewElem == NullFC) |
|---|
| 790 | | return; |
|---|
| 791 | | |
|---|
| 792 | | Int32 elemIdx = _mfMaterials.findIndex(pOldElem); |
|---|
| 793 | | |
|---|
| 794 | | if(elemIdx != -1) |
|---|
| 795 | | { |
|---|
| 796 | | editMField(MaterialsFieldMask, _mfMaterials); |
|---|
| 797 | | |
|---|
| 798 | | // MFChunkMaterialPtr::iterator fieldIt = _mfMaterials.begin(); |
|---|
| 799 | | |
|---|
| 800 | | // fieldIt += elemIdx; |
|---|
| 801 | | // addRef(pNewElem); |
|---|
| 802 | | // subRef(pOldElem); |
|---|
| 803 | | |
|---|
| 804 | | // (*fieldIt) = pNewElem; |
|---|
| 805 | | _mfMaterials.replace(elemIdx, pNewElem); |
|---|
| 806 | | } |
|---|
| 807 | | } |
|---|
| 808 | | |
|---|
| 809 | | void VTKMapperBase::removeFromMaterials(UInt32 uiIndex) |
|---|
| 810 | | { |
|---|
| 811 | | if(uiIndex < _mfMaterials.size()) |
|---|
| 812 | | { |
|---|
| 813 | | editMField(MaterialsFieldMask, _mfMaterials); |
|---|
| 814 | | |
|---|
| 815 | | MFUnrecChunkMaterialPtr::iterator fieldIt = _mfMaterials.begin_nc(); |
|---|
| 816 | | |
|---|
| 817 | | fieldIt += uiIndex; |
|---|
| 818 | | |
|---|
| 819 | | //subRef(*fieldIt); |
|---|
| 820 | | |
|---|
| 821 | | _mfMaterials.erase(fieldIt); |
|---|
| 822 | | } |
|---|
| 823 | | } |
|---|
| 824 | | |
|---|
| 825 | | void VTKMapperBase::removeFromMaterials(const ChunkMaterialPtr value) |
|---|
| 826 | | { |
|---|
| 827 | | Int32 iElemIdx = _mfMaterials.findIndex(value); |
|---|
| 828 | | |
|---|
| 829 | | if(iElemIdx != -1) |
|---|
| 830 | | { |
|---|
| 831 | | editMField(MaterialsFieldMask, _mfMaterials); |
|---|
| 832 | | |
|---|
| 833 | | MFUnrecChunkMaterialPtr::iterator fieldIt = _mfMaterials.begin_nc(); |
|---|
| 834 | | |
|---|
| 835 | | fieldIt += iElemIdx; |
|---|
| 836 | | |
|---|
| 837 | | //subRef(*fieldIt); |
|---|
| 838 | | |
|---|
| 839 | | _mfMaterials.erase(fieldIt); |
|---|
| 840 | | } |
|---|
| 841 | | } |
|---|
| 842 | | void VTKMapperBase::clearMaterials(void) |
|---|
| 843 | | { |
|---|
| 844 | | editMField(MaterialsFieldMask, _mfMaterials); |
|---|
| 845 | | |
|---|
| 879 | | void VTKMapperBase::insertIntoMaterialChunks( UInt32 uiIndex, |
|---|
| 880 | | const MaterialChunkPtr value ) |
|---|
| 881 | | { |
|---|
| 882 | | if(value == NullFC) |
|---|
| 883 | | return; |
|---|
| 884 | | |
|---|
| | 737 | void VTKMapperBase::removeFromMaterialChunks(UInt32 uiIndex) |
|---|
| | 738 | { |
|---|
| | 739 | if(uiIndex < _mfMaterialChunks.size()) |
|---|
| | 740 | { |
|---|
| | 741 | editMField(MaterialChunksFieldMask, _mfMaterialChunks); |
|---|
| | 742 | |
|---|
| | 743 | MFUnrecMaterialChunkPtr::iterator fieldIt = _mfMaterialChunks.begin_nc(); |
|---|
| | 744 | |
|---|
| | 745 | fieldIt += uiIndex; |
|---|
| | 746 | |
|---|
| | 747 | _mfMaterialChunks.erase(fieldIt); |
|---|
| | 748 | } |
|---|
| | 749 | } |
|---|
| | 750 | |
|---|
| | 751 | void VTKMapperBase::removeFromMaterialChunks(const MaterialChunkPtr value) |
|---|
| | 752 | { |
|---|
| | 753 | Int32 iElemIdx = _mfMaterialChunks.findIndex(value); |
|---|
| | 754 | |
|---|
| | 755 | if(iElemIdx != -1) |
|---|
| | 756 | { |
|---|
| | 757 | editMField(MaterialChunksFieldMask, _mfMaterialChunks); |
|---|
| | 758 | |
|---|
| | 759 | MFUnrecMaterialChunkPtr::iterator fieldIt = _mfMaterialChunks.begin_nc(); |
|---|
| | 760 | |
|---|
| | 761 | fieldIt += iElemIdx; |
|---|
| | 762 | |
|---|
| | 763 | _mfMaterialChunks.erase(fieldIt); |
|---|
| | 764 | } |
|---|
| | 765 | } |
|---|
| | 766 | void VTKMapperBase::clearMaterialChunks(void) |
|---|
| | 767 | { |
|---|
| 887 | | MFUnrecMaterialChunkPtr::iterator fieldIt = _mfMaterialChunks.begin_nc(); |
|---|
| 888 | | |
|---|
| 889 | | //addRef(value); |
|---|
| 890 | | |
|---|
| 891 | | fieldIt += uiIndex; |
|---|
| 892 | | |
|---|
| 893 | | _mfMaterialChunks.insert(fieldIt, value); |
|---|
| 894 | | } |
|---|
| 895 | | |
|---|
| 896 | | void VTKMapperBase::replaceInMaterialChunks( UInt32 uiIndex, |
|---|
| 897 | | const MaterialChunkPtr value ) |
|---|
| 898 | | { |
|---|
| 899 | | if(value == NullFC) |
|---|
| 900 | | return; |
|---|
| 901 | | |
|---|
| 902 | | if(uiIndex >= _mfMaterialChunks.size()) |
|---|
| 903 | | return; |
|---|
| 904 | | |
|---|
| 905 | | editMField(MaterialChunksFieldMask, _mfMaterialChunks); |
|---|
| 906 | | |
|---|
| 907 | | |
|---|
| 908 | | // addRef(value); |
|---|
| 909 | | // subRef(_mfMaterialChunks[uiIndex]); |
|---|
| 910 | | |
|---|
| 911 | | // _mfMaterialChunks[uiIndex] = value; |
|---|
| 912 | | |
|---|
| 913 | | _mfMaterialChunks.replace(uiIndex, value); |
|---|
| 914 | | } |
|---|
| 915 | | |
|---|
| 916 | | void VTKMapperBase::replaceInMaterialChunks(const MaterialChunkPtr pOldElem, |
|---|
| 917 | | const MaterialChunkPtr pNewElem) |
|---|
| 918 | | { |
|---|
| 919 | | if(pNewElem == NullFC) |
|---|
| 920 | | return; |
|---|
| 921 | | |
|---|
| 922 | | Int32 elemIdx = _mfMaterialChunks.findIndex(pOldElem); |
|---|
| 923 | | |
|---|
| 924 | | if(elemIdx != -1) |
|---|
| 925 | | { |
|---|
| 926 | | editMField(MaterialChunksFieldMask, _mfMaterialChunks); |
|---|
| 927 | | |
|---|
| 928 | | // MFMaterialChunkPtr::iterator fieldIt = _mfMaterialChunks.begin(); |
|---|
| 929 | | |
|---|
| 930 | | // fieldIt += elemIdx; |
|---|
| 931 | | // addRef(pNewElem); |
|---|
| 932 | | // subRef(pOldElem); |
|---|
| 933 | | |
|---|
| 934 | | // (*fieldIt) = pNewElem; |
|---|
| 935 | | _mfMaterialChunks.replace(elemIdx, pNewElem); |
|---|
| 936 | | } |
|---|
| 937 | | } |
|---|
| 938 | | |
|---|
| 939 | | void VTKMapperBase::removeFromMaterialChunks(UInt32 uiIndex) |
|---|
| 940 | | { |
|---|
| 941 | | if(uiIndex < _mfMaterialChunks.size()) |
|---|
| 942 | | { |
|---|
| 943 | | editMField(MaterialChunksFieldMask, _mfMaterialChunks); |
|---|
| 944 | | |
|---|
| 945 | | MFUnrecMaterialChunkPtr::iterator fieldIt = _mfMaterialChunks.begin_nc(); |
|---|
| 946 | | |
|---|
| 947 | | fieldIt += uiIndex; |
|---|
| 948 | | |
|---|
| 949 | | //subRef(*fieldIt); |
|---|
| 950 | | |
|---|
| 951 | | _mfMaterialChunks.erase(fieldIt); |
|---|
| 952 | | } |
|---|
| 953 | | } |
|---|
| 954 | | |
|---|
| 955 | | void VTKMapperBase::removeFromMaterialChunks(const MaterialChunkPtr value) |
|---|
| 956 | | { |
|---|
| 957 | | Int32 iElemIdx = _mfMaterialChunks.findIndex(value); |
|---|
| 958 | | |
|---|
| 959 | | if(iElemIdx != -1) |
|---|
| 960 | | { |
|---|
| 961 | | editMField(MaterialChunksFieldMask, _mfMaterialChunks); |
|---|
| 962 | | |
|---|
| 963 | | MFUnrecMaterialChunkPtr::iterator fieldIt = _mfMaterialChunks.begin_nc(); |
|---|
| 964 | | |
|---|
| 965 | | fieldIt += iElemIdx; |
|---|
| 966 | | |
|---|
| 967 | | //subRef(*fieldIt); |
|---|
| 968 | | |
|---|
| 969 | | _mfMaterialChunks.erase(fieldIt); |
|---|
| 970 | | } |
|---|
| 971 | | } |
|---|
| 972 | | void VTKMapperBase::clearMaterialChunks(void) |
|---|
| 973 | | { |
|---|
| 974 | | editMField(MaterialChunksFieldMask, _mfMaterialChunks); |
|---|
| 975 | | |
|---|
| 1009 | | void VTKMapperBase::insertIntoPositions( UInt32 uiIndex, |
|---|
| 1010 | | const GeoPnt3fPropertyPtr value ) |
|---|
| 1011 | | { |
|---|
| 1012 | | if(value == NullFC) |
|---|
| 1013 | | return; |
|---|
| 1014 | | |
|---|
| | 798 | void VTKMapperBase::removeFromPositions(UInt32 uiIndex) |
|---|
| | 799 | { |
|---|
| | 800 | if(uiIndex < _mfPositions.size()) |
|---|
| | 801 | { |
|---|
| | 802 | editMField(PositionsFieldMask, _mfPositions); |
|---|
| | 803 | |
|---|
| | 804 | MFUnrecGeoPnt3fPropertyPtr::iterator fieldIt = _mfPositions.begin_nc(); |
|---|
| | 805 | |
|---|
| | 806 | fieldIt += uiIndex; |
|---|
| | 807 | |
|---|
| | 808 | _mfPositions.erase(fieldIt); |
|---|
| | 809 | } |
|---|
| | 810 | } |
|---|
| | 811 | |
|---|
| | 812 | void VTKMapperBase::removeFromPositions(const GeoPnt3fPropertyPtr value) |
|---|
| | 813 | { |
|---|
| | 814 | Int32 iElemIdx = _mfPositions.findIndex(value); |
|---|
| | 815 | |
|---|
| | 816 | if(iElemIdx != -1) |
|---|
| | 817 | { |
|---|
| | 818 | editMField(PositionsFieldMask, _mfPositions); |
|---|
| | 819 | |
|---|
| | 820 | MFUnrecGeoPnt3fPropertyPtr::iterator fieldIt = _mfPositions.begin_nc(); |
|---|
| | 821 | |
|---|
| | 822 | fieldIt += iElemIdx; |
|---|
| | 823 | |
|---|
| | 824 | _mfPositions.erase(fieldIt); |
|---|
| | 825 | } |
|---|
| | 826 | } |
|---|
| | 827 | void VTKMapperBase::clearPositions(void) |
|---|
| | 828 | { |
|---|
| 1017 | | MFUnrecGeoPnt3fPropertyPtr::iterator fieldIt = _mfPositions.begin_nc(); |
|---|
| 1018 | | |
|---|
| 1019 | | //addRef(value); |
|---|
| 1020 | | |
|---|
| 1021 | | fieldIt += uiIndex; |
|---|
| 1022 | | |
|---|
| 1023 | | _mfPositions.insert(fieldIt, value); |
|---|
| 1024 | | } |
|---|
| 1025 | | |
|---|
| 1026 | | void VTKMapperBase::replaceInPositions( UInt32 uiIndex, |
|---|
| 1027 | | const GeoPnt3fPropertyPtr value ) |
|---|
| 1028 | | { |
|---|
| 1029 | | if(value == NullFC) |
|---|
| 1030 | | return; |
|---|
| 1031 | | |
|---|
| 1032 | | if(uiIndex >= _mfPositions.size()) |
|---|
| 1033 | | return; |
|---|
| 1034 | | |
|---|
| 1035 | | editMField(PositionsFieldMask, _mfPositions); |
|---|
| 1036 | | |
|---|
| 1037 | | |
|---|
| 1038 | | // addRef(value); |
|---|
| 1039 | | // subRef(_mfPositions[uiIndex]); |
|---|
| 1040 | | |
|---|
| 1041 | | // _mfPositions[uiIndex] = value; |
|---|
| 1042 | | |
|---|
| 1043 | | _mfPositions.replace(uiIndex, value); |
|---|
| 1044 | | } |
|---|
| 1045 | | |
|---|
| 1046 | | void VTKMapperBase::replaceInPositions(const GeoPnt3fPropertyPtr pOldElem, |
|---|
| 1047 | | const GeoPnt3fPropertyPtr pNewElem) |
|---|
| 1048 | | { |
|---|
| 1049 | | if(pNewElem == NullFC) |
|---|
| 1050 | | return; |
|---|
| 1051 | | |
|---|
| 1052 | | Int32 elemIdx = _mfPositions.findIndex(pOldElem); |
|---|
| 1053 | | |
|---|
| 1054 | | if(elemIdx != -1) |
|---|
| 1055 | | { |
|---|
| 1056 | | editMField(PositionsFieldMask, _mfPositions); |
|---|
| 1057 | | |
|---|
| 1058 | | // MFGeoPnt3fPropertyPtr::iterator fieldIt = _mfPositions.begin(); |
|---|
| 1059 | | |
|---|
| 1060 | | // fieldIt += elemIdx; |
|---|
| 1061 | | // addRef(pNewElem); |
|---|
| 1062 | | // subRef(pOldElem); |
|---|
| 1063 | | |
|---|
| 1064 | | // (*fieldIt) = pNewElem; |
|---|
| 1065 | | _mfPositions.replace(elemIdx, pNewElem); |
|---|
| 1066 | | } |
|---|
| 1067 | | } |
|---|
| 1068 | | |
|---|
| 1069 | | void VTKMapperBase::removeFromPositions(UInt32 uiIndex) |
|---|
| 1070 | | { |
|---|
| 1071 | | if(uiIndex < _mfPositions.size()) |
|---|
| 1072 | | { |
|---|
| 1073 | | editMField(PositionsFieldMask, _mfPositions); |
|---|
| 1074 | | |
|---|
| 1075 | | MFUnrecGeoPnt3fPropertyPtr::iterator fieldIt = _mfPositions.begin_nc(); |
|---|
| 1076 | | |
|---|
| 1077 | | fieldIt += uiIndex; |
|---|
| 1078 | | |
|---|
| 1079 | | //subRef(*fieldIt); |
|---|
| 1080 | | |
|---|
| 1081 | | _mfPositions.erase(fieldIt); |
|---|
| 1082 | | } |
|---|
| 1083 | | } |
|---|
| 1084 | | |
|---|
| 1085 | | void VTKMapperBase::removeFromPositions(const GeoPnt3fPropertyPtr value) |
|---|
| 1086 | | { |
|---|
| 1087 | | Int32 iElemIdx = _mfPositions.findIndex(value); |
|---|
| 1088 | | |
|---|
| 1089 | | if(iElemIdx != -1) |
|---|
| 1090 | | { |
|---|
| 1091 | | editMField(PositionsFieldMask, _mfPositions); |
|---|
| 1092 | | |
|---|
| 1093 | | MFUnrecGeoPnt3fPropertyPtr::iterator fieldIt = _mfPositions.begin_nc(); |
|---|
| 1094 | | |
|---|
| 1095 | | fieldIt += iElemIdx; |
|---|
| 1096 | | |
|---|
| 1097 | | //subRef(*fieldIt); |
|---|
| 1098 | | |
|---|
| 1099 | | _mfPositions.erase(fieldIt); |
|---|
| 1100 | | } |
|---|
| 1101 | | } |
|---|
| 1102 | | void VTKMapperBase::clearPositions(void) |
|---|
| 1103 | | { |
|---|
| 1104 | | editMField(PositionsFieldMask, _mfPositions); |
|---|
| 1105 | | |
|---|
| 1139 | | void VTKMapperBase::insertIntoLength( UInt32 uiIndex, |
|---|
| 1140 | | const GeoUInt32PropertyPtr value ) |
|---|
| 1141 | | { |
|---|
| 1142 | | if(value == NullFC) |
|---|
| 1143 | | return; |
|---|
| 1144 | | |
|---|
| | 859 | void VTKMapperBase::removeFromLength(UInt32 uiIndex) |
|---|
| | 860 | { |
|---|
| | 861 | if(uiIndex < _mfLength.size()) |
|---|
| | 862 | { |
|---|
| | 863 | editMField(LengthFieldMask, _mfLength); |
|---|
| | 864 | |
|---|
| | 865 | MFUnrecGeoUInt32PropertyPtr::iterator fieldIt = _mfLength.begin_nc(); |
|---|
| | 866 | |
|---|
| | 867 | fieldIt += uiIndex; |
|---|
| | 868 | |
|---|
| | 869 | _mfLength.erase(fieldIt); |
|---|
| | 870 | } |
|---|
| | 871 | } |
|---|
| | 872 | |
|---|
| | 873 | void VTKMapperBase::removeFromLength(const GeoUInt32PropertyPtr value) |
|---|
| | 874 | { |
|---|
| | 875 | Int32 iElemIdx = _mfLength.findIndex(value); |
|---|
| | 876 | |
|---|
| | 877 | if(iElemIdx != -1) |
|---|
| | 878 | { |
|---|
| | 879 | editMField(LengthFieldMask, _mfLength); |
|---|
| | 880 | |
|---|
| | 881 | MFUnrecGeoUInt32PropertyPtr::iterator fieldIt = _mfLength.begin_nc(); |
|---|
| | 882 | |
|---|
| | 883 | fieldIt += iElemIdx; |
|---|
| | 884 | |
|---|
| | 885 | _mfLength.erase(fieldIt); |
|---|
| | 886 | } |
|---|
| | 887 | } |
|---|
| | 888 | void VTKMapperBase::clearLength(void) |
|---|
| | 889 | { |
|---|
| 1147 | | MFUnrecGeoUInt32PropertyPtr::iterator fieldIt = _mfLength.begin_nc(); |
|---|
| 1148 | | |
|---|
| 1149 | | //addRef(value); |
|---|
| 1150 | | |
|---|
| 1151 | | fieldIt += uiIndex; |
|---|
| 1152 | | |
|---|
| 1153 | | _mfLength.insert(fieldIt, value); |
|---|
| 1154 | | } |
|---|
| 1155 | | |
|---|
| 1156 | | void VTKMapperBase::replaceInLength( UInt32 uiIndex, |
|---|
| 1157 | | const GeoUInt32PropertyPtr value ) |
|---|
| 1158 | | { |
|---|
| 1159 | | if(value == NullFC) |
|---|
| 1160 | | return; |
|---|
| 1161 | | |
|---|
| 1162 | | if(uiIndex >= _mfLength.size()) |
|---|
| 1163 | | return; |
|---|
| 1164 | | |
|---|
| 1165 | | editMField(LengthFieldMask, _mfLength); |
|---|
| 1166 | | |
|---|
| 1167 | | |
|---|
| 1168 | | // addRef(value); |
|---|
| 1169 | | // subRef(_mfLength[uiIndex]); |
|---|
| 1170 | | |
|---|
| 1171 | | // _mfLength[uiIndex] = value; |
|---|
| 1172 | | |
|---|
| 1173 | | _mfLength.replace(uiIndex, value); |
|---|
| 1174 | | } |
|---|
| 1175 | | |
|---|
| 1176 | | void VTKMapperBase::replaceInLength(const GeoUInt32PropertyPtr pOldElem, |
|---|
| 1177 | | const GeoUInt32PropertyPtr pNewElem) |
|---|
| 1178 | | { |
|---|
| 1179 | | if(pNewElem == NullFC) |
|---|
| 1180 | | return; |
|---|
| 1181 | | |
|---|
| 1182 | | Int32 elemIdx = _mfLength.findIndex(pOldElem); |
|---|
| 1183 | | |
|---|
| 1184 | | if(elemIdx != -1) |
|---|
| 1185 | | { |
|---|
| 1186 | | editMField(LengthFieldMask, _mfLength); |
|---|
| 1187 | | |
|---|
| 1188 | | // MFGeoUInt32PropertyPtr::iterator fieldIt = _mfLength.begin(); |
|---|
| 1189 | | |
|---|
| 1190 | | // fieldIt += elemIdx; |
|---|
| 1191 | | // addRef(pNewElem); |
|---|
| 1192 | | // subRef(pOldElem); |
|---|
| 1193 | | |
|---|
| 1194 | | // (*fieldIt) = pNewElem; |
|---|
| 1195 | | _mfLength.replace(elemIdx, pNewElem); |
|---|
| 1196 | | } |
|---|
| 1197 | | } |
|---|
| 1198 | | |
|---|
| 1199 | | void VTKMapperBase::removeFromLength(UInt32 uiIndex) |
|---|
| 1200 | | { |
|---|
| 1201 | | if(uiIndex < _mfLength.size()) |
|---|
| 1202 | | { |
|---|
| 1203 | | editMField(LengthFieldMask, _mfLength); |
|---|
| 1204 | | |
|---|
| 1205 | | MFUnrecGeoUInt32PropertyPtr::iterator fieldIt = _mfLength.begin_nc(); |
|---|
| 1206 | | |
|---|
| 1207 | | fieldIt += uiIndex; |
|---|
| 1208 | | |
|---|
| 1209 | | //subRef(*fieldIt); |
|---|
| 1210 | | |
|---|
| 1211 | | _mfLength.erase(fieldIt); |
|---|
| 1212 | | } |
|---|
| 1213 | | } |
|---|
| 1214 | | |
|---|
| 1215 | | void VTKMapperBase::removeFromLength(const GeoUInt32PropertyPtr value) |
|---|
| 1216 | | { |
|---|
| 1217 | | Int32 iElemIdx = _mfLength.findIndex(value); |
|---|
| 1218 | | |
|---|
| 1219 | | if(iElemIdx != -1) |
|---|
| 1220 | | { |
|---|
| 1221 | | editMField(LengthFieldMask, _mfLength); |
|---|
| 1222 | | |
|---|
| 1223 | | MFUnrecGeoUInt32PropertyPtr::iterator fieldIt = _mfLength.begin_nc(); |
|---|
| 1224 | | |
|---|
| 1225 | | fieldIt += iElemIdx; |
|---|
| 1226 | | |
|---|
| 1227 | | //subRef(*fieldIt); |
|---|
| 1228 | | |
|---|
| 1229 | | _mfLength.erase(fieldIt); |
|---|
| 1230 | | } |
|---|
| 1231 | | } |
|---|
| 1232 | | void VTKMapperBase::clearLength(void) |
|---|
| 1233 | | { |
|---|
| 1234 | | editMField(LengthFieldMask, _mfLength); |
|---|
| 1235 | | |
|---|
| 1269 | | void VTKMapperBase::insertIntoTypes( UInt32 uiIndex, |
|---|
| 1270 | | const GeoUInt8PropertyPtr value ) |
|---|
| 1271 | | { |
|---|
| 1272 | | if(value == NullFC) |
|---|
| 1273 | | return; |
|---|
| 1274 | | |
|---|
| | 920 | void VTKMapperBase::removeFromTypes(UInt32 uiIndex) |
|---|
| | 921 | { |
|---|
| | 922 | if(uiIndex < _mfTypes.size()) |
|---|
| | 923 | { |
|---|
| | 924 | editMField(TypesFieldMask, _mfTypes); |
|---|
| | 925 | |
|---|
| | 926 | MFUnrecGeoUInt8PropertyPtr::iterator fieldIt = _mfTypes.begin_nc(); |
|---|
| | 927 | |
|---|
| | 928 | fieldIt += uiIndex; |
|---|
| | 929 | |
|---|
| | 930 | _mfTypes.erase(fieldIt); |
|---|
| | 931 | } |
|---|
| | 932 | } |
|---|
| | 933 | |
|---|
| | 934 | void VTKMapperBase::removeFromTypes(const GeoUInt8PropertyPtr value) |
|---|
| | 935 | { |
|---|
| | 936 | Int32 iElemIdx = _mfTypes.findIndex(value); |
|---|
| | 937 | |
|---|
| | 938 | if(iElemIdx != -1) |
|---|
| | 939 | { |
|---|
| | 940 | editMField(TypesFieldMask, _mfTypes); |
|---|
| | 941 | |
|---|
| | 942 | MFUnrecGeoUInt8PropertyPtr::iterator fieldIt = _mfTypes.begin_nc(); |
|---|
| | 943 | |
|---|
| | 944 | fieldIt += iElemIdx; |
|---|
| | 945 | |
|---|
| | 946 | _mfTypes.erase(fieldIt); |
|---|
| | 947 | } |
|---|
| | 948 | } |
|---|
| | 949 | void VTKMapperBase::clearTypes(void) |
|---|
| | 950 | { |
|---|
| 1277 | | MFUnrecGeoUInt8PropertyPtr::iterator fieldIt = _mfTypes.begin_nc(); |
|---|
| 1278 | | |
|---|
| 1279 | | //addRef(value); |
|---|
| 1280 | | |
|---|
| 1281 | | fieldIt += uiIndex; |
|---|
| 1282 | | |
|---|
| 1283 | | _mfTypes.insert(fieldIt, value); |
|---|
| 1284 | | } |
|---|
| 1285 | | |
|---|
| 1286 | | void VTKMapperBase::replaceInTypes( UInt32 uiIndex, |
|---|
| 1287 | | const GeoUInt8PropertyPtr value ) |
|---|
| 1288 | | { |
|---|
| 1289 | | if(value == NullFC) |
|---|
| 1290 | | return; |
|---|
| 1291 | | |
|---|
| 1292 | | if(uiIndex >= _mfTypes.size()) |
|---|
| 1293 | | return; |
|---|
| 1294 | | |
|---|
| 1295 | | editMField(TypesFieldMask, _mfTypes); |
|---|
| 1296 | | |
|---|
| 1297 | | |
|---|
| 1298 | | // addRef(value); |
|---|
| 1299 | | // subRef(_mfTypes[uiIndex]); |
|---|
| 1300 | | |
|---|
| 1301 | | // _mfTypes[uiIndex] = value; |
|---|
| 1302 | | |
|---|
| 1303 | | _mfTypes.replace(uiIndex, value); |
|---|
| 1304 | | } |
|---|
| 1305 | | |
|---|
| 1306 | | void VTKMapperBase::replaceInTypes(const GeoUInt8PropertyPtr pOldElem, |
|---|
| 1307 | | const GeoUInt8PropertyPtr pNewElem) |
|---|
| 1308 | | { |
|---|
| 1309 | | if(pNewElem == NullFC) |
|---|
| 1310 | | return; |
|---|
| 1311 | | |
|---|
| 1312 | | Int32 elemIdx = _mfTypes.findIndex(pOldElem); |
|---|
| 1313 | | |
|---|
| 1314 | | if(elemIdx != -1) |
|---|
| 1315 | | { |
|---|
| 1316 | | editMField(TypesFieldMask, _mfTypes); |
|---|
| 1317 | | |
|---|
| 1318 | | // MFGeoUInt8PropertyPtr::iterator fieldIt = _mfTypes.begin(); |
|---|
| 1319 | | |
|---|
| 1320 | | // fieldIt += elemIdx; |
|---|
| 1321 | | // addRef(pNewElem); |
|---|
| 1322 | | // subRef(pOldElem); |
|---|
| 1323 | | |
|---|
| 1324 | | // (*fieldIt) = pNewElem; |
|---|
| 1325 | | _mfTypes.replace(elemIdx, pNewElem); |
|---|
| 1326 | | } |
|---|
| 1327 | | } |
|---|
| 1328 | | |
|---|
| 1329 | | void VTKMapperBase::removeFromTypes(UInt32 uiIndex) |
|---|
| 1330 | | { |
|---|
| 1331 | | if(uiIndex < _mfTypes.size()) |
|---|
| 1332 | | { |
|---|
| 1333 | | editMField(TypesFieldMask, _mfTypes); |
|---|
| 1334 | | |
|---|
| 1335 | | MFUnrecGeoUInt8PropertyPtr::iterator fieldIt = _mfTypes.begin_nc(); |
|---|
| 1336 | | |
|---|
| 1337 | | fieldIt += uiIndex; |
|---|
| 1338 | | |
|---|
| 1339 | | //subRef(*fieldIt); |
|---|
| 1340 | | |
|---|
| 1341 | | _mfTypes.erase(fieldIt); |
|---|
| 1342 | | } |
|---|
| 1343 | | } |
|---|
| 1344 | | |
|---|
| 1345 | | void VTKMapperBase::removeFromTypes(const GeoUInt8PropertyPtr value) |
|---|
| 1346 | | { |
|---|
| 1347 | | Int32 iElemIdx = _mfTypes.findIndex(value); |
|---|
| 1348 | | |
|---|
| 1349 | | if(iElemIdx != -1) |
|---|
| 1350 | | { |
|---|
| 1351 | | editMField(TypesFieldMask, _mfTypes); |
|---|
| 1352 | | |
|---|
| 1353 | | MFUnrecGeoUInt8PropertyPtr::iterator fieldIt = _mfTypes.begin_nc(); |
|---|
| 1354 | | |
|---|
| 1355 | | fieldIt += iElemIdx; |
|---|
| 1356 | | |
|---|
| 1357 | | //subRef(*fieldIt); |
|---|
| 1358 | | |
|---|
| 1359 | | _mfTypes.erase(fieldIt); |
|---|
| 1360 | | } |
|---|
| 1361 | | } |
|---|
| 1362 | | void VTKMapperBase::clearTypes(void) |
|---|
| 1363 | | { |
|---|
| 1364 | | editMField(TypesFieldMask, _mfTypes); |
|---|
| 1365 | | |
|---|
| 1399 | | void VTKMapperBase::insertIntoColors( UInt32 uiIndex, |
|---|
| 1400 | | const GeoColor4fPropertyPtr value ) |
|---|
| 1401 | | { |
|---|
| 1402 | | if(value == NullFC) |
|---|
| 1403 | | return; |
|---|
| 1404 | | |
|---|
| | 981 | void VTKMapperBase::removeFromColors(UInt32 uiIndex) |
|---|
| | 982 | { |
|---|
| | 983 | if(uiIndex < _mfColors.size()) |
|---|
| | 984 | { |
|---|
| | 985 | editMField(ColorsFieldMask, _mfColors); |
|---|
| | 986 | |
|---|
| | 987 | MFUnrecGeoColor4fPropertyPtr::iterator fieldIt = _mfColors.begin_nc(); |
|---|
| | 988 | |
|---|
| | 989 | fieldIt += uiIndex; |
|---|
| | 990 | |
|---|
| | 991 | _mfColors.erase(fieldIt); |
|---|
| | 992 | } |
|---|
| | 993 | } |
|---|
| | 994 | |
|---|
| | 995 | void VTKMapperBase::removeFromColors(const GeoColor4fPropertyPtr value) |
|---|
| | 996 | { |
|---|
| | 997 | Int32 iElemIdx = _mfColors.findIndex(value); |
|---|
| | 998 | |
|---|
| | 999 | if(iElemIdx != -1) |
|---|
| | 1000 | { |
|---|
| | 1001 | editMField(ColorsFieldMask, _mfColors); |
|---|
| | 1002 | |
|---|
| | 1003 | MFUnrecGeoColor4fPropertyPtr::iterator fieldIt = _mfColors.begin_nc(); |
|---|
| |
|---|