gwaldron / osgearth Goto Github PK
View Code? Open in Web Editor NEW3D Maps for OpenSceneGraph / C++14
Home Page: https://www.pelicanmapping.com/home-1/opensource
License: Other
3D Maps for OpenSceneGraph / C++14
Home Page: https://www.pelicanmapping.com/home-1/opensource
License: Other
Hi
"image" on "Styles/Marker" doesn't work on my sample:
t {
marker: image("d:\a\b\c\img.png");
marker-placement: vertex;
marker-scale: 10;
altitude-offset: 20;
}
StringTokenizer::tokenize gets some strange inputs from URI.
Cheers
Remo
In file included from /opt/BUILD/osgEarth/source-orig/src/osgEarthSymbology/Resource:24:0,
from /opt/BUILD/osgEarth/source-orig/src/osgEarthSymbology/Skins:24,
from /opt/BUILD/osgEarth/source-orig/src/osgEarthSymbology/Style:32,
from /opt/BUILD/osgEarth/source-orig/src/osgEarthSymbology/GEOS:26,
from /opt/BUILD/osgEarth/source-orig/src/osgEarthSymbology/Geometry.cpp:20:
/opt/BUILD/osgEarth/source-orig/src/osgEarthSymbology/Tags:57:18: error: declaration of ‘class T’
/opt/BUILD/osgEarth/source-orig/src/osgEarthSymbology/Tags:34:14: error: shadows template parm ‘class T’
/opt/BUILD/osgEarth/source-orig/src/osgEarthSymbology/Tags:67:18: error: declaration of ‘class T’
/opt/BUILD/osgEarth/source-orig/src/osgEarthSymbology/Tags:34:14: error: shadows template parm ‘class T’
/opt/BUILD/osgEarth/source-orig/src/osgEarthSymbology/Tags: In member function ‘bool osgEarth::Symbology::Taggable::containsTags(const T&) const’:
/opt/BUILD/osgEarth/source-orig/src/osgEarthSymbology/Tags:59:18: error: need ‘typename’ before ‘T:: const_iterator’ because ‘T’ is a dependent scope
/opt/BUILD/osgEarth/source-orig/src/osgEarthSymbology/Tags:59:36: error: expected ‘;’ before ‘i’
/opt/BUILD/osgEarth/source-orig/src/osgEarthSymbology/Tags:59:54: error: ‘i’ was not declared in this scope
/opt/BUILD/osgEarth/source-orig/src/osgEarthSymbology/Tags: In static member function ‘static std::string osgEarth::Symbology::Taggable::tagString(const T&)’:
/opt/BUILD/osgEarth/source-orig/src/osgEarthSymbology/Tags:70:18: error: need ‘typename’ before ‘T:: const_iterator’ because ‘T’ is a dependent scope
/opt/BUILD/osgEarth/source-orig/src/osgEarthSymbology/Tags:70:36: error: expected ‘;’ before ‘i’
/opt/BUILD/osgEarth/source-orig/src/osgEarthSymbology/Tags:70:54: error: ‘i’ was not declared in this scope
make[2]: *** [src/osgEarthSymbology/CMakeFiles/osgEarthSymbology.dir/Geometry.cpp.o] Error 1
make[1]: *** [src/osgEarthSymbology/CMakeFiles/osgEarthSymbology.dir/all] Error 2
make: *** [all] Error 2
Currently these are part of the TerrainOptions. It was requested that they be moved to per image like they used to be so you can control filtering per image layer.
Hi
I found a typo in:
class StreamingTerrain : public Terrain
...
TaskService* getTileGenerationTaskSerivce();
...
this should be "getTileGenerationTaskService"
Remo
Hi
I tried "feature_geom" driver with "altitude-clamping: terrain;". It doesn't work. I think i have found the reason:
On method "Config AltitudeSymbol::getConfig() const", you have forgot the following
conf.key() = "altitude";
Here is the patched function:
Config
AltitudeSymbol::getConfig() const
{
Config conf;
conf.key() = "altitude";
conf.addIfSet( "clamping", "none", _clamping, CLAMP_NONE );
conf.addIfSet( "clamping", "terrain", _clamping, CLAMP_TO_TERRAIN );
conf.addIfSet( "clamping", "relative", _clamping, CLAMP_RELATIVE_TO_TERRAIN );
conf.addIfSet( "vertical_offset", _verticalOffset );
return conf;
}
After this patch it works :) I hope it's right.
Cheers
Remo
Hi
I compiled osgEarth master with OSG 2.9.15 and have the following compiling errors:
SerialKeyNodeFactory.cpp
\src\osgearthdrivers\engine_osgterrain\Tile(93): error C2039: 'back_inserter' : is not a member of 'std'
...
SinglePassTerrainTechnique.cpp
\src\osgearthdrivers\engine_osgterrain\Tile(93): error C2039: 'back_inserter' : is not a member of 'std'
...
and also on TileBuilder.cpp
Solution hint: #include < iterator >
Draggers.cpp(272): error C2440: 'initializing' : cannot convert from 'std::_Vector_const_iterator<_Myvec>' to 'std::_Vector_iterator<_Myvec>'
with
[
_Myvec=std::_Vector_val<osg::Node *,std::allocator<osg::Node *>>
]
No constructor could take the source type, or constructor overload resolution was ambiguous
Solution hint: osg::NodePath::iterator -> osg::NodePath::const_iterator
Cheers,
Remo
Add depth-occlusion for labels and placemarks ... i.e. optionally hide behind local terrain features. This involves either (a) combining the declutter program with the depth offset program, or (b) doing P2P LOS calculations between eye and label point and disabling per frame
Hi
I tried to compile osgearth HEAD with OSG 2.8.5 with VS2005. I've the following errors:
osgearth_featureeditor.cpp
.\osgearth_featureeditor.cpp(65) : error C2039: 'DraggerCallback' : is not a member of 'osgManipulator'
.\osgearth_featureeditor.cpp(65) : error C2504: 'DraggerCallback' : base class undefined
.\osgearth_featureeditor.cpp(143) : warning C4018: '<' : signed/unsigned mismatch
.\osgearth_featureeditor.cpp(154) : error C2039: 'setHandleEvents' : is not a member of 'osgEarth::Util::IntersectingDragger'
\src\osgEarthUtil/Draggers(47) : see declaration of 'osgEarth::Util::IntersectingDragger'
.\osgearth_featureeditor.cpp(155) : error C2039: 'addDraggerCallback' : is not a member of 'osgEarth::Util::IntersectingDragger'
\src\osgEarthUtil/Draggers(47) : see declaration of 'osgEarth::Util::IntersectingDragger'
.\osgearth_featureeditor.cpp(434) : warning C4018: '<' : signed/unsigned mismatch
Cheers,
Remo
Run osgearth_graticule --mgrs ; when you zoom in to the SQID level, application crashes
Hi
Why i can't use "layout()" with AGGLiteOptions ?
Thanks
GeometrySymbol has its contents commented out and is not copied has part of the install functionality during a visual studio build. However BufferFilter in osgEarthFeatures still includes that file. Removing that include from BufferFilter fixes the build issue for me.
sorry ... Moved to forum.osgearth.org
Hi
When i use FeatureLevels that not have any "0" minRange then i think OverlayDecorator and FeatureModelGraph has a bug.
In "osg::Group* FeatureModelGraph::build" you do the following:
if ( level.minRange() > 0.0f )
{
osg::LOD* lod = new osg::LOD();
lod->addChild( group.get(), level.minRange(), FLT_MAX );
group = lod;
}
This generates a LOD with Rangemode DISTANCE_FROM_EYE_POINT .
And in "void OverlayDecorator::cull" you use the "CoarsePolytopeIntersector" NodeVisitor that does not have implemented getDistanceToViewPoint (returns default 0) . So this would not work.
What you think ? ;)
Cheers
Remo
Please don't bundle TinyXML.
I threw together a Cmake script and patched Cmakelists.txt:
http://www.geofrogger.net/review/osgEarth-2.0-FindTinyXML.cmake
http://www.geofrogger.net/review/osgEarth-2.0-tinyxml.patch
Note that the patch was written for version 2.0.0.
I have troubles with postgres driver from osgEarth
Part of my log:
PG: PostgreSQL version string : 'PostgreSQL 9.1.2 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.5 20110214 (Red Hat 4.4.5-6), 64-bit'
PG: PQexec(DECLARE executeSQLCursor CURSOR for SELECT * FROM 'b_table_test_text_1') = PGRES_FATAL_ERROR
PG: PQexec(FETCH 0 in executeSQLCursor) = PGRES_FATAL_ERROR
It has to do with the following
FeatureCursorOGR::FeatureCursorOGR(OGRDataSourceH dsHandle,
OGRLayerH layerHandle,
const FeatureProfile* profile,
const Symbology::Query& query,
const FeatureFilterList& filters )
...
from = std::string("'") + from + std::string("'"); // this is not needed
...
This quoting is not needed. When i remove this it works. But i using PG 9.1.
i use the following parameters for configure the driver:
feature_opt.connection() = "PG:dbname='map' host=host.com port=5432 user='postgres' tables=b_table_test_text_1";
style_selector.query()->expression() = "display_level = 1";
Thanks
Remo
In current master:
[ 2%] Building CXX object src/osgEarth/CMakeFiles/osgEarth.dir/Cache.cpp.o
In file included from /Users/Shared/src/osgearth/git/osgearth/src/osgEarth/Cache:27,
from /Users/Shared/src/osgearth/git/osgearth/src/osgEarth/Cache.cpp:19:
/Users/Shared/src/osgearth/git/osgearth/src/osgEarth/ThreadingUtils: In member function ‘DATA* osgEarth::Threading::PerObjectRefMap<KEY, DATA>::get(KEY)’:
/Users/Shared/src/osgearth/git/osgearth/src/osgEarth/ThreadingUtils:320: error: expected `;' before ‘i’
/Users/Shared/src/osgearth/git/osgearth/src/osgEarth/ThreadingUtils:321: error: ‘i’ was not declared in this scope
osgearth compiled fine back in July. This errors appears in a completely new block of code in ThreadingUtils.
GCC 4.2.1, OS X 10.6 & 10.7
Hi
I use trunk (11.9.2011) and can't compile Style.cpp with 64bit VC2010:
1> Style.cpp
1>D:\apps\vs2010\VC\include\utility(163): error C2664: 'osg::ref_ptr<T>::ref_ptr(T *)' : cannot convert parameter 1 from 'long' to 'osgEarth::Symbology::ResourceLibrary *'
1> with
1> [
1> T=osgEarth::Symbology::ResourceLibrary
1> ]
1> Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
1> D:\apps\vs2010\VC\include\utility(247) : see reference to function template instantiation 'std::_Pair_base<_Ty1,_Ty2>::_Pair_base<osgEarth::URI&,_Ty>(_Other1,_Other2 &&)' being compiled
1> with
1> [
1> _Ty1=osgEarth::URI,
1> _Ty2=osg::ref_ptr<osgEarth::Symbology::ResourceLibrary>,
1> _Ty=long,
1> _Other1=osgEarth::URI &,
1> _Other2=long
1> ]
1> Style.cpp(386) : see reference to function template instantiation 'std::pair<_Ty1,_Ty2>::pair<osgEarth::URI&,long>(_Other1,_Other2 &&)' being compiled
1> with
1> [
1> _Ty1=osgEarth::URI,
1> _Ty2=osg::ref_ptr<osgEarth::Symbology::ResourceLibrary>,
1> _Other1=osgEarth::URI &,
1> _Other2=long
1> ]
1>
1>Build FAILED.
Fix at Line 386 of osgEarthSymbology/Style.cpp from:
_resLibs[name] = ResourceLibraryEntry(uri, 0L);
to
_resLibs[name] = ResourceLibraryEntry(uri,reinterpret_cast<osgEarth::Symbology::ResourceLibrary*>(NULL));
Cheers
Remo
MarkerSymbol contains a couple "run time" properties (setModel, setImage) that do not serialize. Therefore the style-cloning method (which uses getConfig/mergeConfig) fails to copy over these items. Need to re-work the cloner to account for these
Reproduced using supplied code (on windows)
Ref:
http://forum.osgearth.org/Memory-leak-with-osgDB-readNodeFile-and-shapefiles-td7412781.html
Text:
Trying to solve a memory leak problem in my app (QT + OsgEarth) I have done this test:
void aFunction(){
osg::ref_ptr<osg::Node> earthNode = osgDB::readNodeFile("......./osgearth/tests/boston.earth");
//osg::ref_ptr<osg::Node> earthNode = osgDB::readNodeFile("......./osgearth/tests/gdal_tiff.earth");
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
for (int i = 0; i<10000; i++)
aFunction();
return a.exec();
}
With "gdal_tiff.earth" the memory don't increases during the "for" loop, so the OSG memory cleaning with ref_ptr is working.
With "boston.earth" the memory increases during de loop, so memory pointed by earthNode is not release when go out of scope.
The problem appears only when there is a shapefile in the .earth.
Perhaps this is the same problem described by http://osgearth.org/ticket/317 but I do not care that excessive use of memory, but can not release it when I want.
osgEarth Library 2.1.1
Kubuntu 11.10
Qt 4.7.4
Best regards.
Hi
It would be great when all public include files are in a separate directory like OpenSceneGraph (include).
Thanks
Like it says. Support accessing a TMS repo stored in a ZIP file.
Requested on osgearth users list, way to configure the timeout on the HTTPClient.
Line 52 of src/osgEarthUtil/CMakeLists.txt looks like it has extra parentheses.
I fixed it by changing line 52:
IF(NOT (${OPENSCENEGRAPH_VERSION} VERSION_LESS "2.9.6"))
to this:
IF(NOT ${OPENSCENEGRAPH_VERSION} VERSION_LESS "2.9.6")
Your copy of the license file has very long lines and some encoding problem.
Please just use a copy of http://www.gnu.org/licenses/lgpl.txt
Hi
I played with TMSPackager and find out that you set an explicit mimetype for some extensions. But when one use another extension then it is not possible:
TMSPackager::Result
TMSPackager::package
...
// compute a mime type
std::string mimeType;
if ( imageExtension == "png" )
mimeType = "image/png";
else if ( imageExtension == "jpg" )
mimeType = "image/jpeg";
else if ( imageExtension == "tif" )
mimeType = "image/tiff";
else
return Result( Stringify() << "Unable to determine mime-type for extension " << imageExtension );
...
Is it possible to add an "--mime-type" command line parameter ?
Thanks
Remo
It would be great to speed up cache seeding by using multiple cores.
Hi
I have linker error with Windows 7 64 bit / VS2010 / SP1 / OSG 3.1.0.90 and 64bit build since your kml changes. I've added "/FORCE:MULTIPLE" to make a workaround (error -> warning).
osgDB.lib(osg90-osgDB.dll) : error LNK2005: "public: void __cdecl std::basic_ifstream<char,struct std::char_traits >::`vbase destructor'(void)" (??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXXZ) already defined in URI.obj
osgDB.lib(osg90-osgDB.dll) : error LNK2005: "public: __cdecl std::basic_ifstream<char,struct std::char_traits >::basic_ifstream<char,struct std::char_traits >(char const *,int,int)" (??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@qeaa@PEBDHH@Z) already defined in URI.obj
with /FORCE:MULTIPLE
osgDBd.lib(osg90-osgDBd.dll) : warning LNK4006: "public: void __cdecl std::basic_ifstream<char,struct std::char_traits >::`vbase destructor'(void)" (??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXXZ) already defined in URI.obj; second definition ignored
osgDBd.lib(osg90-osgDBd.dll) : warning LNK4006: "public: __cdecl std::basic_ifstream<char,struct std::char_traits >::basic_ifstream<char,struct std::char_traits >(char const *,int,int)" (??0?$basic_ifstream@DU?$char_traits@D@std@@@std@@qeaa@PEBDHH@Z) already defined in URI.obj; second definition ignored
I don't have any msvcrt problem.
i think it has something todo with URI.cpp/.h .
http://stackoverflow.com/questions/5593942/vc8-to-vc10-lnk2005-errors
http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/191de00a-53c9-4bd9-9cb6-e844eb224ca2
Some std:stream export problems ?
Hi
I've tried to compile trunk with OSG 2.8.5 :
src\osgEarthUtil/EarthManipulator(755) : error C2039: 'ObserverNodePath' : is not a member of 'osg'
and
osgEarthUtil\FeatureEditing.cpp(116) : error C2039: 'DraggerCallback' : is not a member of 'osgManipulator'
osgEarthUtil\FeatureEditing.cpp(116) : error C2504: 'DraggerCallback' : base class undefined
osgEarthUtil\FeatureEditing.cpp(214) : error C2039: 'setHandleEvents' : is not a member of 'osgEarth::Util::IntersectingDragger'
\src\osgEarthUtil/Draggers(47) : see declaration of 'osgEarth::Util::IntersectingDragger'
osgEarthUtil\FeatureEditing.cpp(215) : error C2039: 'addDraggerCallback' : is not a member of 'osgEarth::Util::IntersectingDragger'
\src\osgEarthUtil/Draggers(47) : see declaration of 'osgEarth::Util::IntersectingDragger'
Cheers
Remo
Need to add a bounds option to the package tool for exporting.
The imageoverlay example setAlpha slider is not working. In annotation, the alpha "flag" overlay has blending problems (the alpha changes with the viewpoint).
Hi
KML_Polygon.cpp(45): error C2039: 'back_inserter' : is not a member of 'std'
KML_Polygon.cpp(45): error C3861: 'back_inserter': identifier not found
To fix:
#include <iterator>
Cheers
Remo
Hi
I've found a typo in tests\feature_labels.earth.
"altitide-clamping: terrain;"
should be "altitude-clamping: terrain;"
Cheers,
Remo
Many classes in osgEarth have inline virtual functions that are only in the header, which means that a vtable isn't generated and on Linux this can make dynamic_casts fail.
After creating feature layers in code, writing the MapNode to an earth file fails. The file does not contain any of the feature layers' details. earthfile->earthfile works correctly with osgconv, however.
ref:
http://forum.osgearth.org/can-t-save-feature-geom-s-url-to-earth-file-td7287559.html
Hi
Some Error:
In FeatureModelGraph::FeatureModelGraph calls:
_fullWorldBound = getBoundInWorldCoords( _usableMapExtent, 0L );
And then in "FeatureModelGraph::getBoundInWorldCoords" the variable "centerZ" is uninitialized at:
return osg::BoundingSphered( center, (center-corner).length() + fabs(centerZ) );
Here is the problem: "double centerZ;"
Cheers,
Remo
Hi
I have multiple Geometries that share the same Feature Attributes. Currently when i want to create such a Feature i must copy the whole AttributeTable. But this is not efficient. What you think about the possibility to share Feature Attributes ?
Thanks
a URI supports options, but there's no way in the earth file to specify an options string that would get passed along to an OSG driver. Add this in, probably as a URI set/getConfig property.
Sometimes an overlay will get clipped (by what appears to be the near plane). One report is here:
http://forum.osgearth.org/ImageOverlay-disappears-with-right-elevation-and-bounds-td7323539.html#a7330789
Also demonstrated by the buildings in the SD sample2.gog demo.
When you say "Add Annotation" it places a New York placenode. When you click or activate it, it doubles in size.
when Feature passed in is an empty Polygon. Please see forum for more information:
http://forum.osgearth.org/FeatureNode-contructor-crash-td7244953.html
Hi
VS2010 dumps a runtime check error with the "visible" - variable (variable not initialized):
void
ControlNodeBin::draw( const ControlContext& context, bool newContext, int bin )
{
const osg::Viewport* vp = context._vp;
osg::Vec2f surfaceSize( context._vp->width(), context._vp->height() );
// we don't really need to keep this list in the object, but that prevents it from having to
// reallocate it each time
_taken.clear();
ControlNodeCollection* drawList = 0L;
ControlNodeCollection byDepth;
if ( _sortByDistance )
{
for( ControlNodeCollection::iterator i = _controlNodes.begin(); i != _controlNodes.end(); i++)
{
ControlNode* node = i->second.get();
if ( node->getNumParents() == 0 )
{
_renderNodes.erase( node );
_controlNodes.erase( i );
}
else
{
ControlNode::PerViewData& nodeData = node->getData( context._view );
byDepth.insert( ControlNodePair(nodeData._screenPos.z(), node) );
}
}
drawList = &byDepth;
}
else
{
drawList = &_controlNodes;
}
for( ControlNodeCollection::iterator i = drawList->begin(); i != drawList->end(); )
{
ControlNode* node = i->second.get();
osg::MatrixTransform* xform = _renderNodes[node];
// check to see if the node as removed
bool nodeActive = node->getNumParents() > 0;
if ( nodeActive )
{
ControlNode::PerViewData& nodeData = node->getData( context._view );
Control* control = node->getControl();
// if the context changed (e.g., viewport resize), we need to mark all nodes as dirty
// even if they're obscured...that way they will regenerate properly next time
if ( newContext )
{
control->dirty();
}
bool visible; // <<<<<<<<<<
Is it possible that this variable does not initialized in the code later ?
quick fix is: bool visible = false;
Cheers,
Remo
Try running osgearth_annotation with gdal_tiff.earth with map type="flat". Mercator projection seems to work, osgearth_annotation works with openstreetmap_flat.earth
You get blank areas sometimes b/c the composite driver isn't falling back on lower levels of detail. So if you have two layers, one going to LOD 18 and one that goes to LOD16 at LOD 17 you'll get a blank background for the LOD 16 layer with LOD 18's tile drawn over it.
Reproduced with Tassilo's map file:
(ref: http://forum.osgearth.org/template/NamlServlet.jtp?macro=reply&node=7395589)
<map name="Rotterdam missing tiles" type="projected" version="2"> <options>
<lighting>false</lighting>
<profile>
<srs>+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defs </srs>
<xmin>80272</xmin>
<xmax>110996.2</xmax>
<ymin>400580</ymin>
<ymax>485617.72</ymax>
</profile>
</options>
<image name="OSM on Mapnik Slippy Map" driver="tms">
<url>http://tile.openstreetmap.org/</url>
<profile>global-mercator</profile>
<format>png</format>
<tile_size>256</tile_size>
<tms_type>google</tms_type>
</image>
</map>
It's wrong for ellipsoidal interpolation. This is "no big deal" for subdivding polys for draping, but it does not work for subdividing lines for geometric non-draped display. The ResampleFilter works properly b/c it operates on data before it becomes geocentric.
Please use tarball and directory names, that don't contain hashes -- much like described in the manpage of git archive (name-version.tar.gz).
It makes packaging a lot easier.
Various files use arial and arialbd fonts.
src/osgEarthFeatures/BuildTextOperator.cpp: std::string font = "fonts/arial.ttf";
src/applications/osgearth_measure/osgearth_measure.cpp: label->setFont( osgText::readFontFile( "arialbd.ttf" ) );
src/applications/osgearth_controls/osgearth_controls.cpp: label->setFont( osgText::readFontFile( "arialbd.ttf" ) );
src/applications/osgearth_elevation/osgearth_elevation.cpp: text->setFont( osgText::readFontFile("arial.ttf") );
src/applications/osgearth_symbology/osgearth_symbology.cpp: symbol->font() = "arial.ttf";
src/osgEarthUtil/Graticule.cpp: t->setFont( "fonts/arial.ttf" );
src/osgEarthUtil/Controls.cpp: setFont( osgText::readFontFile( "arial.ttf" ) ); // TODO: cache this?
src/osgEarthUtil/Controls.cpp: setFont( osgText::readFontFile( "arial.ttf" ) ); // TODO: cache this?
src/osgEarthUtil/SpatialData.cpp: s_font = osgText::readFontFile( "arialbd.ttf" );
src/osgEarthDrivers/worldwind/ReaderWriterWorldWind.cpp:* Contact: MattFranklin1 at gmail.com
src/osgEarthDrivers/debug/DebugTileSource.cpp: _font = osgText::readFontFile( "arial.ttf" );
tests/feature_labels.earth: text-font: arial.ttf;
It'd probably be best not to hardcode at all, and if necessary, don't use proprietary fonts.
Run osgearth_toc in cache_only mode and try removing and re-adding a layer.
Busted
Hi
I have sometimes a "list erase iterator outside range" runtime error (trunk, 2011-11-08 23:34:42) at:
class LRUCache
...
Record get( const K& key ) {
_queries++;
map_iter mi = _map.find( key );
if ( mi != _map.end() ) {
_lru.erase( mi->second.second ); // <<<<<<<<<<<<<
Callstack:
> msvcp100d.dll!std::_Debug_message(const wchar_t * message, const wchar_t * file, unsigned int line) Line 15 C++
osgEarthd.dll!std::list<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::erase(std::_List_const_iterator<std::_List_val<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > > * _Where) Line 1058 C++
osgEarthd.dll!osgEarth::LRUCache<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<osg::ref_ptr<osg::Object const >,osgEarth::Config> >::get(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & key) Line 132 + 0x5c bytes C++
osgEarthd.dll!`anonymous namespace'::MemCacheBin::readObject(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & key, double maxAge) Line 49 C++
osgEarthd.dll!osgEarth::TileSource::createHeightField(const osgEarth::TileKey & key, osgEarth::TileSource::HeightFieldOperation * prepOp, osgEarth::ProgressCallback * progress) Line 226 + 0x97 bytes C++
osgEarthd.dll!osgEarth::ElevationLayer::createHeightFieldFromTileSource(const osgEarth::TileKey & key, osgEarth::ProgressCallback * progress) Line 215 + 0x49 bytes C++
osgEarthd.dll!osgEarth::ElevationLayer::createHeightField(const osgEarth::TileKey & key, osgEarth::ProgressCallback * progress) Line 370 + 0x1d bytes C++
osgEarthd.dll!`anonymous namespace'::s_getHeightField(const osgEarth::TileKey & key, const std::vector<osg::ref_ptr<osgEarth::ElevationLayer>,std::allocator<osg::ref_ptr<osgEarth::ElevationLayer> > > & elevLayers, const osgEarth::Profile * mapProfile, bool fallback, osgEarth::ElevationInterpolation interpolation, osgEarth::ElevationSamplePolicy samplePolicy, osg::ref_ptr<osg::HeightField> & out_result, bool * out_isFallback, osgEarth::ProgressCallback * progress) Line 1026 + 0x25 bytes C++
osgEarthd.dll!osgEarth::MapFrame::getHeightField(const osgEarth::TileKey & key, bool fallback, osg::ref_ptr<osg::HeightField> & out_hf, bool * out_isFallback, osgEarth::ElevationInterpolation interpolation, osgEarth::ElevationSamplePolicy samplePolicy, osgEarth::ProgressCallback * progress) Line 1373 C++
osgdb_osgearth_engine_osgterraind.dll!BuildElevLayer::execute() Line 112 + 0x5d bytes C++
osgdb_osgearth_engine_osgterraind.dll!TileBuilder::createTile(const osgEarth::TileKey & key, bool parallelize, osg::ref_ptr<Tile> & out_tile, bool & out_hasRealData, bool & out_hasLodBlendedLayers) Line 398 + 0xd bytes C++
osgdb_osgearth_engine_osgterraind.dll!SerialKeyNodeFactory::createNode(const osgEarth::TileKey & key) Line 135 C++
osgdb_osgearth_engine_osgterraind.dll!OSGTerrainEngineNode::createNode(const osgEarth::TileKey & key) Line 378 + 0x3c bytes C++
osgdb_osgearth_engine_osgterraind.dll!OSGTerrainEnginePlugin::readNode(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & uri, const osgDB::Options * options) Line 103 + 0x1d bytes C++
osg90-osgDBd.dll!osgDB::Registry::ReadNodeFunctor::doRead(osgDB::ReaderWriter & rw) Line 926 + 0x67 bytes C++
_lru content:
- _lru [0x0000000000000010]("8/271/62","7/135/31","4/16/3","13/8545/1989","13/8546/1988","10/1064/248","10/1065/248","10/1064/249","10/1065/249","9/530/124","9/531/124","9/530/125","9/531/125","13/8545/1988","0/1/0",<Bad Ptr>) std::list<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >
+ [0] "8/271/62" std::basic_string<char,std::char_traits<char>,std::allocator<char> >
+ [1] "7/135/31" std::basic_string<char,std::char_traits<char>,std::allocator<char> >
+ [2] "4/16/3" std::basic_string<char,std::char_traits<char>,std::allocator<char> >
+ [3] "13/8545/1989" std::basic_string<char,std::char_traits<char>,std::allocator<char> >
+ [4] "13/8546/1988" std::basic_string<char,std::char_traits<char>,std::allocator<char> >
+ [5] "10/1064/248" std::basic_string<char,std::char_traits<char>,std::allocator<char> >
+ [6] "10/1065/248" std::basic_string<char,std::char_traits<char>,std::allocator<char> >
+ [7] "10/1064/249" std::basic_string<char,std::char_traits<char>,std::allocator<char> >
+ [8] "10/1065/249" std::basic_string<char,std::char_traits<char>,std::allocator<char> >
+ [9] "9/530/124" std::basic_string<char,std::char_traits<char>,std::allocator<char> >
+ [10] "9/531/124" std::basic_string<char,std::char_traits<char>,std::allocator<char> >
+ [11] "9/530/125" std::basic_string<char,std::char_traits<char>,std::allocator<char> >
+ [12] "9/531/125" std::basic_string<char,std::char_traits<char>,std::allocator<char> >
+ [13] "13/8545/1988" std::basic_string<char,std::char_traits<char>,std::allocator<char> >
+ [14] "0/1/0" std::basic_string<char,std::char_traits<char>,std::allocator<char> >
+ [15] <Bad Ptr> std::basic_string<char,std::char_traits<char>,std::allocator<char> >
mi content
mi = ("13/8547/1988", (({_ptr=0x0000000026480120 }, {_key="" _defaultValue="" _children=[0x0000000000000000]() ...}), "««««««««««««îþîþîþîþîþîþ"))
Sorry, i don't have more information. Just a warning ;)
Cheers
Remo
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.