Show
Ignore:
Timestamp:
10/20/07 18:11:52 (1 year ago)
Author:
cneumann
Message:

added: RootObjectT template paremter for ReferenceCountPointer?

and ParentPointer? templates - allows use for FieldBundles?

compile fixes - but still not done

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/Carsten_PtrWork/Source/System/Cluster/Window/SortLast/OSGSortLastWindowBase.cpp

    r969 r976  
    8383\***************************************************************************/ 
    8484 
    85 /*! \var NodePtr        SortLastWindowBase::_mfGroupNodes 
     85/*! \var NodeInternalRefPtr SortLastWindowBase::_mfGroupNodes 
    8686     
    8787*/ 
     
    101101 
    102102 
    103     pDesc = new MFNodePtr::Description( 
    104         MFNodePtr::getClassType(), 
     103    pDesc = new MFNodeInternalRefPtr::Description( 
     104        MFNodeInternalRefPtr::getClassType(), 
    105105        "groupNodes", 
    106106        "", 
     
    165165    "\t<Field\n" 
    166166    "\t\tname=\"groupNodes\"\n" 
    167     "\t\ttype=\"NodePtr\"\n" 
     167    "        category=\"pointer\"\n" 
     168    "\t\ttype=\"Node\"\n" 
    168169    "\t\tcardinality=\"multi\"\n" 
    169170    "\t\tvisibility=\"external\"\n" 
     
    225226//     addRef(value); 
    226227 
    227     _mfGroupNodes.push_back(NodePtr(value)); 
    228 } 
    229  
    230 void 
    231 SortLastWindowBase::assignGroupNodes(MFNodePtr const &value) 
    232 { 
    233     MFNodePtr::const_iterator elemIt  = 
     228    _mfGroupNodes.push_back(NodeInternalRefPtr(value)); 
     229} 
     230 
     231void 
     232SortLastWindowBase::assignGroupNodes(MFNodeInternalRefPtr const &value) 
     233{ 
     234    MFNodeInternalRefPtr::const_iterator elemIt  = 
    234235        value.begin(); 
    235     MFNodePtr::const_iterator elemEnd = 
     236    MFNodeInternalRefPtr::const_iterator elemEnd = 
    236237        value.end  (); 
    237238 
     
    256257    editMField(GroupNodesFieldMask, _mfGroupNodes); 
    257258 
    258     MFNodePtr::iterator fieldIt = _mfGroupNodes.begin(); 
     259    MFNodeInternalRefPtr::iterator fieldIt = _mfGroupNodes.begin(); 
    259260 
    260261//     addRef(value); 
     
    262263    fieldIt += uiIndex; 
    263264 
    264     _mfGroupNodes.insert(fieldIt, NodePtr(value)); 
     265    _mfGroupNodes.insert(fieldIt, NodeInternalRefPtr(value)); 
    265266} 
    266267 
     
    282283//     subRef(_mfGroupNodes[uiIndex]); 
    283284 
    284     _mfGroupNodes[uiIndex] = NodePtr(value); 
     285    _mfGroupNodes[uiIndex] = NodeInternalRefPtr(value); 
    285286} 
    286287 
     
    293294        return; 
    294295 
    295     Int32  elemIdx = _mfGroupNodes.findIndex(NodePtr(pOldElem)); 
     296    Int32  elemIdx = _mfGroupNodes.findIndex(NodeInternalRefPtr(pOldElem)); 
    296297 
    297298    if(elemIdx != -1) 
     
    299300        editMField(GroupNodesFieldMask, _mfGroupNodes); 
    300301 
    301         MFNodePtr::iterator fieldIt = _mfGroupNodes.begin(); 
     302        MFNodeInternalRefPtr::iterator fieldIt = _mfGroupNodes.begin(); 
    302303 
    303304        fieldIt += elemIdx; 
     
    306307//         subRef(pOldElem); 
    307308 
    308         (*fieldIt) = NodePtr(pNewElem); 
     309        (*fieldIt) = NodeInternalRefPtr(pNewElem); 
    309310    } 
    310311} 
     
    317318        editMField(GroupNodesFieldMask, _mfGroupNodes); 
    318319 
    319         MFNodePtr::iterator fieldIt = _mfGroupNodes.begin(); 
     320        MFNodeInternalRefPtr::iterator fieldIt = _mfGroupNodes.begin(); 
    320321 
    321322        fieldIt += uiIndex; 
     
    330331SortLastWindowBase::subGroupNodes(NodePtrConstArg value) 
    331332{ 
    332     Int32 iElemIdx = _mfGroupNodes.findIndex(NodePtr(value)); 
     333    Int32 iElemIdx = _mfGroupNodes.findIndex(NodeInternalRefPtr(value)); 
    333334 
    334335    if(iElemIdx != -1) 
     
    336337        editMField(GroupNodesFieldMask, _mfGroupNodes); 
    337338 
    338         MFNodePtr::iterator fieldIt = _mfGroupNodes.begin(); 
     339        MFNodeInternalRefPtr::iterator fieldIt = _mfGroupNodes.begin(); 
    339340 
    340341        fieldIt += iElemIdx; 
     
    351352    editMField(GroupNodesFieldMask, _mfGroupNodes); 
    352353 
    353     MFNodePtr::iterator       fieldIt  = _mfGroupNodes.begin(); 
    354     MFNodePtr::const_iterator fieldEnd = _mfGroupNodes.end  (); 
     354    MFNodeInternalRefPtr::iterator       fieldIt  = _mfGroupNodes.begin(); 
     355    MFNodeInternalRefPtr::const_iterator fieldEnd = _mfGroupNodes.end  (); 
    355356 
    356357    while(fieldIt != fieldEnd) 
     
    594595    { 
    595596 
    596         MFNodePtr::const_iterator GroupNodesIt  = 
     597        MFNodeInternalRefPtr::const_iterator GroupNodesIt  = 
    597598            source->_mfGroupNodes.begin(); 
    598         MFNodePtr::const_iterator GroupNodesEnd = 
     599        MFNodeInternalRefPtr::const_iterator GroupNodesEnd = 
    599600            source->_mfGroupNodes.end  (); 
    600601 
     
    610611GetFieldHandlePtr SortLastWindowBase::getHandleGroupNodes      (void) const 
    611612{ 
    612     MFNodePtr::GetHandlePtr returnValue( 
    613         new  MFNodePtr::GetHandle( 
     613    MFNodeInternalRefPtr::GetHandlePtr returnValue( 
     614        new  MFNodeInternalRefPtr::GetHandle( 
    614615             &_mfGroupNodes,  
    615616             this->getType().getFieldDesc(GroupNodesFieldId))); 
     
    619620EditFieldHandlePtr SortLastWindowBase::editHandleGroupNodes     (void) 
    620621{ 
    621     MFNodePtr::EditHandlePtr returnValue( 
    622         new  MFNodePtr::EditHandle( 
     622    MFNodeInternalRefPtr::EditHandlePtr returnValue( 
     623        new  MFNodeInternalRefPtr::EditHandle( 
    623624             &_mfGroupNodes,  
    624625             this->getType().getFieldDesc(GroupNodesFieldId))); 
     
    722723 
    723724#if !defined(OSG_DO_DOC) || defined(OSG_DOC_DEV) 
    724 DataType FieldTraits<SortLastWindowPtr>::_type("SortLastWindowPtr", "ClusterWindowPtr"); 
     725DataType FieldTraits<SortLastWindowInternalRefPtr>::_type( 
     726    "SortLastWindowInternalRefPtr", 
     727    "ClusterWindowInternalRefPtr"); 
     728DataType FieldTraits<SortLastWindowWeakRefPtr>::_type( 
     729    "SortLastWindowWeakRefPtr", 
     730    "ClusterWindowWeakRefPtr"); 
     731DataType FieldTraits<SortLastWindowParentPtr>::_type( 
     732    "SortLastWindowParentPtr", 
     733    "ClusterWindowParentPtr"); 
    725734#endif 
    726735