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/Base/OSGImageComposerFields.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 "OSGAttachmentContainerFields.h" 
    6464 
    65 #include "OSGSFieldAdaptor.h" 
    66 #include "OSGMFieldAdaptor.h" 
    67  
     65#include "OSGSPointerFieldAdapter.h" 
     66#include "OSGMPointerFieldAdapter.h" 
    6867 
    6968OSG_BEGIN_NAMESPACE 
    70  
    71 class ImageComposer; 
    72  
    73 OSG_GEN_CONTAINERPTR(ImageComposer); 
    74  
    75 typedef RefPtr<ImageComposer>         ImageComposerRefPtr; 
    76 typedef MTRefPtr<ImageComposer>       ImageComposerMTRefPtr; 
    77  
    78 typedef InternalRefPtr<ImageComposer>       ImageComposerInternalRefPtr; 
    79 typedef InternalRefPtr<ImageComposer> const ImageComposerInternalRefPtrConst; 
    80 typedef InternalRefPtr<ImageComposer> const ImageComposerInternalRefPtrConstArg; 
    81  
    82 typedef PtrWrapper<ImageComposer, 
    83                    ImageComposerPtr>        ParentImageComposerPtr; 
    84 typedef PtrWrapper<ImageComposer, 
    85                    ImageComposerPtr> const  ParentImageComposerPtrConst; 
    8669 
    8770#if !defined(OSG_DO_DOC) // created as a dummy class, remove to prevent doubles 
    8871//! ImageComposerPtr 
    8972 
     73class ImageComposer; 
     74 
    9075OSG_GEN_CONTAINERPTR(ImageComposer); 
     76 
     77typedef RefCountPtrBuilder<ImageComposer>::Ptr         ImageComposerRefPtr; 
     78typedef MTRefCountPtrBuilder<ImageComposer>::Ptr       ImageComposerMTRefPtr; 
     79typedef WeakRefCountPtrBuilder<ImageComposer>::Ptr     ImageComposerWeakRefPtr; 
     80typedef InternalRefCountPtrBuilder<ImageComposer>::Ptr ImageComposerInternalRefPtr; 
     81 
     82typedef ParentPtrBuilder<ImageComposer>::Ptr           ImageComposerParentPtr; 
    9183 
    9284#endif 
     
    10092 
    10193template <> 
    102 struct FieldTraits<ImageComposerPtr> : 
    103     public FieldTraitsFCPtrBase<ImageComposerPtr> 
     94struct FieldTraits<ImageComposerInternalRefPtr> : 
     95    public FieldTraitsFCReferenceCountPointerBase<ImageComposerInternalRefPtr> 
    10496{ 
    10597  private: 
    10698 
    107     static DataType             _type; 
     99    static DataType _type; 
    108100 
    109101  public: 
    110102 
    111     typedef FieldTraits<ImageComposerPtr>  Self; 
    112  
    113     enum                        { Convertible = NotConvertible }; 
     103    typedef FieldTraits<ImageComposerInternalRefPtr>  Self; 
     104 
     105    enum { Convertible = NotConvertible }; 
    114106 
    115107    static OSG_CLUSTER_DLLMAPPING DataType &getType(void); 
    116108 
    117     static const char *getSName(void) { return "SFImageComposerPtr"; } 
    118     static const char *getMName(void) { return "MFImageComposerPtr"; } 
     109    static const char *getSName(void) 
     110    { 
     111        return "SFImageComposerInternalRefPtr"; 
     112    } 
     113    static const char *getMName(void) 
     114    { 
     115        return "MFImageComposerInternalRefPtr"; 
     116    } 
     117}; 
     118 
     119/*! \ingroup GrpClusterFieldTraits 
     120 */ 
     121#if !defined(OSG_DOC_DEV_TRAITS) 
     122/*! \hideinhierarchy */ 
     123#endif 
     124 
     125template <> 
     126struct FieldTraits<ImageComposerWeakRefPtr> : 
     127    public FieldTraitsFCReferenceCountPointerBase<ImageComposerWeakRefPtr> 
     128
     129  private: 
     130 
     131    static DataType _type; 
     132 
     133  public: 
     134 
     135    typedef FieldTraits<ImageComposerWeakRefPtr>  Self; 
     136 
     137    enum { Convertible = NotConvertible }; 
     138 
     139    static OSG_CLUSTER_DLLMAPPING DataType &getType(void); 
     140 
     141    static const char *getSName(void) 
     142    { 
     143        return "SFImageComposerWeakRefPtr"; 
     144    } 
     145    static const char *getMName(void) 
     146    { 
     147        return "MFImageComposerWeakRefPtr"; 
     148    } 
     149}; 
     150 
     151/*! \ingroup GrpClusterFieldTraits 
     152 */ 
     153#if !defined(OSG_DOC_DEV_TRAITS) 
     154/*! \hideinhierarchy */ 
     155#endif 
     156 
     157template <> 
     158struct FieldTraits<ImageComposerParentPtr> : 
     159    public FieldTraitsFCParentPointerBase<ImageComposerParentPtr> 
     160
     161  private: 
     162 
     163    static DataType _type; 
     164 
     165  public: 
     166 
     167    typedef FieldTraits<ImageComposerParentPtr>  Self; 
     168 
     169    enum { Convertible = NotConvertible }; 
     170 
     171    static OSG_CLUSTER_DLLMAPPING DataType &getType(void); 
     172 
     173    static const char *getSName(void) 
     174    { 
     175        return "SFImageComposerParentPtr"; 
     176    } 
     177    static const char *getMName(void) 
     178    { 
     179        return "MFImageComposerParentPtr"; 
     180    } 
    119181}; 
    120182 
     
    127189#endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3) 
    128190 
    129 #if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3) 
    130 /*! \ingroup GrpClusterFieldTraits 
    131  */ 
    132 #if !defined(OSG_DOC_DEV_TRAITS) 
    133 /*! \hideinhierarchy */ 
    134 #endif 
    135  
    136 template <> 
    137 struct FieldTraits<ImageComposerInternalRefPtr> : 
    138     public FieldTraitsFCPtrBase<ImageComposerInternalRefPtr> 
    139 { 
    140   private: 
    141  
    142     static DataType             _type; 
    143  
    144   public: 
    145  
    146     typedef FieldTraits<ImageComposerInternalRefPtr>  Self; 
    147  
    148     enum                        { Convertible = NotConvertible }; 
    149  
    150     static OSG_CLUSTER_DLLMAPPING DataType &getType(void); 
    151  
    152     static const char *getSName(void) { return "SFImageComposerInternalRefPtr"; } 
    153     static const char *getMName(void) { return "MFImageComposerInternalRefPtr"; } 
    154 }; 
    155  
    156 #if !defined(OSG_DOC_DEV_TRAITS) 
    157 /*! \class  FieldTraitsTemplateBase<ImageComposerPtr, 0> 
    158     \hideinhierarchy 
    159  */ 
    160 #endif 
    161  
    162 #endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3) 
    163  
    164 #if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3) 
    165 /*! \ingroup GrpClusterFieldTraits 
    166  */ 
    167 #if !defined(OSG_DOC_DEV_TRAITS) 
    168 /*! \hideinhierarchy */ 
    169 #endif 
    170  
    171 template <> 
    172 struct FieldTraits<ParentImageComposerPtr> : 
    173     public FieldTraitsFCPtrBase<ParentImageComposerPtr> 
    174 { 
    175   private: 
    176  
    177     static DataType             _type; 
    178  
    179   public: 
    180  
    181     typedef FieldTraits<ParentImageComposerPtr>  Self; 
    182  
    183     enum                        { Convertible = NotConvertible }; 
    184  
    185     static OSG_CLUSTER_DLLMAPPING DataType &getType(void); 
    186  
    187     static const char *getSName(void) { return "SFParentImageComposerPtr"; } 
    188     static const char *getMName(void) { return "MFParentImageComposerPtr"; } 
    189 }; 
    190  
    191 #if !defined(OSG_DOC_DEV_TRAITS) 
    192 /*! \class  FieldTraitsTemplateBase<ImageComposerPtr, 0> 
    193     \hideinhierarchy 
    194  */ 
    195 #endif 
    196  
    197 #endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3) 
    198  
    199191#if !defined(OSG_DO_DOC) || defined(OSG_DOC_FIELD_TYPEDEFS) 
    200192/*! \ingroup GrpClusterFieldSingle */ 
    201193 
    202 typedef SFieldAdaptor<ImageComposerPtr, SFFieldContainerPtr> SFImageComposerPtr; 
    203  
    204 typedef SFieldAdaptor<ImageComposerInternalRefPtr, SFFieldContainerPtr> SFImageComposerInternalRefPtr; 
    205  
    206 typedef SFieldAdaptor<ParentImageComposerPtr, SFParentFieldContainerPtr> SFParentImageComposerPtr; 
     194     
     195typedef SPointerFieldAdapter<ImageComposerInternalRefPtr, 
     196                             SFFieldContainerInternalRefPtr> SFImageComposerInternalRefPtr; 
     197typedef SPointerFieldAdapter<ImageComposerWeakRefPtr, 
     198                             SFFieldContainerWeakRefPtr    > SFImageComposerWeakRefPtr; 
     199typedef SPointerFieldAdapter<ImageComposerParentPtr, 
     200                             SFFieldContainerParentPtr     > SFImageComposerParentPtr; 
    207201#endif 
    208202 
     
    211205/*! \ingroup GrpClusterFieldMulti */ 
    212206 
    213 typedef MFieldAdaptor<ImageComposerPtr, MFFieldContainerPtr> MFImageComposerPtr; 
    214  
    215 typedef MFieldAdaptor<ImageComposerInternalRefPtr, MFFieldContainerPtr> MFImageComposerInternalRefPtr; 
    216  
    217 typedef MFieldAdaptor<ParentImageComposerPtr, MFParentFieldContainerPtr> MFParentImageComposerPtr; 
     207typedef MPointerFieldAdapter<ImageComposerInternalRefPtr, 
     208                             MFFieldContainerInternalRefPtr> MFImageComposerInternalRefPtr; 
     209typedef MPointerFieldAdapter<ImageComposerWeakRefPtr, 
     210                             MFFieldContainerWeakRefPtr    > MFImageComposerWeakRefPtr; 
     211typedef MPointerFieldAdapter<ImageComposerParentPtr, 
     212                             MFFieldContainerParentPtr     > MFImageComposerParentPtr; 
    218213#endif 
    219214