Ignore:
Timestamp:
Mar 8, 2011, 8:55:51 AM (13 years ago)
Author:
Torben Dannhauer
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • experimental/TerrainTest/terrainModificationTechnique.cpp

    r269 r270  
    1414}
    1515
    16 region::region()
     16
     17
     18region::region(osg::HeightField& h)
    1719{
    18         _lat_min = 0.0;
    19         _lat_max = 0.0;
    20         _lon_min = 0.0;
    21         _lon_max = 0.0;
    22 }
    23 
    24 region::region( double lat_min, double lat_max, double lon_min, double lon_max)
    25 {
    26         _lat_min = lat_min;
    27         _lat_max = lat_max;
    28         _lon_min = lon_min;
    29         _lon_max = lon_max;
     20        _lat_min = h.getOrigin()[1];
     21        _lat_max = _lat_min + h.getNumRows() * h.getYInterval();
     22        _lon_min = h.getOrigin()[0];
     23        _lon_max = _lon_min + h.getNumColumns() * h.getXInterval();
    3024}
    3125
    3226bool region::isInside(region& outsider)
    3327{
    34         if( outsider._lat_min <= _lat_min && _lat_max <= outsider._lat_max && outsider._lon_min <= _lon_min && _lon_max <= outsider._lon_max )
     28        if( outsider._lat_min <= _lat_min && _lat_max <= outsider._lat_max &&
     29                outsider._lon_min <= _lon_min && _lon_max <= outsider._lon_max )
    3530                return true;
    3631        else
     
    4035bool region::isFullOrPartiallyInside(region& outsider)
    4136{
    42         if( outsider._lat_min <= _lat_max && _lat_min <= outsider._lat_max && outsider._lon_min <= _lon_max && _lon_min <= outsider._lon_max )
     37        if( outsider._lat_min < _lat_max && _lat_min < outsider._lat_max &&
     38                outsider._lon_min < _lon_max && _lon_min < outsider._lon_max )
    4339                return true;
    4440        else
    4541                return false;
    4642}
     43
Note: See TracChangeset for help on using the changeset viewer.