From 918693d1d8c83b9bb4c77ec9cadd68fc25a05196 Mon Sep 17 00:00:00 2001 From: Howard Butler Date: Mon, 10 Jun 2013 15:00:04 -0500 Subject: [PATCH] use mapDimensions and copyLikeDimensions to copy over buffer data instead of explicitly copying only X, Y, Z float dimensions --- src/drivers/buffer/Reader.cpp | 29 +++++++++-------------------- src/gitsha.cpp | 2 +- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/src/drivers/buffer/Reader.cpp b/src/drivers/buffer/Reader.cpp index 8327ac7a67..618555ed69 100644 --- a/src/drivers/buffer/Reader.cpp +++ b/src/drivers/buffer/Reader.cpp @@ -96,30 +96,19 @@ boost::uint32_t Reader::processBuffer(PointBuffer& data, boost::uint64_t index) boost::uint64_t numPointsAvailable = getNumPoints() - index; if (numPointsAvailable < numPointsWanted) numPointsWanted = numPointsAvailable; + + DimensionMap* d = PointBuffer::mapDimensions(m_buffer, data); - const Dimension& dimX = schema.getDimension("X"); - const Dimension& dimY = schema.getDimension("Y"); - const Dimension& dimZ = schema.getDimension("Z"); - - boost::uint32_t cnt = 0; data.setNumPoints(0); - for (boost::uint32_t pointIndex=0; pointIndex(dimX, pointIndex); - float y = m_buffer.getField(dimY, pointIndex); - float z = m_buffer.getField(dimZ, pointIndex); - - data.setField(dimX, pointIndex, x); - data.setField(dimY, pointIndex, y); - data.setField(dimZ, pointIndex, z); - - ++cnt; - data.setNumPoints(cnt); - assert(cnt <= data.getCapacity()); - } + PointBuffer::copyLikeDimensions(m_buffer, data, + *d, + index, + 0, + numPointsWanted); - return cnt; + data.setNumPoints(numPointsWanted); + return numPointsWanted; } diff --git a/src/gitsha.cpp b/src/gitsha.cpp index c8b4ff06eb..3831b7a9a6 100644 --- a/src/gitsha.cpp +++ b/src/gitsha.cpp @@ -1,3 +1,3 @@ #include -#define GIT_SHA1 "9703f2b4d21e4c0e01b41e03d9ccda49adaffd5e" +#define GIT_SHA1 "018e060b2900c224ce3da2e444ffc24e955603cf" const char g_GIT_SHA1[] = GIT_SHA1;