#include "ellipsoidTechnique.h" #include ellipsoidTechnique::ellipsoidTechnique() { _height = 0.0; } ellipsoidTechnique::~ellipsoidTechnique() { } void ellipsoidTechnique::modifyHeightfield(osg::Vec4d& modificationROI, osg::HeightField* h, osg::Vec4d tileExtends) { //OSG_NOTIFY( osg::ALWAYS ) << "ellipsoidTechnique::modifyHeightfield()" << std::endl; //OSG_NOTIFY( osg::ALWAYS ) << "LAT: " << tileExtends[0] << " | " << tileExtends[1] << std::endl; //OSG_NOTIFY( osg::ALWAYS ) << "LON: " << tileExtends[2] << " | " << tileExtends[3] << std::endl; // calculate colum start/end and row start/end of affected vertices int startX=0, startY=0, endX=h->getNumColumns(), endY=h->getNumRows(); // Dertermine loop variables.. if(tileExtends[0]getYInterval(); if(tileExtends[1]>modificationROI[1]) endY = (modificationROI[1] - tileExtends[0]) / h->getYInterval(); if(tileExtends[2]getXInterval(); if(tileExtends[3]>modificationROI[3]) endX = (modificationROI[3] - tileExtends[2]) / h->getXInterval(); // Modify height value of affected vertices for(int x=startX;xsetHeight( x, y, _height); } } }