Show
Ignore:
Timestamp:
10/24/07 19:30:30 (11 months ago)
Author:
cneumann
Message:

fixed: FieldBundle? templates, pointers and fields updated

lots of compile errors - some remain

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/Carsten_PtrWork/Source/System/FieldContainer/Base/OSGParentPointer.inl

    r976 r988  
    9191inline  
    9292ParentPointer<ObjectT, RootObjectT>::ParentPointer( 
    93     ObjectPtrConstArg pObject, 
    94     UInt16         const fieldId = 0xFFFF) 
    95     : _pointer      (pContainer), 
    96       _parentFieldId(fieldId   ) 
     93    ObjectPtrConstArg       pObject, 
     94    UInt16            const fieldId ) 
     95     
     96    : _pointer      (Self::castPtrUp(pObject)), 
     97      _parentFieldId(fieldId                 ) 
    9798{ 
    9899} 
     
    103104ParentPointer<ObjectT, RootObjectT>::ParentPointer( 
    104105    ParentPointer<OtherObjectT, RootObjectT> const &parentPtr) 
     106     
    105107    : _pointer      (Self::castPtrUp(parentPtr.get())), 
    106108      _parentFieldId(parentPtr.getFieldId()          ) 
     109{ 
     110} 
     111 
     112template <class ObjectT, class RootObjectT> 
     113template <class OtherObjectT              > 
     114inline 
     115ParentPointer<ObjectT, RootObjectT>::ParentPointer( 
     116    ParentPointer<OtherObjectT, RootObjectT> const &parentPtr, 
     117    detail::StaticCastTag) 
     118    : _pointer      (parentPtr._pointer, detail::StaticCastTag()), 
     119      _parentFieldId(parentPtr.getFieldId()                     ) 
     120{ 
     121} 
     122 
     123template <class ObjectT, class RootObjectT> 
     124template <class OtherObjectT              > 
     125inline 
     126ParentPointer<ObjectT, RootObjectT>::ParentPointer( 
     127    ParentPointer<OtherObjectT, RootObjectT> const &parentPtr, 
     128    detail::ConstCastTag) 
     129    : _pointer      (parentPtr._pointer, detail::ConstCastTag()), 
     130      _parentFieldId(parentPtr.getFieldId()                    ) 
     131{ 
     132} 
     133 
     134template <class ObjectT, class RootObjectT> 
     135template <class OtherObjectT              > 
     136inline 
     137ParentPointer<ObjectT, RootObjectT>::ParentPointer( 
     138    ParentPointer<OtherObjectT, RootObjectT> const &parentPtr, 
     139    detail::DynamicCastTag) 
     140    : _pointer      (parentPtr._pointer,    detail::DynamicCastTag()), 
     141      _parentFieldId(parentPtr.getFieldId()                           ) 
    107142{ 
    108143} 
     
    115150                          OtherRefCountPolicyT, 
    116151                          RootObjectT          > const &refPtr, 
    117     UInt16                                       const  fieldId = 0xFFFF) 
     152    UInt16                                       const  fieldId) 
     153     
    118154    : _pointer      (Self::castPtrUp(refPtr.get())), 
    119155      _parentFieldId(fieldId                      ) 
     
    168204template <class ObjectT,      class RootObjectT         > 
    169205template <class OtherObjectT, class OtherRefCountPolicyT> 
    170 inline  
     206inline typename ParentPointer<ObjectT, RootObjectT>::Self & 
    171207ParentPointer<ObjectT, RootObjectT>::operator=( 
    172208    ReferenceCountPointer<OtherObjectT, 
     
    194230 
    195231template <class ObjectT, class RootObjectT> 
    196 inline typename ParentPoiner<ObjectT, RootObjectT>::ObjectPtr 
     232inline typename ParentPointer<ObjectT, RootObjectT>::ObjectPtr 
    197233ParentPointer<ObjectT, RootObjectT>::operator->(void) const 
    198234{ 
     
    201237 
    202238template <class ObjectT, class RootObjectT> 
    203 inline typename ParentPoiner<ObjectT, RootObjectT>::Object & 
     239inline typename ParentPointer<ObjectT, RootObjectT>::Object & 
    204240ParentPointer<ObjectT, RootObjectT>::operator*(void) const 
    205241{ 
     
    208244 
    209245template <class ObjectT, class RootObjectT> 
    210 inline typename ParentPoiner<ObjectT, RootObjectT>::ObjectPtr 
     246inline typename ParentPointer<ObjectT, RootObjectT>::ObjectPtr 
    211247ParentPointer<ObjectT, RootObjectT>::get(void) const 
    212248{ 
     
    245281 
    246282OSG_END_NAMESPACE 
     283 
     284namespace boost 
     285{ 
     286 
     287template <class TargetObjectT, class SourceObjectT, class RootObjectT> 
     288OSG::ParentPointer<TargetObjectT, RootObjectT> 
     289static_pointer_cast(OSG::ParentPointer<SourceObjectT, 
     290                                       RootObjectT   > const &source) 
     291{ 
     292    return OSG::ParentPointer<TargetObjectT, RootObjectT>( 
     293        source, OSG::detail::StaticCastTag()); 
     294} 
     295 
     296template <class TargetObjectT, class SourceObjectT, class RootObjectT> 
     297OSG::ParentPointer<TargetObjectT, RootObjectT> 
     298const_pointer_cast(OSG::ParentPointer<SourceObjectT, 
     299                                      RootObjectT   > const &source) 
     300{ 
     301    return OSG::ParentPointer<TargetObjectT, RootObjectT>( 
     302        source, OSG::detail::ConstCastTag()); 
     303} 
     304 
     305template <class TargetObjectT, class SourceObjectT, class RootObjectT> 
     306OSG::ParentPointer<TargetObjectT, RootObjectT> 
     307dynamic_pointer_cast(OSG::ParentPointer<SourceObjectT, 
     308                                        RootObjectT   > const &source) 
     309{ 
     310    return OSG::ParentPointer<TargetObjectT, RootObjectT>( 
     311        source, OSG::detail::DynamicCastTag()); 
     312} 
     313 
     314} // namespace boost