jpouderoux / libcitygml Goto Github PK
View Code? Open in Web Editor NEWC++ CityGML parser for 3D applications
Home Page: https://code.google.com/p/libcitygml/
License: GNU Lesser General Public License v2.1
C++ CityGML parser for 3D applications
Home Page: https://code.google.com/p/libcitygml/
License: GNU Lesser General Public License v2.1
What steps will reproduce the problem?
1. Build on Ubuntu Lucid with xerces-c as parser backend
2. Test with citygmltest
What is the expected output? What do you see instead?
It should show something with -log argument.
It shows nothing as the parser does not match the elements because
of transcoding issues XMLCh -> std::string.
What version of the product are you using? On what operating system?
Trunk
Please provide any additional information below.
See attached patch to fix the issue. Under Linux you have to
trancode the XMLCh before std::string creation. Afterwards you
must release the char array.
Original issue reported on code.google.com by [email protected]
on 16 Sep 2010 at 6:39
Attachments:
I would like to get the geometry of the citygml file containing it's original
structure.
So if one wall has several polygons, I want to get all the polygons of this
specific wall. Now I will see all polygons as being part of an Wall but no
longer which wall.
A solution where there is knowledge of where each polygon is part of (which
wall) would help me already.
Kind regards,
Pim
Original issue reported on code.google.com by [email protected]
on 26 Nov 2010 at 12:07
What steps will reproduce the problem?
1. take a snapshot or latest source zip file
2. change the CMakeLists.txt so libxml2 is used
3. do: cmake CMakeLists.txt
What is the expected output? What do you see instead?
The expected output would be that of a successfull build. I got the following:
patrick@linux-dev:~/Downloads/libcitygml-read-only$ make
[ 14%] Building CXX object src/CMakeFiles/citygml.dir/citymodel.o
In file included from
/home/patrick/Downloads/libcitygml-read-only/src/citymodel.cpp:21:
/home/patrick/Downloads/libcitygml-read-only/src/../include/citygml.h:372:
warning: ‘typedef’ was ignored in this declaration
/home/patrick/Downloads/libcitygml-read-only/src/../include/citygml.h: In
member function ‘virtual TVec4f citygml::LandUse::getDefaultColor() const’:
/home/patrick/Downloads/libcitygml-read-only/src/../include/citygml.h:531:
error: ‘atoi’ was not declared in this scope
/home/patrick/Downloads/libcitygml-read-only/src/citymodel.cpp: In member
function ‘void citygml::Polygon::tesselate(const TVec3d&)’:
/home/patrick/Downloads/libcitygml-read-only/src/citymodel.cpp:215: error:
‘memcpy’ was not declared in this scope
/home/patrick/Downloads/libcitygml-read-only/src/citymodel.cpp: In member
function ‘bool citygml::Polygon::merge(citygml::Polygon*)’:
/home/patrick/Downloads/libcitygml-read-only/src/citymodel.cpp:294: error:
‘min’ was not declared in this scope
make[2]: *** [src/CMakeFiles/citygml.dir/citymodel.o] Error 1
make[1]: *** [src/CMakeFiles/citygml.dir/all] Error 2
make: *** [all] Error 2
What version of the product are you using? On what operating system?
I used the latest svn snapshot and also tested 'libcitygml.0.1.3.zip'.
The OS is:
Linux linux-dev 2.6.32-24-generic #42-Ubuntu SMP Fri Aug 20 14:24:04 UTC 2010
i686 GNU/Linux
Please provide any additional information below.
-
Original issue reported on code.google.com by [email protected]
on 7 Sep 2010 at 8:45
What steps will reproduce the problem?
1. Generate libcitygml with CMAKE for Visual Studio
2. Open Solution and choose Debug Mode
3. Open Properties Page of project "citygmltest"
4. Navigate to "Configuration Properties" > "Linker" > "Command Line"
What is the expected output? What do you see instead?
Expected: ...lib\xerces-c_static_3D.lib...
Instead: ...lib\xerces-c_static_3.lib...
What version of the product are you using? On what operating system?
libcitygml v.0.1.4 & citygml2vrml v.0.1.3 & XERCES 3.1.1
Visual Studio 2010
Windows 7 x64
Please provide any additional information below.
Issue is solved when chaging Lines 67 - 73 in FindXerces.cmake to:
IF(XERCESC_LIBRARY_DEBUG)
SET(XERCESC_LIBRARY
optimized ${XERCESC_LIBRARY}
debug ${XERCESC_LIBRARY_DEBUG})
ENDIF(XERCESC_LIBRARY_DEBUG)
Original issue reported on code.google.com by [email protected]
on 8 Oct 2012 at 10:27
When loading the attached file, libcitygml crashes in CityModel::load when
doing:
delete handler;
The delete triggers ~CityGMLHandler which iterates _geometries and deletes each
of them. The problem is that _geometries contains previously deleted objects
which are now filled with garbage and crash when deleted a second time.
_geometries contains deleted objects because with the given file, when
encountering an end tag for surfaceMember or TriangulatedSurface the following
happen:
1. _currentCityObject is NULL: it was never initialized because the
WaterSurface parent of the surfaceMember is not handled by libcitygml so no
_currentCityObject is created for it
2. the else branch of the if is taken, so _currentGeometry is deleted but
remains in _geometries
Attached patch always does the removal from _geometries; it works for me but
I'm not sure it's the best solution.
All this was tested and investigated with the current SVN head.
Original issue reported on code.google.com by [email protected]
on 24 Jan 2012 at 5:09
Attachments:
Calling the method always results in a compilation error. Attached patch makes
Texture::WrapMode public.
Original issue reported on code.google.com by [email protected]
on 22 Nov 2011 at 8:12
Attachments:
What steps will reproduce the problem?
1. Open the citygml file using osgviewer.
What is the expected output? What do you see instead?
The expected output can be seen on the left side of the attached image. This
output is produced by using LandXplorer Citygml Viewer from
ftp://ftp.fpk.tu-berlin.de/pub/Kolbe/LDX_CityGML_Viewer_2009a_TS.zip. Using
osgViewer, the image on the right side is produced instead.
What version of the product are you using? On what operating system?
I'm using SVN Trunk Revision 114 of libcitygml and SVN Trunk Revision 12295 of
OSG, on Windows 7 x64 (libcitygml and OSG are compiled as x64).
Please provide any additional information below.
I'm not sure if this is really a libcitygml issue, but the problem could only
be observed when using citygml. There's no difference whether I load the file
in my own code or use osgViewer.
I cannot provide the complete file because it is intellectual property of our
project partner, but I attached the citygml-snippet corresponding to the
problematic polygon (large building wall).
Regards
Original issue reported on code.google.com by [email protected]
on 19 Apr 2011 at 6:52
Attachments:
What steps will reproduce the problem?
On file ReaderWriterCityGML.cpp at 151 you use "OSG_NOTICE". But i think it
should be "osg::notify(osg::NOTICE)" for OSG 2.8.3. right ?
What is the expected output? What do you see instead?
What version of the product are you using? On what operating system?
r104
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 12 Dec 2010 at 2:05
The find script for libcitygml does not define a CITYGML_LIBRARIES varaible
which defines linked libraries dependent to the type of build (debug / release
) so no debugging was possible from external code.
Replace the findCityGML.cmake module against the attached one which defines the
necessary variable.
Kind regards,
Jan
Original issue reported on code.google.com by [email protected]
on 18 Nov 2010 at 2:48
Attachments:
What steps will reproduce the problem?
1. Get
http://www.citygml.org/fileadmin/count.php?f=fileadmin%2Fcitygml%2Fdocs%2FMunich
_LOD2_v1.0.0.zip
2. For every polygon p do:
const citygml::Appearance* app = p->getAppearance();
const citygml::Material* mat = dynamic_cast<const citygml::Material*>(app);
if (mat)
std::cout << "Found material" << std::endl;
What is the expected output? What do you see instead?
Expect to see at least some "Found material" lines since the file has materials
in it.
Instead, no materials are reported on polygons.
What version of the product are you using? On what operating system?
Trunk revision 121 on Windows 7.
Please provide any additional information below.
This happens because in the Munich file materials are linked to their polygons
using, for example:
<app:X3DMaterial>
<app:diffuseColor>0.392 0.392 0.392</app:diffuseColor>
<app:target>#ID_276003000001240_1poly</app:target>
...
and the code parsing app:target is wrong for targets that are child text nodes.
If the target URI is instead defined as an attribute (<app:target
uri="#ID_276003000000768_1poly">) the appearance is correctly linked to its
target.
Original issue reported on code.google.com by [email protected]
on 19 Oct 2011 at 3:02
What steps will reproduce the problem?
1. download the svn snapshot
2. do: cmake CMakeLists.txt
3. do make
What is the expected output? What do you see instead?
The expected output would be that of a successfull make. I got the following:
macbook-pro-de-florent-buisson-3:libcitygml Flo$ sudo make
[ 14%] Building CXX object src/CMakeFiles/citygml.dir/citymodel.o
In file included from /Users/Flo/Dev/libcitygml/src/citymodel.cpp:20:
/Users/Flo/Dev/libcitygml/src/tesselator.h:25:34: error:
/usr/X11/include/glu.h: No such file or directory
In file included from /Users/Flo/Dev/libcitygml/src/citymodel.cpp:20:
/Users/Flo/Dev/libcitygml/src/tesselator.h:37: error: ‘GLenum’ has not been
declared
/Users/Flo/Dev/libcitygml/src/tesselator.h:53: error: expected `)' before
‘*’ token
/Users/Flo/Dev/libcitygml/src/tesselator.h:54: error: ‘GLenum’ has not been
declared
/Users/Flo/Dev/libcitygml/src/tesselator.h:55: error: ‘GLvoid’ has not been
declared
/Users/Flo/Dev/libcitygml/src/tesselator.h:56: error: ‘GLdouble’ has not
been declared
/Users/Flo/Dev/libcitygml/src/tesselator.h:56: error: ‘GLfloat’ has not
been declared
/Users/Flo/Dev/libcitygml/src/tesselator.h:58: error: ‘GLenum’ has not been
declared
/Users/Flo/Dev/libcitygml/src/tesselator.h:62: error: ISO C++ forbids
declaration of ‘GLUtesselator’ with no type
/Users/Flo/Dev/libcitygml/src/tesselator.h:62: error: expected ‘;’ before
‘*’ token
/Users/Flo/Dev/libcitygml/src/tesselator.h:63: error: ‘GLenum’ does not
name a type
/Users/Flo/Dev/libcitygml/src/tesselator.h:37: error:
‘GLU_TESS_WINDING_ODD’ was not declared in this scope
make[2]: *** [src/CMakeFiles/citygml.dir/citymodel.o] Error 1
make[1]: *** [src/CMakeFiles/citygml.dir/all] Error 2
make: *** [all] Error 2
What version of the product are you using? On what operating system?
The OS is:
Snow Leopard 10.6.4
Please provide any additional information below.
The include errors disappear when I change #include "GL/glu.h" to #include
"OpenGL/glu.h", I suggest adding something like:
#ifdef APPLE
#include <OpenGL/glu.h>
#else
#include <GL/glu.h>
#endif
I am still stuck with this error, not knowing what to change:
/Users/Flo/Dev/libcitygml/src/tesselator.h:53: error: expected `)' before
‘*’ token
on this line:
typedef void (APIENTRY *GLU_TESS_CALLBACK)();
Original issue reported on code.google.com by [email protected]
on 21 Oct 2010 at 4:47
What steps will reproduce the problem?
1. download the svn snapshot
2. change the CMakeLists.txt so libxml2 is used
3. do: cmake CMakeLists.txt
What is the expected output? What do you see instead?
The expected output would be that of a successfull build. I got the following:
patrick@linux-dev:~/projects/libcitygml-read-only$ make
[ 14%] Building CXX object src/CMakeFiles/citygml.dir/citymodel.o
In file included from
/home/patrick/projects/libcitygml-read-only/src/citymodel.cpp:21:
/home/patrick/projects/libcitygml-read-only/src/../include/citygml.h:374:
warning: ‘typedef’ was ignored in this declaration
/home/patrick/projects/libcitygml-read-only/src/citymodel.cpp: In member
function ‘void citygml::Polygon::tesselate(const TVec3d&)’:
/home/patrick/projects/libcitygml-read-only/src/citymodel.cpp:219: error:
‘memcpy’ was not declared in this scope
make[2]: *** [src/CMakeFiles/citygml.dir/citymodel.o] Error 1
make[1]: *** [src/CMakeFiles/citygml.dir/all] Error 2
make: *** [all] Error 2
What version of the product are you using? On what operating system?
The OS is:
Linux linux-dev 2.6.32-24-generic #42-Ubuntu SMP Fri Aug 20 14:24:04 UTC 2010
i686 GNU/Linux
Please provide any additional information below.
I also filed the previous error. The status seems to have improved, but I still
get these errors.
Original issue reported on code.google.com by [email protected]
on 7 Sep 2010 at 12:17
What steps will reproduce the problem?
1. download the svn snapshot
2. change the CMakeLists.txt so libxml2 is used
3. do: cmake CMakeLists.txt
What is the expected output? What do you see instead?
The expected output would be that of a successfull build. I got the following:
See: http://pastebin.com/ycitSRjS
What version of the product are you using? On what operating system?
The OS is:
Linux linux-dev 2.6.32-24-generic #42-Ubuntu SMP Fri Aug 20 14:24:04 UTC 2010
i686 GNU/Linux
The gcc version is:
gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3
Please provide any additional information below.
I also filed some errors previously. Again, the status seems to have improved,
and this time a non-related error has occurred.
*SOLUTION*
To fix this issue I added the string.h include in the file ./include/vecs.h.
Diff:
Index: include/vecs.h
===================================================================
--- include/vecs.h (revision 92)
+++ include/vecs.h (working copy)
@@ -4,6 +4,7 @@
#include <sstream>
#include <iostream>
#include <math.h>
+#include <string.h>
After this, the program compiled just fine... now I will go on and test it
Original issue reported on code.google.com by [email protected]
on 9 Sep 2010 at 3:23
What steps will reproduce the problem?
1. Download and compile svn revision 97
2. Use the lib to open and parrse the PatrickTest.gml file
What is the expected output? What do you see instead?
I expect the gml file to be parsed, but I reveive the following output:
---
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
The program has unexpectedly finished.
---
What version of the product are you using? On what operating system?
- svn revision 97
- ubuntu 10.04 (32 bit)
Please provide any additional information below.
I only get this error when using the file PatrickTest.gml (I have added this
file to the bugreport). Other (smaller/less complex) files have been parsed
without an issue before and with the same program.
Of course, if I can be of any assistance then please contact me.
Original issue reported on code.google.com by [email protected]
on 22 Sep 2010 at 3:33
Attachments:
It would be nice to have access to the content of the name element of
CityObjects which was inherited from gml:Feature. Could you extend the parsing
in that direction ?
Kind regards,
Jan
Original issue reported on code.google.com by [email protected]
on 23 Jul 2012 at 12:15
What steps will reproduce the problem?
1. Load a model with different LOD representations per building
2. The display of LODs will interfere within the scene
What is the expected output? What do you see instead?
It should be possible to configure the loader to show the highest lod only.
What version of the product are you using? On what operating system?
current trunk
Please provide any additional information below.
I attached a patch. It introduces a new configuration parameter for the plugin
called "useMaxLODonly" to swithc between the old behaviour of loading all the
geometries and the new one. It would be nice if this could be merged.
Original issue reported on code.google.com by [email protected]
on 29 May 2012 at 3:16
Attachments:
Hi,Joachim
It seems the parser doesn't consider 'BuildingPart' as a CityObject. I really
hope the support for 'BuildingPart' could be added soon in the future. But for
now, it's kind of an urgent need to me. Could you possibly give me some hints
for doing it by myself?
Best regards,
Shuang
Original issue reported on code.google.com by [email protected]
on 1 Dec 2010 at 12:40
Hi,
i found an issue in the FindCityGML.cmake file.
If there is no debug version of the library available, the variable
CITYGML_LIBRARIES does not get set.
Fix at the bottom of the file:
IF(CITYGML_LIBRARY AND CITYGML_INCLUDE_DIR)
SET(CITYGML_FOUND TRUE)
IF(NOT CITYGML_LIBRARY_DEBUG)
MESSAGE("-- Warning Debug LibCityGML not found, using: ${CITYGML_LIBRARY}")
SET(CITYGML_LIBRARY_DEBUG "${CITYGML_LIBRARY}" CACHE FILEPATH "Path to a library." FORCE)
ENDIF(NOT CITYGML_LIBRARY_DEBUG)
ENDIF(CITYGML_LIBRARY AND CITYGML_INCLUDE_DIR)
SET(CITYGML_LIBRARIES optimized ${CITYGML_LIBRARY} debug
${CITYGML_LIBRARY_DEBUG})
Kind regards,
Jan
Original issue reported on code.google.com by [email protected]
on 3 Aug 2011 at 2:16
What steps will reproduce the problem?
1. Process a geometry that need a call to Polygon::mergeRings
The method fails (stops in debug mode execution) because of accessing the
indices array out of its bounds.
in citymodel.cpp starting from line 244 method Polygon::mergeRings causes the
error. It runs one time too often through the outer loop
// Create triangles' indices
int indicesSize = 3 * ( _vertices.size() - 2 );
if ( indicesSize < 3 ) return;
_indices.resize( indicesSize );
for ( int i = 0, p = 0; (i < indicesSize - 2); i++, p += 3 )
for ( unsigned int j = 0; j < 3; j++ )
_indices[ p + j ] = i + j;
I recommend to fix this just by also checking the limits using the p variable
in the outer loop condition
// Create triangles' indices
int indicesSize = 3 * ( _vertices.size() - 2 );
if ( indicesSize < 3 ) return;
_indices.resize( indicesSize );
for ( int i = 0, p = 0; (p < indicesSize); i++, p += 3 )
for ( unsigned int j = 0; j < 3; j++ )
_indices[ p + j ] = i + j;
Kind regards,
Jan
Original issue reported on code.google.com by [email protected]
on 20 Jul 2011 at 12:01
What steps will reproduce the problem?
1. Parse the attached file
2. Use in release mode (or via qtcreator debug or release mode)
3.
What is the expected output? What do you see instead?
My program crashes with a segfault.
What version of the product are you using? On what operating system?
I used the newest revision 99.
Please provide any additional information below.
I added the gml file I need to parse. I removed the F which was wrong.
Also, I think it is the same bug as in issue 10. There it was put on a mistake
in the gml file, but I believe I added that mistake only when checking the file
just before uploading. Now, it does also crash and the crash seems the same.
Not that in Visual Studio (2005) the program works fine in debug mode, but
crashes when in release mode.
I am not sure how I can help you more then this info. Please ask me if you need
anything else...
Original issue reported on code.google.com by [email protected]
on 5 Oct 2010 at 2:00
Attachments:
What steps will reproduce the problem?
1. download the svn snapshot
2. change the CMakeLists.txt so libxml2 is used
3. do: cmake CMakeLists.txt
What is the expected output? What do you see instead?
The expected output would be that of a successfull build. I got the following:
See: http://pastebin.com/T5t50WBn
Maybe the output of the cmake CMakeList.txt is of interest as well:
See: http://pastebin.com/hw0JqS64
What version of the product are you using? On what operating system?
The OS is:
Linux linux-dev 2.6.32-24-generic #42-Ubuntu SMP Fri Aug 20 14:24:04 UTC 2010
i686 GNU/Linux
Please provide any additional information below.
I also filed some errors previously. Again, the status seems to have improved,
and this time a non-related error has occurred.
--- Note ---
I used http://pastebin.com because the full details did not fit into this
description. Note that the pages containing the error description at pastebin
will be removed in 1 month.
Original issue reported on code.google.com by [email protected]
on 8 Sep 2010 at 2:56
What steps will reproduce the problem?
1.Download libcityGML 0.1.3
2.After Cmake generation, try to compile it with gcc
3.Enjoy !
What is the expected output? What do you see instead?
Expected : compilation's working.
Actually : http://pastebin.com/hYZTQj1k
What version of the product are you using? On what operating system?
libCityGml 0.1.3, Ubuntu 11.10 x 64, gcc version 4.6.1
Please provide any additional information below.
Need some headers and namespace for linux.
Solved by adding in citygml.h :
#include <stdio.h>
#include <stdlib.h>
and adding in citymodel.cpp :
#include <string.h>
using namespace std;
The last error (cast from ‘GLvoid* {aka void*}’ to ‘int’ loses
precision) is more difficult to resolve, because on 64bits OS, an int is not
large enough to contain pointer, and I've not the good answer to this problem.
Regards,
Alexis
Original issue reported on code.google.com by [email protected]
on 3 Jan 2012 at 3:55
What steps will reproduce the problem?
1. Parse a CityGML file that has both a texture and a material assigned to the
same geometry
2.
3.
What is the expected output? What do you see instead?
The CityGML specs allow both a texture and a material on every side of a
geometry. This would translate in up to 4 appearances per surface. The current
implementation only remembers one appearance at most.
I changed the code to remember a Texture and Material and added new getters and
setters, getTexture() and getMaterial() to replace the deprecated
getAppearance() method. I did *not* add support for different appearances for
the different sides of a geometry, as the 'isFront' property in the citygml is
currently ignored. It shouldn't be too hard however to extend the API to
support this, if needed.
Feel free to include my patch in any form. If you have questions, comments or
want things changed let me know, maybe I can help out.
What version of the product are you using? On what operating system?
r.126
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 27 Feb 2012 at 4:44
Attachments:
Hi,
in transform.h the "ogrsf_frmts.h" is included without checking for GDAL
inclusion.
Solution:
replace
#include "ogrsf_frmts.h"
against:
ifdef USE_GDAL
#include "ogrsf_frmts.h"
#endif
Original issue reported on code.google.com by [email protected]
on 12 Aug 2010 at 12:35
In Order to integrate CityGML Datasets with other georeferenced data i would
like the osg geometry beeing placed at the original coordinate values.
I attached a patch for the osg reader since this seems to be the easiest way to
achieve this (apply the settings._origing to the MatrixTransform after having
converted the model to osg geometries).
See patch attached.
Original issue reported on code.google.com by [email protected]
on 30 Nov 2011 at 12:54
Attachments:
For my installation, the cmake findscript for Xercesc produces invalid projects
for Visual Studio, because of the realease-Version of Xercesc is always getting
included in every run configuration.
I solved it by introducing the XERCESC_LIBRARIES variable in the CMAKE find
script and using it also in the CMAKE project for libcitygml.
Please find the svn patch attached.
Kind regards,
Jan
Original issue reported on code.google.com by [email protected]
on 26 Jan 2012 at 4:26
Attachments:
Plugin seems to crash when a file with an empty CityModel (i.e., without
cityObjectMembers included) is loaded. For example, try to load the attached
file in osgviewer.
The system should not crash but, e.g., only warn or inform that no features are
included.
Best regards,
Benjamin
Original issue reported on code.google.com by [email protected]
on 9 Dec 2011 at 5:03
Attachments:
A georeferenced texture has optional parameters (preferWorldFile,
referencePoint, orientation) that don't apply to Texture.
The attached patch implements support for parsing preferWorldFile and exposing
it via getPreferWorldFile method on the newly created GeoreferencedTexture.
An example of a georeferenced texture can be found at:
http://www.citygml.org/fileadmin/count.php?f=fileadmin%2Fcitygml%2Fdocs%2FMunich
_LOD2_v1.0.0.zip
I don't have any datasets with referencePoint or orientation so I didn't
implement those.
Original issue reported on code.google.com by [email protected]
on 24 Nov 2011 at 4:30
Attachments:
What steps will reproduce the problem?
1. Compile and install the latest svn code
2. Run ./citygmltest on a gml input file
What is the expected output? What do you see instead?
I saw the following error: http://pastebin.com/me5KekpR
As an input I used: http://pastebin.com/33tAMvFX
What version of the product are you using? On what operating system?
I used it on Ubuntu 10.04
Please provide any additional information below.
I am not very familiar with gml (yet). I am also not sure if the problem is of
interest for my own use of the lib.
I have tested the gml file in the w3c xml validator, and the xml seemed fine.
Original issue reported on code.google.com by [email protected]
on 17 Sep 2010 at 12:59
The newly introduced feature types for special surfaces where not placed
in the getCityObjectsClassName method. So no class name was delivered for those
Features.
See the path attached.
Original issue reported on code.google.com by [email protected]
on 21 Jun 2012 at 2:43
Attachments:
Sorry for Posting again, but there are some issues concerning the removal of
vertices that are seen as duplicates.
In the method LinearRing::finish() each vertex is checked against other
vertices unsing a squared distance. Unfortunately there is a fixed offset of
0.00000001 squared distance, which means a distance of 0,0001 units. This might
be low enough when the coordinate systems is a projected on based on meters or
inches, but when it comes to latitude / longitude coordinate systems this value
means several meters of distance. Therefore a lot vertices are removed and
holes appear in the model.
One solution might be to make this value configurable or to derive the distance
value from the coordinate system used in the model.
Further there is a problem with texture coordinates when vertices are removed.
The texture coordinate array for each LinearRing is not taken into account when
vertices are removed. So a wrong mapping may appear.
Since the appearance model should already be loaded at this point in time, it
should be possible to modify also the texture coordinates for the linear ring
that is currently modified.
AS far as i know the association between texture coordinates and the linear
ring is not accessible at the moment from within the LinearRing::finish method.
Are there any more explicit suggestions how to fix this ?
Kind regards,
Jan
Original issue reported on code.google.com by [email protected]
on 22 Jul 2011 at 8:34
What steps will reproduce the problem?
1. Unzip http://www.geores.de/resourcesHomepage/fewTreesImplGeom.zip
2. Read the xml with the citygml osg plugin
3.
What is the expected output? What do you see instead?
The expected output is on the website http://www.geores.de/geoResDownloads.html
What version of the product are you using? On what operating system?
I use r104
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 12 Dec 2010 at 11:20
This is more a question than a problem:
Are you aware of any issue that prevents libcitygml to be used in a threaded
context (e.g. multiple parsing threads in parallel).
Kind regards,
Jan
Original issue reported on code.google.com by [email protected]
on 29 Jul 2011 at 1:43
It seems like the definition of FLT_EPSILON was omited in code. This causes the
library not to compile ...
Original issue reported on code.google.com by [email protected]
on 27 Sep 2012 at 10:08
What steps will reproduce the problem?
1. Use trunk with OpenSceneGraph and for example the city of Ettenheim
model from citygml.org
http://www.citygml.org/fileadmin/count.php?f=fileadmin%2Fcitygml%2Fdocs%2FStadt-
Ettenheim-LoD3_edited_v1.0.0.zip
2. Render it.
What is the expected output? What do you see instead?
There are rendering artefacts (flickering ...). This is due to the
large coordinates of this citygml file. Therefore tesselation fails.
What version of the product are you using? On what operating system?
Trunk on Ubuntu Lucid, Latest OSG trunk
Please provide any additional information below.
To solve the problem the input geometry needs to be translated based
on the citymodel envelope before tesselation. The resulting OSG file
needs to be put as a child in a MatrixTransformation node which
translates the model to the correct position.
I hacked such a solution and it works fine. At least if the model
has an envelope set.
One could integration translation and maybe also scaling of the geometry
into the GeoTransformation class.
Any thoughts about that?
Best regards,
Wolfgang
Original issue reported on code.google.com by [email protected]
on 16 Sep 2010 at 11:41
Hi,
we found several issues concerning memory management in the library.
See the patch file attached. This is basically cleanup code. it is based on the
current revision 116.
Kind regards,
Jan
Original issue reported on code.google.com by [email protected]
on 21 Jul 2011 at 7:30
Attachments:
What steps will reproduce the problem?
1. Compile with libxml2 (Linux, Ubuntu Lucid), Run citygmltest with any file
2. Crash will happen in xmlFreeParserCtxt( context );
What is the expected output? What do you see instead?
No crash !
What version of the product are you using? On what operating system?
Trunk as of 15th September 2010
Please provide any additional information below.
xmlSAXHandler needs to be allocated on the Heap so that
the xmlFreeParserCtxt function can free it afterwards.
See patch below for a fix.
Original issue reported on code.google.com by [email protected]
on 15 Sep 2010 at 7:11
Attachments:
What steps will reproduce the problem?
1. Download
http://www.citygml.org/fileadmin/count.php?f=fileadmin%2Fcitygml%2Fdocs%2FKreuz_
Leverkusen_2008-03-05.zip from the citygml example page (CityGML V0.4.0 (Noise
ADE) ZIP archive, 7.7 MB.)
2. Convert RoadNoise_Levkreuz.xml
What is the expected output? What do you see instead?
I expect that the xml file will be parsed; instead it crashes. See below for
the details.
What version of the product are you using? On what operating system?
Windows 7, trunk rev.
Please provide any additional information below.
The crash is inside the inline void popObject( void ) function inside parser.h.
This popObject is called when the CityModel endtag is encountered. At that
time, the CityModel is popped from the object stack. The stack is then empty
after which it crashes on looking at the top of the stack at '_currentObject =
objectStack.top();'.
I tried debugging the code but I don't really get it. I would expect the
pushObject() and popObject() functions to be symetrical; ie be called when an
opening respectively closing tag of a function is called. This however is not
the case.
I would also expect that after a popObject the stack could be empty, as all
pushes before could be matches. I would thus expect the following very small
xml file to be just fine, but it produces exactly the same stack trace as the
pop:
==========
<?xml version="1.0" encoding="UTF-8"?>
<core:CityModel>
</core:CityModel>
==========
Original issue reported on code.google.com by [email protected]
on 23 Nov 2011 at 4:27
CityGML allows for up to 4 appearances on a geometry; a texture- and a material
appearance on either side.
This patch introduces the getIsFront() API method to read the boolean that
indicates wether the appearance is for the front or the back.
For materials, both a front and a back material can be defined. The polygon API
method getMaterial() returns the front material by preference. If it's not
there it will return the back material. Two new API methods, getMaterialFront()
and getMaterialBack() were introduced.
The texture implementation wasn't changed. This means that there is still only
at most one texture definition taken from the cityGML per polygon. I did not
change this because it's a little harder to implement and I didn't have an
immediate need for it.
The problem with it is that it affects more than just the texture; it also
affects the texture coordinates and wrapping and thus affect the code quite
some. To implement this in a neat way, I see to options: Either a poly has 2
AppearanceManagers, one for each side or a cityGML poly can result in upto 2
polygons, one for each side, that are somehow linked to each other. The
advantage of the latter would be that also the normals and indices of the back
side poly can be adjusted in code. This would take the burden of duplicating
geometry and orienting it away from the user of the library.
Looking forward to your feedback, I hope the patch is useful. If you have
questions or I can do something to help integrating the patch, let me know!
Cheers
Original issue reported on code.google.com by [email protected]
on 12 Mar 2012 at 10:33
Attachments:
What steps will reproduce the problem?
1. Load a CityGML Model with no SRS assigned in the file and a destSRS set.
2. The library prints a warning to stderr and assignes the srsName attribute of
the CityModel objects to params.destSRS without applying any SRS transformation
(because it does not know about the sourceSRS)
3. A program using the library is not able to determine wether a transformation
took place or not.
What is the expected output? What do you see instead?
The value of srsName of a model should haven a value that is somehow clearly
recognizeable as unknown. Then it would be clear that no transformation has
been applied.
What version of the product are you using?
current trunk
Please provide any additional information below.
Introduce a value (maybe specifyable from outside the library) that gets set
when no coordinate transformation could be performed e.g. because no SRS was
set in the model file.
Original issue reported on code.google.com by [email protected]
on 5 Jan 2012 at 12:30
What steps will reproduce the problem?
1. compile latest svn version with g++
2.
3.
What is the expected output? What do you see instead?
The compilation fails with:
[ 14%] Building CXX object src/CMakeFiles/citygml.dir/parser.o
/home/patrick/projects/libcitygml-read-only-2/src/parser.cpp: In function
‘void parseVecList(std::stringstream&, std::vector<T, std::allocator<_CharT>
>&)’:
/home/patrick/projects/libcitygml-read-only-2/src/parser.cpp:235: error: must
#include <typeinfo> before using typeid
/home/patrick/projects/libcitygml-read-only-2/src/parser.cpp: In function
‘void parseVecList(std::stringstream&, std::vector<T, std::allocator<_CharT>
>&, GeoTransform*)’:
/home/patrick/projects/libcitygml-read-only-2/src/parser.cpp:251: error: must
#include <typeinfo> before using typeid
What version of the product are you using? On what operating system?
Ubuntu 10.04
Please provide any additional information below.
The issue is easily solved by adding #include <typeinfo> in the parser.cpp
(just as the error reveals).
That is all... after changing this the build is successful.
Original issue reported on code.google.com by [email protected]
on 28 Sep 2010 at 8:41
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.