Changeset 10413

Show
Ignore:
Timestamp:
06/25/09 16:06:29 (4 years ago)
Author:
robert
Message:

From Mathias Froehlich, changes from atof to use osg::asciiToFloat() to avoid locale issues with atof

Location:
OpenSceneGraph/branches/OpenSceneGraph-2.8/src
Files:
13 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osg/ArgumentParser.cpp

    r9145 r10413  
    1717#include <osg/ArgumentParser> 
    1818#include <osg/ApplicationUsage> 
     19#include <osg/Math> 
    1920#include <osg/Notify> 
    2021 
     
    164165            break; 
    165166        } 
    166         case Parameter::FLOAT_PARAMETER:        *_value._float = atof(str); break; 
    167         case Parameter::DOUBLE_PARAMETER:       *_value._double = atof(str); break; 
     167        case Parameter::FLOAT_PARAMETER:        *_value._float = osg::asciiToFloat(str); break; 
     168        case Parameter::DOUBLE_PARAMETER:       *_value._double = osg::asciiToDouble(str); break; 
    168169        case Parameter::INT_PARAMETER:          *_value._int = atoi(str); break; 
    169170        case Parameter::UNSIGNED_INT_PARAMETER: *_value._uint = atoi(str); break; 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osg/CullSettings.cpp

    r8137 r10413  
    112112    if ((ptr = getenv("OSG_NEAR_FAR_RATIO")) != 0) 
    113113    { 
    114         _nearFarRatio = atof(ptr); 
     114        _nearFarRatio = osg::asciiToDouble(ptr); 
    115115 
    116116        osg::notify(osg::INFO)<<"Set near/far ratio to "<<_nearFarRatio<<std::endl; 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osg/DisplaySettings.cpp

    r9191 r10413  
    1414#include <osg/ArgumentParser> 
    1515#include <osg/ApplicationUsage> 
     16#include <osg/Math> 
    1617#include <osg/Notify> 
    1718#include <osg/ref_ptr> 
     
    268269    if( (ptr = getenv("OSG_EYE_SEPARATION")) != 0) 
    269270    { 
    270         _eyeSeparation = atof(ptr); 
     271        _eyeSeparation = osg::asciiToFloat(ptr); 
    271272    } 
    272273 
    273274    if( (ptr = getenv("OSG_SCREEN_WIDTH")) != 0) 
    274275    { 
    275         _screenWidth = atof(ptr); 
     276        _screenWidth = osg::asciiToFloat(ptr); 
    276277    } 
    277278 
    278279    if( (ptr = getenv("OSG_SCREEN_HEIGHT")) != 0) 
    279280    { 
    280         _screenHeight = atof(ptr); 
     281        _screenHeight = osg::asciiToFloat(ptr); 
    281282    } 
    282283 
    283284    if( (ptr = getenv("OSG_SCREEN_DISTANCE")) != 0) 
    284285    { 
    285         _screenDistance = atof(ptr); 
     286        _screenDistance = osg::asciiToFloat(ptr); 
    286287    } 
    287288 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgDB/DatabasePager.cpp

    r10151 r10413  
    886886    if( (ptr = getenv("OSG_EXPIRY_DELAY")) != 0) 
    887887    { 
    888         _expiryDelay = atof(ptr); 
     888        _expiryDelay = osg::asciiToDouble(ptr); 
    889889        osg::notify(osg::NOTICE)<<"Expiry delay = "<<_expiryDelay<<std::endl; 
    890890    } 
     
    905905        else 
    906906        { 
    907             setReleaseDelay(atof(ptr)); 
     907            setReleaseDelay(osg::asciiToDouble(ptr)); 
    908908        } 
    909909             
     
    944944    if( (ptr = getenv("OSG_MINIMUM_COMPILE_TIME_PER_FRAME")) != 0) 
    945945    { 
    946         _minimumTimeAvailableForGLCompileAndDeletePerFrame = atof(ptr); 
     946        _minimumTimeAvailableForGLCompileAndDeletePerFrame = osg::asciiToDouble(ptr); 
    947947    } 
    948948 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgGA/DriveManipulator.cpp

    r8561 r10413  
    3737    if (getenv("OSG_DRIVE_MANIPULATOR_HEIGHT")) 
    3838    { 
    39         height = atof(getenv("OSG_DRIVE_MANIPULATOR_HEIGHT")); 
     39        height = osg::asciiToDouble(getenv("OSG_DRIVE_MANIPULATOR_HEIGHT")); 
    4040    } 
    4141    osg::notify(osg::INFO)<<"DriveManipulator::_height set to =="<<height<<std::endl; 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/bsp/VBSPEntity.cpp

    r9475 r10413  
    182182Vec3f VBSPEntity::getVector(std::string str) 
    183183{ 
    184     double x, y, z; 
     184    float x, y, z; 
    185185 
    186186    // Look for the first non-whitespace 
     
    191191 
    192192    if ((end > start) && (start != std::string::npos)) 
    193         x = atof(str.substr(start, end-start).c_str()); 
     193        x = osg::asciiToFloat(str.substr(start, end-start).c_str()); 
    194194    else 
    195195        return Vec3f(); 
     
    202202 
    203203    if ((end > start) && (start != std::string::npos)) 
    204         y = atof(str.substr(start, end-start).c_str()); 
     204        y = osg::asciiToFloat(str.substr(start, end-start).c_str()); 
    205205    else 
    206206        return Vec3f(); 
     
    215215 
    216216    if ((end > start) && (start != std::string::npos)) 
    217         z = atof(str.substr(start, end-start).c_str()); 
     217        z = osg::asciiToFloat(str.substr(start, end-start).c_str()); 
    218218    else 
    219219        return Vec3f(); 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/cfg/ConfigParser.cpp

    r9756 r10413  
    19331933 
    19341934    { 
    1935         yyval.real = atof(flexer->YYText()); 
     1935        yyval.real = osg::asciiToFloat(flexer->YYText()); 
    19361936    ;} 
    19371937    break; 
     
    19401940 
    19411941    { 
    1942         yyval.real = atof(flexer->YYText()); 
     1942        yyval.real = osg::asciiToFloat(flexer->YYText()); 
    19431943    ;} 
    19441944    break; 
     
    19471947 
    19481948    { 
    1949         yyval.real = atof(flexer->YYText()); 
     1949        yyval.real = osg::asciiToFloat(flexer->YYText()); 
    19501950    ;} 
    19511951    break; 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/dw/ReaderWriterDW.cpp

    r9527 r10413  
    859859                    } else if (strncmp(buff, "numPhases:",10)==0) { 
    860860                    } else if (strncmp(buff, "Opacity:",8)==0) { 
    861                         float opacity=atof(buff+8); 
     861                        float opacity=osg::asciiToFloat(buff+8); 
    862862                        matpalet[nmat].setopacity(opacity); 
    863863                    } else if (strncmp(buff, "FallOff:",8)==0) { 
    864                         float fo=atof(buff+8); 
     864                        float fo=osg::asciiToFloat(buff+8); 
    865865                        matpalet[nmat].setFallOff(fo); 
    866866                    } else if (strncmp(buff, "InnerHalfAngle:",15)==0) { 
    867                         float ha=atof(buff+15); 
     867                        float ha=osg::asciiToFloat(buff+15); 
    868868                        matpalet[nmat].setHalfAngleIn(ha); 
    869869                    } else if (strncmp(buff, "OuterHalfAngle:",15)==0) { 
    870                         float ha=atof(buff+15); 
     870                        float ha=osg::asciiToFloat(buff+15); 
    871871                        matpalet[nmat].setHalfAngleOut(ha); 
    872872                    } else if (strncmp(buff, "Brightness:",11)==0) { 
    873                         float br=atof(buff+11); 
     873                        float br=osg::asciiToFloat(buff+11); 
    874874                        matpalet[nmat].setBright(br); 
    875875                    } else if (strncmp(buff, "Attentuation:",13)==0) { // oops - they can't spell 
     
    878878                        matpalet[nmat].setType(buff+14); 
    879879                    } else if (strncmp(buff, "SpecularReflectivity:",21)==0) { 
    880                         float spec=atof(buff+21); 
     880                        float spec=osg::asciiToFloat(buff+21); 
    881881                        matpalet[nmat].setspecular(spec); 
    882882                    } else if (strncmp(buff, "SmoothnessExponent:",19)==0) { 
    883                         float spec=atof(buff+19); 
     883                        float spec=osg::asciiToFloat(buff+19); 
    884884                        matpalet[nmat].setspecexp(spec*128.0f/100.0f); // convert to 0-128 range from percent 
    885885                    } else if (strncmp(buff, "TextureWidthAndHeight:",22)==0) { 
    886886                        char *ct=strchr(buff+22,','); 
    887                         float repx=atof(buff+23), repy=atof(ct+1); 
     887                        float repx=osg::asciiToFloat(buff+23), repy=osg::asciiToFloat(ct+1); 
    888888                        matpalet[nmat].settxrep(repx, repy); 
    889889                    } else if (strncmp(buff, "PictureFile:",12)==0) { 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/ive/DataOutputStream.cpp

    r9475 r10413  
    173173            { 
    174174                std::string numberString = optionsString.substr(endOfToken+1, numOfCharInNumber); 
    175                 _maximumErrorToSizeRatio = atof(numberString.c_str()); 
     175                _maximumErrorToSizeRatio = osg::asciiToDouble(numberString.c_str()); 
    176176                 
    177177                osg::notify(osg::DEBUG_INFO)<<"TerrainMaximumErrorToSizeRatio = "<<_maximumErrorToSizeRatio<<std::endl; 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/normals/ReaderWriterNormals.cpp

    r9475 r10413  
    5959                            if( key == "scale" || key == "SCALE" ) 
    6060                            { 
    61                                 scale = atof( value.c_str() ); 
     61                                scale = osg::asciiToFloat( value.c_str() ); 
    6262                            } 
    6363                            else if( key == "mode" || key == "MODE" ) 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/txp/ReaderWriterTXP.cpp

    r9637 r10413  
    540540        if(!token) 
    541541            break; 
    542         locs[idx].zmin = (float)atof(token); 
     542        locs[idx].zmin = osg::asciiToFloat(token); 
    543543        nbTokenRead++; 
    544544 
     
    547547        if(!token) 
    548548            break; 
    549         locs[idx].zmax= (float)atof(token); 
     549        locs[idx].zmax = osg::asciiToFloat(token); 
    550550        nbTokenRead++; 
    551551 
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgPlugins/txp/TXPParser.cpp

    r9637 r10413  
    103103    if (getenv("OSG_TXP_DEFAULT_MAX_ANISOTROPY")) 
    104104    { 
    105         _defaultMaxAnisotropy = atof(getenv("OSG_TXP_DEFAULT_MAX_ANISOTROPY")); 
     105        _defaultMaxAnisotropy = osg::asciiToFloat(getenv("OSG_TXP_DEFAULT_MAX_ANISOTROPY")); 
    106106    } 
    107107     
  • OpenSceneGraph/branches/OpenSceneGraph-2.8/src/osgViewer/ViewerEventHandlers.cpp

    r9340 r10413  
    390390    if (str) 
    391391    { 
    392         _interval = 1.0f / atof(str); 
     392        _interval = 1.0f / osg::asciiToDouble(str); 
    393393    } 
    394394    else