Hi, I implemented the changes. Attached you will find the revised LAS osgPlugin.
- Exception are not used anymore. - A MatrixTransform is used to translate the whole object to the midpoint of the point cloud. This would reduce numerical precision problems. Bye, On Tue, Jun 17, 2014 at 9:40 AM, Rafa Gaitan <[email protected]> wrote: > Hi, > > Really nice contribution! I've been working with LiDAR data and OSG for a > while, and I've been using also the liblas library. Currently, I think, > PDAL(http://www.pdal.io/) is growing as a substitute of liblas but I > didn't have the time to change to that library yet. > > Just a couple of comments about your code: > > - I've seen you are throwing exceptions. OSG usually tries to avoid that, > or at least not to propagate the exception to upper layers, it will be > interesting to return a ReadResult::ERROR_IN_READ_FILE instead. > > - You are declaring a osg::Vec3Array and then inserting osg::Vec3d points. > liblas, and most of the pointcloud libraries use double precision points, > but OpenGL and OSG not (unless you are using OpenGL 4). So I recommend you > collect your vertices in a Vec3dArray and then substract a center to > increase the precision and fit the whole pointcloud in a range that it can > be rendered. If you don't do that, you will find that some pointclouds have > sets of points at the same position, because the Vec3d is clamped to a Vec3 > (double to float). > > Thank you very much for the contribution! If you have any question maybe I > could help you with the modifications. > > Regards, > Rafa. > > > 2014-06-17 9:07 GMT+02:00 Aitor Moreno <[email protected]>: > >> Hi everyone, >> >> Attached to this email, you will find a working version a osgPlugin which >> reads LAS files: The LAS file format is commonly used to store 3D point >> clouds [1]. >> >> >> This contribution is a straightforward wrapper of the libLas library [2]. >> Although precompiled versions could be used, I compiled libLas by myself >> from the GIT repo [3]. >> >> >> >> >> In order to compile the plugin, BOOST is required (it is used by libLas, not >> the pluging itself). Some quick notes about this: >> >> - BOOST and the libraries can be found in the full 3rd party package [4] >> >> >> - It happens that COLLADA_INCLUDE_DIR points to the right place, so I used >> this in the CMakeLists.txt. But I guess, a new and independent CMake var >> should be added to define the BOOST include directory. >> - The BOOST_THREAD_LIBRARY and BOOST_THREAD_LIBRARY_DEBUG libraries have to >> be defined using CMake (add entry). >> >> >> >> About the implementation: The plugin is a mix between the 3dc osg plugin (it >> deals with points too) and the libLas read example. As the 3dc plugin, the >> points are arranged in 10000 batches. >> >> The LAS plugin has a "v" option to show the LAS header of the input files. >> Of course, it can be modified to use any other common OSG logging standards >> (osg::NOTIFY). >> >> The provided CMakeLists.txt have trivial modifications. >> >> >> - ${OSGROOT}/CMakeLists.txt >> *FIND_PACKAGE (libLas) * >> - ${OSGROOT}/src/osgPlugins/CMakeLists.txt >> *ADD_SUBDIRECTORY (las)* >> >> About the compatibility, it works in OSG 3.2.0 and the Trunk version. Sample >> LAS files can be found in [3]. >> >> >> Best regards, >> >> >> [1]: LAS LIDAR FORMAT: >> http://www.asprs.org/Committee-General/LASer-LAS-File-Format-Exchange-Activities.html >> [2]: LibLas library: http://www.liblas.org/ >> [3]: LibLas GIT repo: https://github.com/libLAS/libLAS >> [4]: OSG precompiled 3rd party: >> http://www.openscenegraph.org/index.php/download-section/dependencies >> >> -- >> Aitor Moreno >> aitormoreno [@] gmail.com >> >> _______________________________________________ >> osg-submissions mailing list >> [email protected] >> >> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org >> >> > > > -- > Rafael Gaitán Linares > CTO at Mirage Technologies S.L - http://www.mirage-tech.com > > _______________________________________________ > osg-submissions mailing list > [email protected] > > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org > > -- Aitor Moreno aitormoreno [@] gmail.com
las_osgPlugin.20140617.b.7z
Description: application/7z-compressed
_______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
