From 76d7ec8e0fbbcadba53424c5399cb9197aee60a4 Mon Sep 17 00:00:00 2001 From: Laurens Voerman Date: Wed, 19 Feb 2020 09:49:51 +0100 Subject: [PATCH] ReaderWriterLAS recenter bug fixed, final batch of points was missed in translating the center point. --- src/osgPlugins/las/ReaderWriterLAS.cpp | 36 +++++++++++++------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/osgPlugins/las/ReaderWriterLAS.cpp b/src/osgPlugins/las/ReaderWriterLAS.cpp index 547d546aa..f70aff5cd 100644 --- a/src/osgPlugins/las/ReaderWriterLAS.cpp +++ b/src/osgPlugins/las/ReaderWriterLAS.cpp @@ -214,6 +214,24 @@ class ReaderWriterLAS : public osgDB::ReaderWriter double mid_y = 0.5*(my.second + my.first); double mid_z = 0.5*(mz.second + mz.first); osg::Vec3 midVec(mid_x, mid_y, mid_z); + + geometry->setUseDisplayList(true); + geometry->setUseVertexBufferObjects(true); + geometry->setVertexArray(vertices); + if (singleColor) + { + colours->resize(1); + geometry->setColorArray(colours, osg::Array::BIND_OVERALL); + } + else + { + geometry->setColorArray(colours, osg::Array::BIND_PER_VERTEX); + + } + geometry->addPrimitiveSet(new osg::DrawArrays(GL_POINTS, 0, vertices->size())); + + geode->addDrawable(geometry); + if (_recenter) { //Transform vertices to midpoint @@ -239,24 +257,6 @@ class ReaderWriterLAS : public osgDB::ReaderWriter << std::endl << std::endl; } - geometry->setUseDisplayList(true); - geometry->setUseVertexBufferObjects(true); - geometry->setVertexArray(vertices); - if (singleColor) - { - colours->resize(1); - geometry->setColorArray(colours, osg::Array::BIND_OVERALL); - } - else - { - geometry->setColorArray(colours, osg::Array::BIND_PER_VERTEX); - - } - geometry->addPrimitiveSet(new osg::DrawArrays(GL_POINTS, 0, vertices->size())); - - geode->addDrawable(geometry); - - // MatrixTransform with the mid-point translation osg::MatrixTransform *mt = new osg::MatrixTransform;