diff --git a/src/Mod/Points/App/PointsAlgos.cpp b/src/Mod/Points/App/PointsAlgos.cpp index 1347a54df9..3f92776e42 100644 --- a/src/Mod/Points/App/PointsAlgos.cpp +++ b/src/Mod/Points/App/PointsAlgos.cpp @@ -1330,15 +1330,15 @@ void E57Reader::read(const std::string& filename) e57::StructureNode prototype(cvn.prototype()); // create buffers for the compressed vector reader const size_t buf_size = 1024; - double* xyz = new double[buf_size * 3]; - double* intensity = new double[buf_size]; - int64_t* state = new int64_t[buf_size]; - unsigned* rgb = new unsigned[buf_size * 3]; - int64_t* nil = new int64_t[buf_size]; + double xyz[buf_size * 3]; + double intensity[buf_size]; + int64_t state[buf_size]; + unsigned rgb[buf_size * 3]; + int64_t nil[buf_size]; // check the channels which are needed - unsigned* ptr_xyz = new unsigned[3]; - unsigned* ptr_rgb = new unsigned[3]; + unsigned ptr_xyz[3]; + unsigned ptr_rgb[3]; bool inty = false; bool inv_state = false; unsigned cnt_xyz = 0; diff --git a/src/Mod/Points/App/PointsGrid.cpp b/src/Mod/Points/App/PointsGrid.cpp index 6d4fe30644..3cb4db1675 100644 --- a/src/Mod/Points/App/PointsGrid.cpp +++ b/src/Mod/Points/App/PointsGrid.cpp @@ -147,17 +147,26 @@ void PointsGrid::InitGrid () { // Offset fGridLen/2 // - _fGridLenX = (1.0f + fLengthX) / double(_ulCtGridsX); + unsigned long num = _ulCtGridsX; + if (num == 0) + num = 1; + _fGridLenX = (1.0f + fLengthX) / double(num); _fMinX = clBBPts.MinX - 0.5f; } { - _fGridLenY = (1.0f + fLengthY) / double(_ulCtGridsY); + unsigned long num = _ulCtGridsY; + if (num == 0) + num = 1; + _fGridLenY = (1.0f + fLengthY) / double(num); _fMinY = clBBPts.MinY - 0.5f; } { - _fGridLenZ = (1.0f + fLengthZ) / double(_ulCtGridsZ); + unsigned long num = _ulCtGridsZ; + if (num == 0) + num = 1; + _fGridLenZ = (1.0f + fLengthZ) / double(num); _fMinZ = clBBPts.MinZ - 0.5f; } }