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/Contrib/Manipulators/OSGScaleManipulatorFields.h

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