Changeset 931
- Timestamp:
- 09/02/08 16:02:50
- Files:
-
- trunk/include/vpb/Destination (modified) (3 diffs)
- trunk/src/vpb/DataSet.cpp (modified) (1 diff)
- trunk/src/vpb/Destination.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/include/vpb/Destination
r930 r931 128 128 bool computeTerrainResolution(unsigned int& numColumns, unsigned int& numRows, double& resX, double& resY); 129 129 130 void requiresDivision(float resolutionSensitivityScale, bool& needToDivideX, bool& needToDivideY); 131 130 132 void allocate(); 131 133 … … 207 209 208 210 std::vector<ImageData> _imagery; 209 std::vector<ImageSet> _image rySet;211 std::vector<ImageSet> _imageLayerSet; 210 212 211 213 inline ImageData& getImageData(unsigned int layer) … … 217 219 inline ImageSet& getImageSet(unsigned int layer) 218 220 { 219 if (layer>=_image rySet.size()) _imagerySet.resize(layer+1);220 return _image rySet[layer];221 if (layer>=_imageLayerSet.size()) _imageLayerSet.resize(layer+1); 222 return _imageLayerSet[layer]; 221 223 } 222 224 trunk/src/vpb/DataSet.cpp
r930 r931 796 796 // note, resolutionSensitivityScale should probably be customizable.. will consider this option for later inclusion. 797 797 double resolutionSensitivityScale = 0.9; 798 for(unsigned int layerNum=0; 799 layerNum<tile->_imagery.size(); 800 ++layerNum) 801 { 802 unsigned int texture_numColumns; 803 unsigned int texture_numRows; 804 double texture_dx; 805 double texture_dy; 806 if (tile->computeImageResolution(layerNum,texture_numColumns,texture_numRows,texture_dx,texture_dy)) 807 { 808 if (texture_dx*resolutionSensitivityScale>tile->_imagery[layerNum]._image_maxSourceResolutionX) needToDivideX = true; 809 if (texture_dy*resolutionSensitivityScale>tile->_imagery[layerNum]._image_maxSourceResolutionY) needToDivideY = true; 810 } 811 } 812 813 unsigned int dem_numColumns; 814 unsigned int dem_numRows; 815 double dem_dx; 816 double dem_dy; 817 if (tile->computeTerrainResolution(dem_numColumns,dem_numRows,dem_dx,dem_dy)) 818 { 819 if (dem_dx*resolutionSensitivityScale>tile->_terrain_maxSourceResolutionX) needToDivideX = true; 820 if (dem_dy*resolutionSensitivityScale>tile->_terrain_maxSourceResolutionY) needToDivideY = true; 821 } 798 799 tile->requiresDivision(resolutionSensitivityScale, needToDivideX, needToDivideY); 822 800 823 801 float xCenter = (extents.xMin()+extents.xMax())*0.5f; trunk/src/vpb/Destination.cpp
r930 r931 97 97 } 98 98 99 100 void DestinationTile::requiresDivision(float resolutionSensitivityScale, bool& needToDivideX, bool& needToDivideY) 101 { 102 for(unsigned int layerNum=0; 103 layerNum<_imagery.size(); 104 ++layerNum) 105 { 106 unsigned int texture_numColumns; 107 unsigned int texture_numRows; 108 double texture_dx; 109 double texture_dy; 110 if (computeImageResolution(layerNum,texture_numColumns,texture_numRows,texture_dx,texture_dy)) 111 { 112 if (texture_dx*resolutionSensitivityScale > _imagery[layerNum]._image_maxSourceResolutionX) needToDivideX = true; 113 if (texture_dy*resolutionSensitivityScale > _imagery[layerNum]._image_maxSourceResolutionY) needToDivideY = true; 114 } 115 } 116 117 unsigned int dem_numColumns; 118 unsigned int dem_numRows; 119 double dem_dx; 120 double dem_dy; 121 if (computeTerrainResolution(dem_numColumns,dem_numRows,dem_dx,dem_dy)) 122 { 123 if (dem_dx*resolutionSensitivityScale > _terrain_maxSourceResolutionX) needToDivideX = true; 124 if (dem_dy*resolutionSensitivityScale > _terrain_maxSourceResolutionY) needToDivideY = true; 125 } 126 127 } 99 128 100 129 void DestinationTile::computeMaximumSourceResolution(Source* source) … … 2366 2395 { 2367 2396 _imagery.clear(); 2397 _imageLayerSet.clear(); 2368 2398 _terrain = 0; 2369 2399 _models = 0;
