Show
Ignore:
Timestamp:
11/14/07 17:11:26 (1 year ago)
Author:
cneumann
Message:

changed: started to use new pointer fields
added: ReferenceCountPointer? template
removed: EditHandle? for parent pointer fields

NOTE: Does not compile yet.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/Carsten_PtrWork2/Source/Contrib/VTK/OSGVTKMapperBase.h

    r864 r1016  
    8787class OSG_CONTRIBVTK_DLLMAPPING VTKMapperBase : public Group 
    8888{ 
     89    /*==========================  PUBLIC  =================================*/ 
    8990  public: 
    90  
     91    /*---------------------------------------------------------------------*/ 
     92    /*! \name Public Types                                                 */ 
     93    /*! \{                                                                 */ 
     94     
    9195    typedef Group Inherited; 
    9296    typedef Group ParentContainer; 
     
    9498    typedef Inherited::TypeObject TypeObject; 
    9599    typedef TypeObject::InitPhase InitPhase; 
    96  
    97     OSG_GEN_INTERNALPTR(VTKMapper); 
    98  
    99     /*==========================  PUBLIC  =================================*/ 
    100  
    101   public: 
     100        
     101    typedef SFNodeInternalPtr      RootFieldType; 
     102    typedef MFNodeInternalPtr      GeoRootsFieldType; 
     103    typedef MFGeometryInternalPtr  GeometriesFieldType; 
     104    typedef MFChunkMaterialInternalPtr MaterialsFieldType; 
     105    typedef MFMaterialChunkInternalPtr MaterialChunksFieldType; 
     106    typedef MFGeoPnt3fPropertyInternalPtr PositionsFieldType; 
     107    typedef MFGeoUInt32PropertyInternalPtr LengthFieldType; 
     108    typedef MFGeoUInt8PropertyInternalPtr TypesFieldType; 
     109    typedef MFGeoColor4fPropertyInternalPtr ColorsFieldType; 
     110    typedef MFGeoVec3fPropertyInternalPtr NormalsFieldType; 
     111     
     112    typedef VTKMapper       *       ObjPtr; 
     113    typedef VTKMapper const *       ObjConstPtr; 
     114    typedef VTKMapper       * const ObjPtrConst; 
     115    typedef VTKMapper const * const ObjConstPtrConst; 
     116 
     117    typedef WeakRefCountPtrBuilder<VTKMapper>::Ptr ObjWeakRefPtr; 
     118    typedef MTRefCountPtrBuilder  <VTKMapper>::Ptr ObjMTRefPtr; 
     119    typedef RefCountPtrBuilder    <VTKMapper>::Ptr ObjRefPtr; 
     120    typedef ParentPtrBuilder      <VTKMapper>::Ptr ObjParentPtr; 
     121     
     122    /*! \}                                                                 */ 
     123    /*---------------------------------------------------------------------*/ 
     124    /*! \name Constants                                                    */ 
     125    /*! \{                                                                 */ 
    102126 
    103127    enum 
     
    138162    static const OSG::BitVector NextFieldMask = 
    139163        (TypeTraits<BitVector>::One << NextFieldId); 
    140  
    141     /*---------------------------------------------------------------------*/ 
    142     /*! \name                    Class Get                                 */ 
     164         
     165    /*! \}                                                                 */ 
     166    /*---------------------------------------------------------------------*/ 
     167    /*! \name Class Get                                                    */ 
    143168    /*! \{                                                                 */ 
    144169 
     
    149174    /*! \}                                                                 */ 
    150175    /*---------------------------------------------------------------------*/ 
    151     /*! \name                FieldContainer Get                            */ 
    152     /*! \{                                                                 */ 
    153  
    154     virtual       FieldContainerType &getType         (void); 
    155     virtual const FieldContainerType &getType         (void) const; 
    156  
    157     virtual       UInt32              getContainerSize(void) const; 
    158  
    159     /*! \}                                                                 */ 
    160     /*---------------------------------------------------------------------*/ 
    161     /*! \name                    Field Get                                 */ 
    162     /*! \{                                                                 */ 
    163  
    164             const SFNodePtr           *getSFRoot            (void) const; 
    165             const MFNodePtr           *getMFGeoRoots        (void) const; 
    166             const MFGeometryPtr       *getMFGeometries      (void) const; 
    167             const MFChunkMaterialPtr  *getMFMaterials       (void) const; 
    168             const MFMaterialChunkPtr  *getMFMaterialChunks  (void) const; 
    169             const MFGeoPnt3fPropertyPtr *getMFPositions       (void) const; 
    170             const MFGeoUInt32PropertyPtr *getMFLength          (void) const; 
    171             const MFGeoUInt8PropertyPtr *getMFTypes           (void) const; 
    172             const MFGeoColor4fPropertyPtr *getMFColors          (void) const; 
    173             const MFGeoVec3fPropertyPtr *getMFNormals         (void) const; 
    174  
    175  
    176                   NodePtrConst getRoot           (void) const; 
    177  
    178                   NodePtrConst getGeoRoots       (const UInt32 index) const; 
    179             const MFNodePtr           &getGeoRoots       (void) const; 
    180  
    181                   GeometryPtrConst getGeometries     (const UInt32 index) const; 
    182             const MFGeometryPtr       &getGeometries     (void) const; 
    183  
    184                   ChunkMaterialPtrConst getMaterials      (const UInt32 index) const; 
    185             const MFChunkMaterialPtr  &getMaterials      (void) const; 
    186  
    187                   MaterialChunkPtrConst getMaterialChunks (const UInt32 index) const; 
    188             const MFMaterialChunkPtr  &getMaterialChunks (void) const; 
    189  
    190                   GeoPnt3fPropertyPtrConst getPositions      (const UInt32 index) const; 
    191             const MFGeoPnt3fPropertyPtr &getPositions      (void) const; 
    192  
    193                   GeoUInt32PropertyPtrConst getLength         (const UInt32 index) const; 
    194             const MFGeoUInt32PropertyPtr &getLength         (void) const; 
    195  
    196                   GeoUInt8PropertyPtrConst getTypes          (const UInt32 index) const; 
    197             const MFGeoUInt8PropertyPtr &getTypes          (void) const; 
    198  
    199                   GeoColor4fPropertyPtrConst getColors         (const UInt32 index) const; 
    200             const MFGeoColor4fPropertyPtr &getColors         (void) const; 
    201  
    202                   GeoVec3fPropertyPtrConst getNormals        (const UInt32 index) const; 
    203             const MFGeoVec3fPropertyPtr &getNormals        (void) const; 
    204  
    205     /*! \}                                                                 */ 
    206     /*---------------------------------------------------------------------*/ 
    207     /*! \name                    Field Set                                 */ 
    208     /*! \{                                                                 */ 
    209  
    210             void setRoot           (NodePtrConstArg value); 
    211  
    212     /*! \}                                                                 */ 
    213     /*---------------------------------------------------------------------*/ 
    214     /*! \name                Ptr Field Set                                 */ 
    215     /*! \{                                                                 */ 
    216  
    217     /*! \}                                                                 */ 
    218     /*---------------------------------------------------------------------*/ 
    219     /*! \name                Ptr MField Set                                */ 
    220     /*! \{                                                                 */ 
    221  
    222     void pushToGeoRoots            (NodePtrConstArg value   ); 
    223     void assignGeoRoots            (const MFNodePtr         &value); 
    224     void insertIntoGeoRoots      (UInt32                uiIndex, 
    225                                              NodePtrConstArg value   ); 
    226     void replaceInGeoRoots  (UInt32                uiIndex, 
    227                                              NodePtrConstArg value   ); 
    228     void replaceInGeoRoots (NodePtrConstArg pOldElem, 
    229                                              NodePtrConstArg pNewElem); 
    230     void removeFromGeoRoots (UInt32                uiIndex ); 
    231     void removeFromGeoRoots(NodePtrConstArg value   ); 
    232     void clearGeoRoots              (void                          ); 
    233  
    234  
    235     void pushToGeometries           (GeometryPtrConstArg value   ); 
    236     void assignGeometries           (const MFGeometryPtr     &value); 
    237     void insertIntoGeometries      (UInt32                uiIndex, 
    238                                              GeometryPtrConstArg value   ); 
    239     void replaceInGeometries  (UInt32                uiIndex, 
    240                                              GeometryPtrConstArg value   ); 
    241     void replaceInGeometries (GeometryPtrConstArg pOldElem, 
    242                                              GeometryPtrConstArg pNewElem); 
    243     void removeFromGeometries (UInt32                uiIndex ); 
    244     void removeFromGeometries(GeometryPtrConstArg value   ); 
    245     void clearGeometries            (void                          ); 
    246  
    247  
    248     void pushToMaterials           (ChunkMaterialPtrConstArg value   ); 
    249     void assignMaterials           (const MFChunkMaterialPtr &value); 
    250     void insertIntoMaterials      (UInt32                uiIndex, 
    251                                              ChunkMaterialPtrConstArg value   ); 
    252     void replaceInMaterials  (UInt32                uiIndex, 
    253                                              ChunkMaterialPtrConstArg value   ); 
    254     void replaceInMaterials (ChunkMaterialPtrConstArg pOldElem, 
    255                                              ChunkMaterialPtrConstArg pNewElem); 
    256     void removeFromMaterials (UInt32                uiIndex ); 
    257     void removeFromMaterials(ChunkMaterialPtrConstArg value   ); 
    258     void clearMaterials             (void                          ); 
    259  
    260  
    261     void pushToMaterialChunks           (MaterialChunkPtrConstArg value   ); 
    262     void assignMaterialChunks           (const MFMaterialChunkPtr &value); 
    263     void insertIntoMaterialChunks      (UInt32                uiIndex, 
    264                                              MaterialChunkPtrConstArg value   ); 
    265     void replaceInMaterialChunks  (UInt32                uiIndex, 
    266                                              MaterialChunkPtrConstArg value   ); 
    267     void replaceInMaterialChunks (MaterialChunkPtrConstArg pOldElem, 
    268                                              MaterialChunkPtrConstArg pNewElem); 
    269     void removeFromMaterialChunks (UInt32                uiIndex ); 
    270     void removeFromMaterialChunks(MaterialChunkPtrConstArg value   ); 
    271     void clearMaterialChunks            (void                          ); 
    272  
    273  
    274     void pushToPositions           (GeoPnt3fPropertyPtrConstArg value   ); 
    275     void assignPositions           (const MFGeoPnt3fPropertyPtr &value); 
    276     void insertIntoPositions      (UInt32                uiIndex, 
    277                                              GeoPnt3fPropertyPtrConstArg value   ); 
    278     void replaceInPositions  (UInt32                uiIndex, 
    279                                              GeoPnt3fPropertyPtrConstArg value   ); 
    280     void replaceInPositions (GeoPnt3fPropertyPtrConstArg pOldElem, 
    281                                              GeoPnt3fPropertyPtrConstArg pNewElem); 
    282     void removeFromPositions (UInt32                uiIndex ); 
    283     void removeFromPositions(GeoPnt3fPropertyPtrConstArg value   ); 
    284     void clearPositions             (void                          ); 
    285  
    286  
    287     void pushToLength              (GeoUInt32PropertyPtrConstArg value   ); 
    288     void assignLength              (const MFGeoUInt32PropertyPtr &value); 
    289     void insertIntoLength      (UInt32                uiIndex, 
    290                                              GeoUInt32PropertyPtrConstArg value   ); 
    291     void replaceInLength  (UInt32                uiIndex, 
    292                                              GeoUInt32PropertyPtrConstArg value   ); 
    293     void replaceInLength (GeoUInt32PropertyPtrConstArg pOldElem, 
    294                                              GeoUInt32PropertyPtrConstArg pNewElem); 
    295     void removeFromLength (UInt32                uiIndex ); 
    296     void removeFromLength(GeoUInt32PropertyPtrConstArg value   ); 
    297     void clearLength                (void                          ); 
    298  
    299  
    300     void pushToTypes               (GeoUInt8PropertyPtrConstArg value   ); 
    301     void assignTypes               (const MFGeoUInt8PropertyPtr &value); 
    302     void insertIntoTypes      (UInt32                uiIndex, 
    303                                              GeoUInt8PropertyPtrConstArg value   ); 
    304     void replaceInTypes   (UInt32                uiIndex, 
    305                                              GeoUInt8PropertyPtrConstArg value   ); 
    306     void replaceInTypes  (GeoUInt8PropertyPtrConstArg pOldElem, 
    307                                              GeoUInt8PropertyPtrConstArg pNewElem); 
    308     void removeFromTypes (UInt32                uiIndex ); 
    309     void removeFromTypes(GeoUInt8PropertyPtrConstArg value   ); 
    310     void clearTypes                 (void                          ); 
    311  
    312  
    313     void pushToColors              (GeoColor4fPropertyPtrConstArg value   ); 
    314     void assignColors              (const MFGeoColor4fPropertyPtr &value); 
    315     void insertIntoColors      (UInt32                uiIndex, 
    316                                              GeoColor4fPropertyPtrConstArg value   ); 
    317     void replaceInColors  (UInt32                uiIndex, 
    318                                              GeoColor4fPropertyPtrConstArg value   ); 
    319     void replaceInColors (GeoColor4fPropertyPtrConstArg pOldElem, 
    320                                              GeoColor4fPropertyPtrConstArg pNewElem); 
    321     void removeFromColors (UInt32                uiIndex ); 
    322     void removeFromColors(GeoColor4fPropertyPtrConstArg value   ); 
    323     void clearColors                (void                          ); 
    324  
    325  
    326     void pushToNormals             (GeoVec3fPropertyPtrConstArg value   ); 
    327     void assignNormals             (const MFGeoVec3fPropertyPtr &value); 
    328     void insertIntoNormals      (UInt32                uiIndex, 
    329                                              GeoVec3fPropertyPtrConstArg value   ); 
    330     void replaceInNormals  (UInt32                uiIndex, 
    331                                              GeoVec3fPropertyPtrConstArg value   ); 
    332     void replaceInNormals (GeoVec3fPropertyPtrConstArg pOldElem, 
    333                                              GeoVec3fPropertyPtrConstArg pNewElem); 
    334     void removeFromNormals (UInt32                uiIndex ); 
    335     void removeFromNormals(GeoVec3fPropertyPtrConstArg value   ); 
    336     void clearNormals               (void                          ); 
    337  
    338  
    339     /*! \}                                                                 */ 
    340     /*---------------------------------------------------------------------*/ 
    341     /*! \name                   Binary Access                              */ 
     176    /*! \name FieldContainer Get                                           */ 
     177    /*! \{                                                                 */ 
     178 
     179    virtual FieldContainerType       &getType         (void); 
     180    virtual FieldContainerType const &getType         (void) const; 
     181 
     182    virtual UInt32                    getContainerSize(void) const; 
     183 
     184    /*! \}                                                                 */ 
     185    /*---------------------------------------------------------------------*/ 
     186    /*! \name Field SFRoot                                                 */ 
     187    /*! \{                                                                 */ 
     188     
     189            SFNodeInternalPtr       *editSFRoot(void); 
     190            SFNodeInternalPtr const *getSFRoot (void) const; 
     191#ifdef OSG_1_GET_COMPAT 
     192            SFNodeInternalPtr       *getSFRoot (void); 
     193#endif 
     194            SFNodeInternalPtr::reference       editRoot(void); 
     195            SFNodeInternalPtr::const_reference getRoot (void) const; 
     196#ifdef OSG_1_GET_COMPAT 
     197            SFNodeInternalPtr::reference       getRoot (void); 
     198#endif 
     199            void setRoot(SFNodeInternalPtr::ArgumentType value); 
     200     
     201    /*! \}                                                                 */ 
     202    /*---------------------------------------------------------------------*/ 
     203    /*! \name Field MFGeoRoots                                             */ 
     204    /*! \{                                                                 */ 
     205     
     206            MFNodeInternalPtr       *editMFGeoRoots(void); 
     207            MFNodeInternalPtr const *getMFGeoRoots(void) const; 
     208#ifdef OSG_1_GET_COMPAT 
     209            MFNodeInternalPtr       *getMFGeoRoots (void); 
     210#endif 
     211     
     212            MFNodeInternalPtr                  &editGeoRoots(void); 
     213            MFNodeInternalPtr const            &getGeoRoots (void) const; 
     214            MFNodeInternalPtr::reference        editGeoRoots(UInt32 const index); 
     215            MFNodeInternalPtr::const_reference  getGeoRoots (UInt32 const index) const; 
     216#ifdef OSG_1_GET_COMPAT 
     217            MFNodeInternalPtr::const_reference  getGeoRoots (UInt32 const index); 
     218            MFNodeInternalPtr                  &getGeoRoots(void); 
     219#endif 
     220     
     221    void addGeoRoots(MFNodeInternalPtr::ArgumentType value); 
     222    void assignGeoRoots(MFNodeInternalPtr const &value); 
     223    void insertGeoRoots( 
     224            UInt32 const uiIndex, 
     225            MFNodeInternalPtr::ArgumentType value); 
     226    void replaceGeoRoots( 
     227            UInt32 const uiIndex, 
     228            MFNodeInternalPtr::ArgumentType value); 
     229    void replaceGeoRoots( 
     230            MFNodeInternalPtr::ArgumentType pOldElem, 
     231            MFNodeInternalPtr::ArgumentType pNewElem); 
     232    void subGeoRoots(UInt32 const uiIndex); 
     233    void subGeoRoots(MFNodeInternalPtr::ArgumentType value); 
     234    void clearGeoRoots(void); 
     235     
     236    /*! \}                                                                 */ 
     237    /*---------------------------------------------------------------------*/ 
     238    /*! \name Field MFGeometries                                           */ 
     239    /*! \{                                                                 */ 
     240     
     241            MFGeometryInternalPtr       *editMFGeometries(void); 
     242            MFGeometryInternalPtr const *getMFGeometries(void) const; 
     243#ifdef OSG_1_GET_COMPAT 
     244            MFGeometryInternalPtr       *getMFGeometries (void); 
     245#endif 
     246     
     247            MFGeometryInternalPtr                  &editGeometries(void); 
     248            MFGeometryInternalPtr const            &getGeometries (void) const; 
     249            MFGeometryInternalPtr::reference        editGeometries(UInt32 const index); 
     250            MFGeometryInternalPtr::const_reference  getGeometries (UInt32 const index) const; 
     251#ifdef OSG_1_GET_COMPAT 
     252            MFGeometryInternalPtr::const_reference  getGeometries (UInt32 const index); 
     253            MFGeometryInternalPtr                  &getGeometries(void); 
     254#endif 
     255     
     256    void addGeometries(MFGeometryInternalPtr::ArgumentType value); 
     257    void assignGeometries(MFGeometryInternalPtr const &value); 
     258    void insertGeometries( 
     259            UInt32 const uiIndex, 
     260            MFGeometryInternalPtr::ArgumentType value); 
     261    void replaceGeometries( 
     262            UInt32 const uiIndex, 
     263            MFGeometryInternalPtr::ArgumentType value); 
     264    void replaceGeometries( 
     265            MFGeometryInternalPtr::ArgumentType pOldElem, 
     266            MFGeometryInternalPtr::ArgumentType pNewElem); 
     267    void subGeometries(UInt32 const uiIndex); 
     268    void subGeometries(MFGeometryInternalPtr::ArgumentType value); 
     269    void clearGeometries(void); 
     270     
     271    /*! \}                                                                 */ 
     272    /*---------------------------------------------------------------------*/ 
     273    /*! \name Field MFMaterials                                            */ 
     274    /*! \{                                                                 */ 
     275     
     276            MFChunkMaterialInternalPtr       *editMFMaterials(void); 
     277            MFChunkMaterialInternalPtr const *getMFMaterials(void) const; 
     278#ifdef OSG_1_GET_COMPAT 
     279            MFChunkMaterialInternalPtr       *getMFMaterials (void); 
     280#endif 
     281     
     282            MFChunkMaterialInternalPtr                  &editMaterials(void); 
     283            MFChunkMaterialInternalPtr const            &getMaterials (void) const; 
     284            MFChunkMaterialInternalPtr::reference        editMaterials(UInt32 const index); 
     285            MFChunkMaterialInternalPtr::const_reference  getMaterials (UInt32 const index) const; 
     286#ifdef OSG_1_GET_COMPAT 
     287            MFChunkMaterialInternalPtr::const_reference  getMaterials (UInt32 const index); 
     288            MFChunkMaterialInternalPtr                  &getMaterials(void); 
     289#endif 
     290     
     291    void addMaterials(MFChunkMaterialInternalPtr::ArgumentType value); 
     292    void assignMaterials(MFChunkMaterialInternalPtr const &value); 
     293    void insertMaterials( 
     294            UInt32 const uiIndex, 
     295            MFChunkMaterialInternalPtr::ArgumentType value); 
     296    void replaceMaterials( 
     297            UInt32 const uiIndex, 
     298            MFChunkMaterialInternalPtr::ArgumentType value); 
     299    void replaceMaterials( 
     300            MFChunkMaterialInternalPtr::ArgumentType pOldElem, 
     301            MFChunkMaterialInternalPtr::ArgumentType pNewElem); 
     302    void subMaterials(UInt32 const uiIndex); 
     303    void subMaterials(MFChunkMaterialInternalPtr::ArgumentType value); 
     304    void clearMaterials(void); 
     305     
     306    /*! \}                                                                 */ 
     307    /*---------------------------------------------------------------------*/ 
     308    /*! \name Field MFMaterialChunks                                       */ 
     309    /*! \{                                                                 */ 
     310     
     311            MFMaterialChunkInternalPtr       *editMFMaterialChunks(void); 
     312            MFMaterialChunkInternalPtr const *getMFMaterialChunks(void) const; 
     313#ifdef OSG_1_GET_COMPAT 
     314            MFMaterialChunkInternalPtr       *getMFMaterialChunks (void); 
     315#endif 
     316     
     317            MFMaterialChunkInternalPtr                  &editMaterialChunks(void); 
     318            MFMaterialChunkInternalPtr const            &getMaterialChunks (void) const; 
     319            MFMaterialChunkInternalPtr::reference        editMaterialChunks(UInt32 const index); 
     320            MFMaterialChunkInternalPtr::const_reference  getMaterialChunks (UInt32 const index) const; 
     321#ifdef OSG_1_GET_COMPAT 
     322            MFMaterialChunkInternalPtr::const_reference  getMaterialChunks (UInt32 const index); 
     323            MFMaterialChunkInternalPtr                  &getMaterialChunks(void); 
     324#endif 
     325     
     326    void addMaterialChunks(MFMaterialChunkInternalPtr::ArgumentType value); 
     327    void assignMaterialChunks(MFMaterialChunkInternalPtr const &value); 
     328    void insertMaterialChunks( 
     329            UInt32 const uiIndex, 
     330            MFMaterialChunkInternalPtr::ArgumentType value); 
     331    void replaceMaterialChunks( 
     332            UInt32 const uiIndex, 
     333            MFMaterialChunkInternalPtr::ArgumentType value); 
     334    void replaceMaterialChunks( 
     335            MFMaterialChunkInternalPtr::ArgumentType pOldElem, 
     336            MFMaterialChunkInternalPtr::ArgumentType pNewElem); 
     337    void subMaterialChunks(UInt32 const uiIndex); 
     338    void subMaterialChunks(MFMaterialChunkInternalPtr::ArgumentType value); 
     339    void clearMaterialChunks(void); 
     340     
     341    /*! \}                                                                 */ 
     342    /*---------------------------------------------------------------------*/ 
     343    /*! \name Field MFPositions                                            */ 
     344    /*! \{                                                                 */ 
     345     
     346            MFGeoPnt3fPropertyInternalPtr       *editMFPositions(void); 
     347            MFGeoPnt3fPropertyInternalPtr const *getMFPositions(void) const; 
     348#ifdef OSG_1_GET_COMPAT 
     349            MFGeoPnt3fPropertyInternalPtr       *getMFPositions (void); 
     350#endif 
     351     
     352            MFGeoPnt3fPropertyInternalPtr                  &editPositions(void); 
     353            MFGeoPnt3fPropertyInternalPtr const            &getPositions (void) const; 
     354            MFGeoPnt3fPropertyInternalPtr::reference        editPositions(UInt32 const index); 
     355            MFGeoPnt3fPropertyInternalPtr::const_reference  getPositions (UInt32 const index) const; 
     356#ifdef OSG_1_GET_COMPAT 
     357            MFGeoPnt3fPropertyInternalPtr::const_reference  getPositions (UInt32 const index); 
     358            MFGeoPnt3fPropertyInternalPtr                  &getPositions(void); 
     359#endif 
     360     
     361    void addPositions(MFGeoPnt3fPropertyInternalPtr::ArgumentType value); 
     362    void assignPositions(MFGeoPnt3fPropertyInternalPtr const &value); 
     363    void insertPositions( 
     364            UInt32 const uiIndex, 
     365            MFGeoPnt3fPropertyInternalPtr::ArgumentType value); 
     366    void replacePositions( 
     367            UInt32 const uiIndex, 
     368            MFGeoPnt3fPropertyInternalPtr::ArgumentType value); 
     369    void replacePositions( 
     370            MFGeoPnt3fPropertyInternalPtr::ArgumentType pOldElem, 
     371            MFGeoPnt3fPropertyInternalPtr::ArgumentType pNewElem); 
     372    void subPositions(UInt32 const uiIndex); 
     373    void subPositions(MFGeoPnt3fPropertyInternalPtr::ArgumentType value); 
     374    void clearPositions(void); 
     375     
     376    /*! \}                                                                 */ 
     377    /*---------------------------------------------------------------------*/ 
     378    /*! \name Field MFLength                                               */ 
     379    /*! \{                                                                 */ 
     380     
     381            MFGeoUInt32PropertyInternalPtr       *editMFLength(void); 
     382            MFGeoUInt32PropertyInternalPtr const *getMFLength(void) const; 
     383#ifdef OSG_1_GET_COMPAT 
     384            MFGeoUInt32PropertyInternalPtr       *getMFLength (void); 
     385#endif 
     386     
     387            MFGeoUInt32PropertyInternalPtr                  &editLength(void); 
     388            MFGeoUInt32PropertyInternalPtr const            &getLength (void) const; 
     389            MFGeoUInt32PropertyInternalPtr::reference        editLength(UInt32 const index); 
     390            MFGeoUInt32PropertyInternalPtr::const_reference  getLength (UInt32 const index) const; 
     391#ifdef OSG_1_GET_COMPAT 
     392            MFGeoUInt32PropertyInternalPtr::const_reference  getLength (UInt32 const index); 
     393            MFGeoUInt32PropertyInternalPtr                  &getLength(void); 
     394#endif 
     395     
     396    void addLength(MFGeoUInt32PropertyInternalPtr::ArgumentType value); 
     397    void assignLength(MFGeoUInt32PropertyInternalPtr const &value); 
     398    void insertLength( 
     399            UInt32 const uiIndex, 
     400            MFGeoUInt32PropertyInternalPtr::ArgumentType value); 
     401    void replaceLength( 
     402            UInt32 const uiIndex, 
     403            MFGeoUInt32PropertyInternalPtr::ArgumentType value); 
     404    void replaceLength( 
     405            MFGeoUInt32PropertyInternalPtr::ArgumentType pOldElem, 
     406            MFGeoUInt32PropertyInternalPtr::ArgumentType pNewElem); 
     407    void subLength(UInt32 const uiIndex); 
     408    void subLength(MFGeoUInt32PropertyInternalPtr::ArgumentType value); 
     409    void clearLength(void); 
     410     
     411    /*! \}                                                                 */ 
     412    /*---------------------------------------------------------------------*/ 
     413    /*! \name Field MFTypes                                                */ 
     414    /*! \{                                                                 */ 
     415     
     416            MFGeoUInt8PropertyInternalPtr       *editMFTypes(void); 
     417            MFGeoUInt8PropertyInternalPtr const *getMFTypes(void) const; 
     418#ifdef OSG_1_GET_COMPAT 
     419            MFGeoUInt8PropertyInternalPtr       *getMFTypes (void); 
     420#endif 
     421     
     422            MFGeoUInt8PropertyInternalPtr                  &editTypes(void); 
     423            MFGeoUInt8PropertyInternalPtr const            &getTypes (void) const; 
     424            MFGeoUInt8PropertyInternalPtr::reference        editTypes(UInt32 const index); 
     425            MFGeoUInt8PropertyInternalPtr::const_reference  getTypes (UInt32 const index) const; 
     426#ifdef OSG_1_GET_COMPAT 
     427            MFGeoUInt8PropertyInternalPtr::const_reference  getTypes (UInt32 const index); 
     428            MFGeoUInt8PropertyInternalPtr                  &getTypes(void); 
     429#endif 
     430     
     431    void addTypes(MFGeoUInt8PropertyInternalPtr::ArgumentType value); 
     432    void assignTypes(MFGeoUInt8PropertyInternalPtr const &value); 
     433    void insertTypes( 
     434            UInt32 const uiIndex, 
     435            MFGeoUInt8PropertyInternalPtr::ArgumentType value); 
     436    void replaceTypes( 
     437            UInt32 const uiIndex, 
     438            MFGeoUInt8PropertyInternalPtr::ArgumentType value); 
     439    void replaceTypes( 
     440            MFGeoUInt8PropertyInternalPtr::ArgumentType pOldElem, 
     441            MFGeoUInt8PropertyInternalPtr::ArgumentType pNewElem); 
     442    void subTypes(UInt32 const uiIndex); 
     443    void subTypes(MFGeoUInt8PropertyInternalPtr::ArgumentType value); 
     444    void clearTypes(void); 
     445     
     446    /*! \}                                                                 */ 
     447    /*---------------------------------------------------------------------*/ 
     448    /*! \name Field MFColors                                               */ 
     449    /*! \{                                                                 */ 
     450     
     451            MFGeoColor4fPropertyInternalPtr       *editMFColors(void); 
     452            MFGeoColor4fPropertyInternalPtr const *getMFColors(void) const; 
     453#ifdef OSG_1_GET_COMPAT 
     454            MFGeoColor4fPropertyInternalPtr       *getMFColors (void); 
     455#endif 
     456     
     457            MFGeoColor4fPropertyInternalPtr                  &editColors(void); 
     458            MFGeoColor4fPropertyInternalPtr const            &getColors (void) const; 
     459            MFGeoColor4fPropertyInternalPtr::reference        editColors(UInt32 const index); 
     460            MFGeoColor4fPropertyInternalPtr::const_reference  getColors (UInt32 const index) const; 
     461#ifdef OSG_1_GET_COMPAT 
     462            MFGeoColor4fPropertyInternalPtr::const_reference  getColors (UInt32 const index); 
     463            MFGeoColor4fPropertyInternalPtr                  &getColors(void); 
     464#endif 
     465     
     466    void addColors(MFGeoColor4fPropertyInternalPtr::ArgumentType value); 
     467    void assignColors(MFGeoColor4fPropertyInternalPtr const &value); 
     468    void insertColors( 
     469            UInt32 const uiIndex, 
     470            MFGeoColor4fPropertyInternalPtr::ArgumentType value); 
     471    void replaceColors( 
     472            UInt32 const uiIndex, 
     473            MFGeoColor4fPropertyInternalPtr::ArgumentType value); 
     474    void replaceColors( 
     475            MFGeoColor4fPropertyInternalPtr::ArgumentType pOldElem, 
     476            MFGeoColor4fPropertyInternalPtr::ArgumentType pNewElem); 
     477    void subColors(UInt32 const uiIndex); 
     478    void subColors(MFGeoColor4fPropertyInternalPtr::ArgumentType value); 
     479    void clearColors(void); 
     480     
     481    /*! \}                                                                 */ 
     482    /*---------------------------------------------------------------------*/ 
     483    /*! \name Field MFNormals                                              */ 
     484    /*! \{                                                                 */ 
     485     
     486            MFGeoVec3fPropertyInternalPtr       *editMFNormals(void); 
     487            MFGeoVec3fPropertyInternalPtr const *getMFNormals(void) const; 
     488#ifdef OSG_1_GET_COMPAT 
     489            MFGeoVec3fPropertyInternalPtr       *getMFNormals (void); 
     490#endif 
     491     
     492            MFGeoVec3fPropertyInternalPtr                  &editNormals(void); 
     493            MFGeoVec3fPropertyInternalPtr const            &getNormals (void) const; 
     494            MFGeoVec3fPropertyInternalPtr::reference        editNormals(UInt32 const index); 
     495            MFGeoVec3fPropertyInternalPtr::const_reference  getNormals (UInt32 const index) const; 
     496#ifdef OSG_1_GET_COMPAT 
     497            MFGeoVec3fPropertyInternalPtr::const_reference  getNormals (UInt32 const index); 
     498            MFGeoVec3fPropertyInternalPtr                  &getNormals(void); 
     499#endif 
     500     
     501    void addNormals(MFGeoVec3fPropertyInternalPtr::ArgumentType value); 
     502    void assignNormals(MFGeoVec3fPropertyInternalPtr const &value); 
     503    void insertNormals( 
     504            UInt32 const uiIndex, 
     505            MFGeoVec3fPropertyInternalPtr::ArgumentType value); 
     506    void replaceNormals( 
     507            UInt32 const uiIndex, 
     508            MFGeoVec3fPropertyInternalPtr::ArgumentType value); 
     509    void replaceNormals( 
     510            MFGeoVec3fPropertyInternalPtr::ArgumentType pOldElem, 
     511            MFGeoVec3fPropertyInternalPtr::ArgumentType pNewElem); 
     512    void subNormals(UInt32 const uiIndex); 
     513    void subNormals(MFGeoVec3fPropertyInternalPtr::ArgumentType value); 
     514    void clearNormals(void); 
     515     
     516    /*! \}                                                                 */ 
     517     
     518    /*---------------------------------------------------------------------*/ 
     519    /*! \name Binary Access                                                */ 
    342520    /*! \{                                                                 */ 
    343521 
     
    348526                               ConstFieldMaskArg  whichField); 
    349527 
    350  
    351     /*! \}                                                                 */ 
    352     /*---------------------------------------------------------------------*/ 
    353     /*! \name                   Construction                               */ 
     528    /*! \}                                                                 */ 
     529    /*---------------------------------------------------------------------*/ 
     530    /*! \name Construction                                                 */ 
    354531    /*! \{                                                                 */ 
    355532 
     
    359536    /*! \}                                                                 */ 
    360537    /*---------------------------------------------------------------------*/ 
    361     /*! \name                       Copy                                   */ 
     538    /*! \name Copy                                                         */ 
    362539    /*! \{                                                                 */ 
    363540 
     
    366543    /*! \}                                                                 */ 
    367544    /*=========================  PROTECTED  ===============================*/ 
    368  
    369545  protected: 
    370546 
    371547    static TypeObject _type; 
    372548 
    373     static void   classDescInserter(TypeObject &oType); 
    374     static Char8 *getClassname     (void             ); 
    375  
    376     /*---------------------------------------------------------------------*/ 
    377     /*! \name                      Fields                                  */ 
    378     /*! \{                                                                 */ 
    379  
    380     SFNodePtr        _sfRoot; 
    381     MFNodePtr        _mfGeoRoots; 
    382     MFGeometryPtr    _mfGeometries; 
    383     MFChunkMaterialPtr _mfMaterials; 
    384     MFMaterialChunkPtr _mfMaterialChunks; 
    385     MFGeoPnt3fPropertyPtr _mfPositions; 
    386     MFGeoUInt32PropertyPtr _mfLength; 
    387     MFGeoUInt8PropertyPtr _mfTypes; 
    388     MFGeoColor4fPropertyPtr _mfColors; 
    389     MFGeoVec3fPropertyPtr _mfNormals; 
    390  
    391     /*! \}                                                                 */ 
    392     /*---------------------------------------------------------------------*/ 
    393     /*! \name                   Constructors                               */ 
     549    static void         classDescInserter(TypeObject &oType); 
     550    static Char8 const *getClassname     (void             ); 
     551 
     552    /*---------------------------------------------------------------------*/ 
     553    /*! \name Fields                                                       */ 
     554    /*! \{                                                                 */ 
     555 
     556    SFNodeInternalPtr _sfRoot; 
     557    MFNodeInternalPtr _mfGeoRoots; 
     558    MFGeometryInternalPtr _mfGeometries; 
     559    MFChunkMaterialInternalPtr _mfMaterials; 
     560    MFMaterialChunkInternalPtr _mfMaterialChunks; 
     561    MFGeoPnt3fPropertyInternalPtr _mfPositions; 
     562    MFGeoUInt32PropertyInternalPtr _mfLength; 
     563    MFGeoUInt8PropertyInternalPtr _mfTypes; 
     564    MFGeoColor4fPropertyInternalPtr _mfColors; 
     565    MFGeoVec3fPropertyInternalPtr _mfNormals; 
     566 
     567    /*! \}                                                                 */ 
     568    /*---------------------------------------------------------------------*/ 
     569    /*! \name Constructors                                                 */ 
    394570    /*! \{                                                                 */ 
    395571 
    396572    VTKMapperBase(void); 
    397     VTKMapperBase(const VTKMapperBase &source); 
    398  
    399     /*! \}                                                                 */ 
    400     /*---------------------------------------------------------------------*/ 
    401     /*! \name                   Destructors                                */ 
     573    VTKMapperBase(VTKMapperBase const &source); 
     574 
     575    /*! \}                                                                 */ 
     576    /*---------------------------------------------------------------------*/ 
     577    /*! \name Destructors                                                  */ 
    402578    /*! \{                                                                 */ 
    403579 
     
    406582    /*! \}                                                                 */ 
    407583    /*---------------------------------------------------------------------*/ 
    408     /*! \name                     onCreate                                */ 
    409     /*! \{                                                                 */ 
    410  
    411     void onCreate(const VTKMapper *source = NULL); 
    412  
    413     /*! \}                                                                 */ 
    414     /*---------------------------------------------------------------------*/ 
    415     /*! \name                    Generic Field Access                      */ 
     584    /*! \name onCreate                                                     */ 
     585    /*! \{                                                                 */ 
     586 
     587    void onCreate(VTKMapper const *source = NULL); 
     588 
     589    /*! \}                                                                 */ 
     590    /*---------------------------------------------------------------------*/ 
     591    /*! \name Generic Field Access                                         */ 
    416592    /*! \{                                                                 */ 
    417593 
     
    439615    /*! \}                                                                 */ 
    440616    /*---------------------------------------------------------------------*/ 
    441     /*! \name                       Sync                                   */ 
     617    /*! \name Sync                                                         */ 
    442618    /*! \{                                                                 */ 
    443619 
    444620#ifdef OSG_MT_CPTR_ASPECT 
    445     virtual void execSyncV(      FieldContainer    &oFrom, 
    446                                  ConstFieldMaskArg  whichField, 
    447                                  AspectOffsetStore &oOffsets, 
    448                                  ConstFieldMaskArg  syncMode  , 
    449                            const UInt32             uiSyncInfo); 
    450  
    451             void execSync (      VTKMapperBase *pFrom, 
    452                                  ConstFieldMaskArg  whichField, 
    453                                  AspectOffsetStore &oOffsets, 
    454                                  ConstFieldMaskArg  syncMode  , 
    455                            const UInt32             uiSyncInfo); 
    456 #endif 
    457  
    458     /*! \}                                                                 */ 
    459     /*---------------------------------------------------------------------*/ 
    460     /*! \name                       Edit                                   */ 
    461     /*! \{                                                                 */ 
    462  
    463     /*! \}                                                                 */ 
    464     /*---------------------------------------------------------------------*/ 
    465     /*! \name                     Aspect Create                            */ 
     621    virtual void execSyncV(FieldContainer    &oFrom, 
     622                           ConstFieldMaskArg  whichField, 
     623