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/Action/RenderTraversal/OSGScreenLODFields.h

    r969 r976  
    5858#include "OSGRenderTravDef.h" 
    5959 
    60 #include "OSGParentContainer.h" 
    61 #include "OSGInternalRefPtr.h" 
     60#include "OSGReferenceCountPointer.h" 
     61#include "OSGParentPointer.h" 
    6262 
    6363#include "OSGGroupFields.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//! ScreenLODPtr 
    7072 
    7173class ScreenLOD; 
     
    7375OSG_GEN_CONTAINERPTR(ScreenLOD); 
    7476 
    75 typedef RefPtr<ScreenLOD>         ScreenLODRefPtr; 
    76 typedef MTRefPtr<ScreenLOD>       ScreenLODMTRefPtr; 
     77typedef RefCountPtrBuilder<ScreenLOD>::Ptr         ScreenLODRefPtr; 
     78typedef MTRefCountPtrBuilder<ScreenLOD>::Ptr       ScreenLODMTRefPtr; 
     79typedef WeakRefCountPtrBuilder<ScreenLOD>::Ptr     ScreenLODWeakRefPtr; 
     80typedef InternalRefCountPtrBuilder<ScreenLOD>::Ptr ScreenLODInternalRefPtr; 
    7781 
    78 typedef InternalRefPtr<ScreenLOD>       ScreenLODInternalRefPtr; 
    79 typedef InternalRefPtr<ScreenLOD> const ScreenLODInternalRefPtrConst; 
    80 typedef InternalRefPtr<ScreenLOD> const ScreenLODInternalRefPtrConstArg; 
    81  
    82 typedef PtrWrapper<ScreenLOD, 
    83                    ScreenLODPtr>        ParentScreenLODPtr; 
    84 typedef PtrWrapper<ScreenLOD, 
    85                    ScreenLODPtr> const  ParentScreenLODPtrConst; 
    86  
    87 #if !defined(OSG_DO_DOC) // created as a dummy class, remove to prevent doubles 
    88 //! ScreenLODPtr 
    89  
    90 OSG_GEN_CONTAINERPTR(ScreenLOD); 
     82typedef ParentPtrBuilder<ScreenLOD>::Ptr           ScreenLODParentPtr; 
    9183 
    9284#endif 
     
    10092 
    10193template <> 
    102 struct FieldTraits<ScreenLODPtr> : 
    103     public FieldTraitsFCPtrBase<ScreenLODPtr> 
     94struct FieldTraits<ScreenLODInternalRefPtr> : 
     95    public FieldTraitsFCReferenceCountPointerBase<ScreenLODInternalRefPtr> 
    10496{ 
    10597  private: 
    10698 
    107     static DataType             _type; 
     99    static DataType _type; 
    108100 
    109101  public: 
    110102 
    111     typedef FieldTraits<ScreenLODPtr>  Self; 
     103    typedef FieldTraits<ScreenLODInternalRefPtr>  Self; 
    112104 
    113     enum                        { Convertible = NotConvertible }; 
     105    enum { Convertible = NotConvertible }; 
    114106}; 
    115107 
    116 #if !defined(OSG_DOC_DEV_TRAITS) 
    117 /*! \class  FieldTraitsTemplateBase<ScreenLODPtr, 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 GrpRenderTravFieldTraits 
    126109 */ 
     
    130113 
    131114template <> 
    132 struct FieldTraits<ScreenLODInternalRefPtr> : 
    133     public FieldTraitsFCPtrBase<ScreenLODInternalRefPtr> 
     115struct FieldTraits<ScreenLODWeakRefPtr> : 
     116    public FieldTraitsFCReferenceCountPointerBase<ScreenLODWeakRefPtr> 
    134117{ 
    135118  private: 
    136119 
    137     static DataType             _type; 
     120    static DataType _type; 
    138121 
    139122  public: 
    140123 
    141     typedef FieldTraits<ScreenLODInternalRefPtr>  Self; 
     124    typedef FieldTraits<ScreenLODWeakRefPtr>  Self; 
    142125 
    143     enum                        { Convertible = NotConvertible }; 
     126    enum { Convertible = NotConvertible }; 
    144127}; 
    145128 
    146 #if !defined(OSG_DOC_DEV_TRAITS) 
    147 /*! \class  FieldTraitsTemplateBase<ScreenLODPtr, 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 GrpRenderTravFieldTraits 
    156130 */ 
     
    160134 
    161135template <> 
    162 struct FieldTraits<ParentScreenLODPtr> : 
    163     public FieldTraitsFCPtrBase<ParentScreenLODPtr> 
     136struct FieldTraits<ScreenLODParentPtr> : 
     137    public FieldTraitsFCParentPointerBase<ScreenLODParentPtr> 
    164138{ 
    165139  private: 
    166140 
    167     static DataType             _type; 
     141    static DataType _type; 
    168142 
    169143  public: 
    170144 
    171     typedef FieldTraits<ParentScreenLODPtr>  Self; 
     145    typedef FieldTraits<ScreenLODParentPtr>  Self; 
    172146 
    173     enum                        { Convertible = NotConvertible }; 
     147    enum { Convertible = NotConvertible }; 
    174148}; 
    175149