Show
Ignore:
Timestamp:
12/12/07 18:00:42 (9 months ago)
Author:
cneumann
Message:

added: generic interface
changed: factory functions return RefPtr?

The unittests don't pass right now, because of the change
to the factory functions, which leads to containers
being immediately destroyed as they are not assigned to
a RefPtr?.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/Carsten_PtrWork2/Source/System/Depreciated/State/OSGCubeTextureChunkBase.cpp

    r1020 r1032  
    122122*/ 
    123123 
    124  
     124     
    125125void CubeTextureChunkBase::classDescInserter(TypeObject &oType) 
    126126{ 
    127127    FieldDescriptionBase *pDesc = NULL; 
    128  
    129128 
    130129    pDesc = new SFImageInternalPtr::Description( 
     
    132131        "posZImage", 
    133132        "The image for the positive Z direction for the cube tetxure.\n", 
    134         PosZImageFieldId, PosZImageFieldMask, 
     133        PosZImageFieldId, 
     134        PosZImageFieldMask, 
    135135        false, 
    136136        Field::SFDefaultFlags, 
    137137        static_cast<FieldEditMethodSig>(&CubeTextureChunkBase::editHandlePosZImage), 
    138         static_cast<FieldGetMethodSig >(&CubeTextureChunkBase::getHandlePosZImage)); 
    139  
    140     oType.addInitialDesc(pDesc); 
    141  
     138        static_cast<FieldGetMethodSig >(&CubeTextureChunkBase::getHandlePosZImage ) ); 
     139         
     140        oType.addInitialDesc(pDesc); 
     141         
     142         
    142143    pDesc = new SFImageInternalPtr::Description( 
    143144        SFImageInternalPtr::getClassType(), 
    144145        "posXImage", 
    145146        "The image for the positive X direction for the cube tetxure.\n", 
    146         PosXImageFieldId, PosXImageFieldMask, 
     147        PosXImageFieldId, 
     148        PosXImageFieldMask, 
    147149        false, 
    148150        Field::SFDefaultFlags, 
    149151        static_cast<FieldEditMethodSig>(&CubeTextureChunkBase::editHandlePosXImage), 
    150         static_cast<FieldGetMethodSig >(&CubeTextureChunkBase::getHandlePosXImage)); 
    151  
    152     oType.addInitialDesc(pDesc); 
    153  
     152        static_cast<FieldGetMethodSig >(&CubeTextureChunkBase::getHandlePosXImage ) ); 
     153         
     154        oType.addInitialDesc(pDesc); 
     155         
     156         
    154157    pDesc = new SFImageInternalPtr::Description( 
    155158        SFImageInternalPtr::getClassType(), 
    156159        "negXImage", 
    157160        "The image for the negative X direction for the cube tetxure.\n", 
    158         NegXImageFieldId, NegXImageFieldMask, 
     161        NegXImageFieldId, 
     162        NegXImageFieldMask, 
    159163        false, 
    160164        Field::SFDefaultFlags, 
    161165        static_cast<FieldEditMethodSig>(&CubeTextureChunkBase::editHandleNegXImage), 
    162         static_cast<FieldGetMethodSig >(&CubeTextureChunkBase::getHandleNegXImage)); 
    163  
    164     oType.addInitialDesc(pDesc); 
    165  
     166        static_cast<FieldGetMethodSig >(&CubeTextureChunkBase::getHandleNegXImage ) ); 
     167         
     168        oType.addInitialDesc(pDesc); 
     169         
     170         
    166171    pDesc = new SFImageInternalPtr::Description( 
    167172        SFImageInternalPtr::getClassType(), 
    168173        "posYImage", 
    169174        "The image for the positive Y direction for the cube tetxure.\n", 
    170         PosYImageFieldId, PosYImageFieldMask, 
     175        PosYImageFieldId, 
     176        PosYImageFieldMask, 
    171177        false, 
    172178        Field::SFDefaultFlags, 
    173179        static_cast<FieldEditMethodSig>(&CubeTextureChunkBase::editHandlePosYImage), 
    174         static_cast<FieldGetMethodSig >(&CubeTextureChunkBase::getHandlePosYImage)); 
    175  
    176     oType.addInitialDesc(pDesc); 
    177  
     180        static_cast<FieldGetMethodSig >(&CubeTextureChunkBase::getHandlePosYImage ) ); 
     181         
     182        oType.addInitialDesc(pDesc); 
     183         
     184         
    178185    pDesc = new SFImageInternalPtr::Description( 
    179186        SFImageInternalPtr::getClassType(), 
    180187        "negYImage", 
    181188        "The image for the negative Y direction for the cube tetxure.\n", 
    182         NegYImageFieldId, NegYImageFieldMask, 
     189        NegYImageFieldId, 
     190        NegYImageFieldMask, 
    183191        false, 
    184192        Field::SFDefaultFlags, 
    185193        static_cast<FieldEditMethodSig>(&CubeTextureChunkBase::editHandleNegYImage), 
    186         static_cast<FieldGetMethodSig >(&CubeTextureChunkBase::getHandleNegYImage)); 
    187  
    188     oType.addInitialDesc(pDesc); 
    189  
     194        static_cast<FieldGetMethodSig >(&CubeTextureChunkBase::getHandleNegYImage ) ); 
     195         
     196        oType.addInitialDesc(pDesc); 
     197         
     198         
    190199    pDesc = new SFBool::Description( 
    191200        SFBool::getClassType(), 
    192201        "isReflectionMap", 
    193202        "", 
    194         IsReflectionMapFieldId, IsReflectionMapFieldMask, 
     203        IsReflectionMapFieldId, 
     204        IsReflectionMapFieldMask, 
    195205        false, 
    196206        Field::SFDefaultFlags, 
    197207        static_cast<FieldEditMethodSig>(&CubeTextureChunkBase::editHandleIsReflectionMap), 
    198         static_cast<FieldGetMethodSig >(&CubeTextureChunkBase::getHandleIsReflectionMap)); 
    199  
    200     oType.addInitialDesc(pDesc); 
    201 
    202  
     208        static_cast<FieldGetMethodSig >(&CubeTextureChunkBase::getHandleIsReflectionMap ) ); 
     209         
     210        oType.addInitialDesc(pDesc); 
     211         
     212         
     213
    203214 
    204215CubeTextureChunkBase::TypeObject CubeTextureChunkBase::_type( 
     
    309320    "\\deprecated Use OSG::CubeTextureObjChunk instead.\n" 
    310321    ); 
    311  
     322     
    312323/*------------------------------ get -----------------------------------*/ 
    313324 
     
    429440 
    430441//! create a new instance of the class 
    431 CubeTextureChunkPtr CubeTextureChunkBase::create(void) 
    432 
    433     CubeTextureChunkPtr fc; 
     442CubeTextureChunkBase::ObjRefPtr 
     443CubeTextureChunkBase::create(void) 
     444
     445    ObjRefPtr pFC; 
    434446 
    435447    if(getClassType().getPrototype() != NullFC) 
    436448    { 
    437         fc = dynamic_cast<CubeTextureChunk::ObjPtr>( 
    438             getClassType().getPrototype()-> shallowCopy()); 
    439     } 
    440  
    441     return fc
     449        pFC = boost::dynamic_pointer_cast<CubeTextureChunk>( 
     450            getClassType().getPrototype()->shallowCopy()); 
     451    } 
     452 
     453    return pFC
    442454} 
    443455 
     
    452464} 
    453465 
    454 FieldContainerPtr CubeTextureChunkBase::shallowCopy(void) const 
    455 
    456     CubeTextureChunkPtr returnValue; 
     466FieldContainerRefPtr 
     467CubeTextureChunkBase::shallowCopy(void) const 
     468
     469    ObjPtr returnValue; 
    457470 
    458471    newPtr(returnValue, dynamic_cast<const CubeTextureChunk *>(this)); 
    459472 
    460     return returnValue
     473    return FieldContainerRefPtr(returnValue)
    461474} 
    462475 
     
    501514    { 
    502515        this->setPosZImage(source->getPosZImage()); 
     516         
    503517        this->setPosXImage(source->getPosXImage()); 
     518         
    504519        this->setNegXImage(source->getNegXImage()); 
     520         
    505521        this->setPosYImage(source->getPosYImage()); 
     522         
    506523        this->setNegYImage(source->getNegYImage()); 
     524         
    507525    } 
    508526} 
     
    525543             this->getType().getFieldDesc(PosZImageFieldId))); 
    526544 
    527 //    returnValue->setSetMethod(boost::bind(&CubeTextureChunk::setPosZImage,  
    528 //                                          static_cast<CubeTextureChunk *>(this), _1)); 
     545    returnValue->setSetFunc( 
     546        boost::bind( 
     547            &CubeTextureChunk::setPosZImage, 
     548            static_cast<CubeTextureChunk *>(this), _1)); 
    529549 
    530550    editSField(PosZImageFieldMask); 
     
    550570             this->getType().getFieldDesc(PosXImageFieldId))); 
    551571 
    552 //    returnValue->setSetMethod(boost::bind(&CubeTextureChunk::setPosXImage,  
    553 //                                          static_cast<CubeTextureChunk *>(this), _1)); 
     572    returnValue->setSetFunc( 
     573        boost::bind( 
     574            &CubeTextureChunk::setPosXImage, 
     575            static_cast<CubeTextureChunk *>(this), _1)); 
    554576 
    555577    editSField(PosXImageFieldMask); 
     
    575597             this->getType().getFieldDesc(NegXImageFieldId))); 
    576598 
    577 //    returnValue->setSetMethod(boost::bind(&CubeTextureChunk::setNegXImage,  
    578 //                                          static_cast<CubeTextureChunk *>(this), _1)); 
     599    returnValue->setSetFunc( 
     600        boost::bind( 
     601            &CubeTextureChunk::setNegXImage, 
     602            static_cast<CubeTextureChunk *>(this), _1)); 
    579603 
    580604    editSField(NegXImageFieldMask); 
     
    600624             this->getType().getFieldDesc(PosYImageFieldId))); 
    601625 
    602 //    returnValue->setSetMethod(boost::bind(&CubeTextureChunk::setPosYImage,  
    603 //                                          static_cast<CubeTextureChunk *>(this), _1)); 
     626    returnValue->setSetFunc( 
     627        boost::bind( 
     628            &CubeTextureChunk::setPosYImage, 
     629            static_cast<CubeTextureChunk *>(this), _1)); 
    604630 
    605631    editSField(PosYImageFieldMask); 
     
    625651             this->getType().getFieldDesc(NegYImageFieldId))); 
    626652 
    627 //    returnValue->setSetMethod(boost::bind(&CubeTextureChunk::setNegYImage,  
    628 //                                          static_cast<CubeTextureChunk *>(this), _1)); 
     653    returnValue->setSetFunc( 
     654        boost::bind( 
     655            &CubeTextureChunk::setNegYImage, 
     656            static_cast<CubeTextureChunk *>(this), _1)); 
    629657 
    630658    editSField(NegYImageFieldMask);