Ignore:
Timestamp:
Oct 11, 2010, 10:40:38 AM (14 years ago)
Author:
Torben Dannhauer
Message:

Upgraded to Silverlining 2.0

Todo:
Re-enable DEBUg build
correct cloud altitude errors
enable the new ray casting cloud type

File:
1 edited

Legend:

Unmodified
Added
Removed
  • osgVisual/src/sky_Silverlining/visual_skySilverLining.cpp

    r122 r130  
    361361                {
    362362                        // go through all wind volumes an check them for inside()
    363                         std::map<int, SilverLining::WindVolume> windvolumes = atmosphere->GetConditions()->GetWindVolumes();
     363                        //std::map<int, SilverLining::WindVolume> windvolumes = atmosphere->GetConditions()->GetWindVolumes();
     364                        SL_MAP(int, SilverLining::WindVolume) windvolumes = atmosphere->GetConditions()->GetWindVolumes();
    364365                        for(unsigned int i=0; i<windvolumes.size(); i++)
    365366                        {
     
    435436                if ( util::calculateEarthRadiusAtWGS84Coordinate(lat, lon, sceneRoot, radius) )
    436437                {
     438                        OSG_NOTIFY(osg::ALWAYS) << "radius:" << radius << std::endl;
    437439                        // generate Cloud Layer
    438440                        SilverLining::CloudLayer *cloudLayer_;
    439441                        cloudLayer_ = SilverLining::CloudLayerFactory::Create(cloudtype_);
    440                         cloudLayer_->SetBaseAltitude( baseHeight_ + radius);
    441                        
     442                        cloudLayer_->SetBaseAltitude( baseHeight_ + radius); // todo
     443                        //cloudLayer_->SetBaseAltitude( radius - 10000); // todo
     444                                               
    442445                        cloudLayer_->SetThickness(thickness_);
    443446                        cloudLayer_->SetBaseLength(baseLength_);
     
    457460                        case 1: cloudLayerSlots[slot_].typeName = "CIRRUS_FIBRATUS";                    // High, thicker and fibrous clouds that signal changing weather
    458461                        break;
    459                         case 2: cloudLayerSlots[slot_].typeName = "NIMBOSTRATUS";               // Low rain clouds that cover the sky
     462                        case 2: cloudLayerSlots[slot_].typeName = "STRATUS";                                    // Low clouds represented as a slab
    460463                        break;
    461464                        case 3: cloudLayerSlots[slot_].typeName = "CUMULUS_MEDIOCRIS";          // Low, puffy clouds on fair days
     
    465468                        case 5: cloudLayerSlots[slot_].typeName = "CUMULONIMBUS_CAPPILATUS";    // Big storm clouds.
    466469                        break;
    467                         case 6: cloudLayerSlots[slot_].typeName = "CUMULUS_CONGESTUS_INFINITE"; // Cumulus congestus layer that wraps to surround the camera at all times.
    468                         break;
    469                         case 7: cloudLayerSlots[slot_].typeName = "CUMULUS_MEDIOCRIS_INFINITE"; // Cumulus mediocris layer that wraps to surround the camera at all times.
     470                        case 6: cloudLayerSlots[slot_].typeName = "STRATOCUMULUS";                              // Low, dense, puffy clouds with some sun breaks between them.
    470471                                break;
    471472                        default: OSG_NOTIFY( osg::FATAL ) << "visual_skySilverlining::addCloudLayer - Invalid cloud type." << std::cout;
     
    617618                                {
    618619                                        hasPrecipitation = true;
    619                                         std::map<int, double> precipitationMap = cloudLayerSlots[i].cloudLayerPointer->GetPrecipitation();
    620                                         for( std::map<int, double>::iterator it = precipitationMap.begin(); it != precipitationMap.end(); it++ )
     620                                        SL_MAP (int, double) precipitationMap = cloudLayerSlots[i].cloudLayerPointer->GetPrecipitation();
     621                                        for( SL_MAP (int, double)::iterator it = precipitationMap.begin(); it != precipitationMap.end(); it++ )
    621622                                        {
    622623                                                switch(it->first)
     
    673674                        if( cloudLayerSlots[slot_].cloudLayerPointer->HasPrecipitationAtPosition(x, y, z) )
    674675                        {
    675                                 std::map<int, double> precipitationMap = cloudLayerSlots[slot_].cloudLayerPointer->GetPrecipitation();
    676                                 for( std::map<int, double>::iterator it = precipitationMap.begin(); it != precipitationMap.end(); it++ )
     676                                SL_MAP (int, double) precipitationMap = cloudLayerSlots[slot_].cloudLayerPointer->GetPrecipitation();
     677                                for( SL_MAP (int, double)::iterator it = precipitationMap.begin(); it != precipitationMap.end(); it++ )
    677678                                {
    678679                                        switch(it->first)
     
    715716                        // Check for precipitation
    716717
    717                                 std::map<int, double> precipitationMap = cloudLayerSlots[slot_].cloudLayerPointer->GetPrecipitation();
    718                                 for( std::map<int, double>::iterator it = precipitationMap.begin(); it != precipitationMap.end(); it++ )
     718                                SL_MAP (int, double) precipitationMap = cloudLayerSlots[slot_].cloudLayerPointer->GetPrecipitation();
     719                                for( SL_MAP (int, double)::iterator it = precipitationMap.begin(); it != precipitationMap.end(); it++ )
    719720                                {
    720721                                        switch(it->first)
Note: See TracChangeset for help on using the changeset viewer.