Show
Ignore:
Timestamp:
10/20/07 18:11:52 (11 months 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/BalancedMultiWindow/OSGBalancedMultiWindowFields.h

    r969 r976  
    5858#include "OSGClusterDef.h" 
    5959 
    60 #include "OSGParentContainer.h" 
    61 #include "OSGInternalRefPtr.h" 
     60#include "OSGReferenceCountPointer.h" 
     61#include "OSGParentPointer.h" 
    6262 
    6363#include "OSGMultiDisplayWindowFields.h" 
    6464 
    65 #include "OSGSFieldAdaptor.h" 
    66 #include "OSGMFieldAdaptor.h" 
    67  
     65#include "OSGSPointerFieldAdapter.h" 
     66#include "OSGMPointerFieldAdapter.h" 
    6867 
    6968OSG_BEGIN_NAMESPACE 
     69 
     70#if !defined(OSG_DO_DOC) // created as a dummy class, remove to prevent doubles 
     71//! BalancedMultiWindowPtr 
    7072 
    7173class BalancedMultiWindow; 
     
    7375OSG_GEN_CONTAINERPTR(BalancedMultiWindow); 
    7476 
    75 typedef RefPtr<BalancedMultiWindow>         BalancedMultiWindowRefPtr; 
    76 typedef MTRefPtr<BalancedMultiWindow>       BalancedMultiWindowMTRefPtr; 
     77typedef RefCountPtrBuilder<BalancedMultiWindow>::Ptr         BalancedMultiWindowRefPtr; 
     78typedef MTRefCountPtrBuilder<BalancedMultiWindow>::Ptr       BalancedMultiWindowMTRefPtr; 
     79typedef WeakRefCountPtrBuilder<BalancedMultiWindow>::Ptr     BalancedMultiWindowWeakRefPtr; 
     80typedef InternalRefCountPtrBuilder<BalancedMultiWindow>::Ptr BalancedMultiWindowInternalRefPtr; 
    7781 
    78 typedef InternalRefPtr<BalancedMultiWindow>       BalancedMultiWindowInternalRefPtr; 
    79 typedef InternalRefPtr<BalancedMultiWindow> const BalancedMultiWindowInternalRefPtrConst; 
    80 typedef InternalRefPtr<BalancedMultiWindow> const BalancedMultiWindowInternalRefPtrConstArg; 
    81  
    82 typedef PtrWrapper<BalancedMultiWindow, 
    83                    BalancedMultiWindowPtr>        ParentBalancedMultiWindowPtr; 
    84 typedef PtrWrapper<BalancedMultiWindow, 
    85                    BalancedMultiWindowPtr> const  ParentBalancedMultiWindowPtrConst; 
    86  
    87 #if !defined(OSG_DO_DOC) // created as a dummy class, remove to prevent doubles 
    88 //! BalancedMultiWindowPtr 
    89  
    90 OSG_GEN_CONTAINERPTR(BalancedMultiWindow); 
     82typedef ParentPtrBuilder<BalancedMultiWindow>::Ptr           BalancedMultiWindowParentPtr; 
    9183 
    9284#endif 
     
    10092 
    10193template <> 
    102 struct FieldTraits<BalancedMultiWindowPtr> : 
    103     public FieldTraitsFCPtrBase<BalancedMultiWindowPtr> 
     94struct FieldTraits<BalancedMultiWindowInternalRefPtr> : 
     95    public FieldTraitsFCReferenceCountPointerBase<BalancedMultiWindowInternalRefPtr> 
    10496{ 
    10597  private: 
    10698 
    107     static DataType             _type; 
     99    static DataType _type; 
    108100 
    109101  public: 
    110102 
    111     typedef FieldTraits<BalancedMultiWindowPtr>  Self; 
     103    typedef FieldTraits<BalancedMultiWindowInternalRefPtr>  Self; 
    112104 
    113     enum                        { Convertible = NotConvertible }; 
     105    enum { Convertible = NotConvertible }; 
    114106}; 
    115107 
    116 #if !defined(OSG_DOC_DEV_TRAITS) 
    117 /*! \class  FieldTraitsTemplateBase<BalancedMultiWindowPtr, 0> 
    118     \hideinhierarchy 
    119  */ 
    120 #endif 
    121  
    122 #endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3) 
    123  
    124 #if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3) 
    125108/*! \ingroup GrpClusterFieldTraits 
    126109 */ 
     
    130113 
    131114template <> 
    132 struct FieldTraits<BalancedMultiWindowInternalRefPtr> : 
    133     public FieldTraitsFCPtrBase<BalancedMultiWindowInternalRefPtr> 
     115struct FieldTraits<BalancedMultiWindowWeakRefPtr> : 
     116    public FieldTraitsFCReferenceCountPointerBase<BalancedMultiWindowWeakRefPtr> 
    134117{ 
    135118  private: 
    136119 
    137     static DataType             _type; 
     120    static DataType _type; 
    138121 
    139122  public: 
    140123 
    141     typedef FieldTraits<BalancedMultiWindowInternalRefPtr>  Self; 
     124    typedef FieldTraits<BalancedMultiWindowWeakRefPtr>  Self; 
    142125 
    143     enum                        { Convertible = NotConvertible }; 
     126    enum { Convertible = NotConvertible }; 
    144127}; 
    145128 
    146 #if !defined(OSG_DOC_DEV_TRAITS) 
    147 /*! \class  FieldTraitsTemplateBase<BalancedMultiWindowPtr, 0> 
    148     \hideinhierarchy 
    149  */ 
    150 #endif 
    151  
    152 #endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3) 
    153  
    154 #if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3) 
    155129/*! \ingroup GrpClusterFieldTraits 
    156130 */ 
     
    160134 
    161135template <> 
    162 struct FieldTraits<ParentBalancedMultiWindowPtr> : 
    163     public FieldTraitsFCPtrBase<ParentBalancedMultiWindowPtr> 
     136struct FieldTraits<BalancedMultiWindowParentPtr> : 
     137    public FieldTraitsFCParentPointerBase<BalancedMultiWindowParentPtr> 
    164138{ 
    165139  private: 
    166140 
    167     static DataType             _type; 
     141    static DataType _type; 
    168142 
    169143  public: 
    170144 
    171     typedef FieldTraits<ParentBalancedMultiWindowPtr>  Self; 
     145    typedef FieldTraits<BalancedMultiWindowParentPtr>  Self; 
    172146 
    173     enum                        { Convertible = NotConvertible }; 
     147    enum { Convertible = NotConvertible }; 
    174148}; 
    175149