From d829793df07284a7f29509fd8651ff03d862d853 Mon Sep 17 00:00:00 2001 From: Thomas Toulorge <thomas.toulorge@mines-paristech.fr> Date: Mon, 23 Feb 2015 10:00:51 +0000 Subject: [PATCH] Fixed non-standard array declaration in CADDistances --- contrib/HighOrderMeshOptimizer/CADDistances.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/contrib/HighOrderMeshOptimizer/CADDistances.cpp b/contrib/HighOrderMeshOptimizer/CADDistances.cpp index bf4b106605..96b517c97d 100644 --- a/contrib/HighOrderMeshOptimizer/CADDistances.cpp +++ b/contrib/HighOrderMeshOptimizer/CADDistances.cpp @@ -116,7 +116,7 @@ parametricLineNodalBasis::parametricLineNodalBasis(const nodalBasis &basis, SPoint3 parametricLineNodalBasis::operator()(double xi) const { - double psi[_xyz.size()]; + double *psi = new double[_xyz.size()]; SPoint3 p(0., 0., 0.); _basis.f(-1 + 2 * xi, 0., 0., psi); for (size_t j = 0; j < _xyz.size(); ++j) { @@ -124,13 +124,14 @@ SPoint3 parametricLineNodalBasis::operator()(double xi) const p[1] += psi[j] * _xyz[j].y(); p[2] += psi[j] * _xyz[j].z(); } + delete[] psi; return p; } SVector3 parametricLineNodalBasis::derivative(double xi) const { - double dpsi[_xyz.size()][3]; + double (*dpsi)[3] = new double[_xyz.size()][3]; SVector3 p(0., 0., 0.); _basis.df(-1 + 2 * xi, 0., 0., dpsi); for (size_t j = 0; j < _xyz.size(); ++j) { @@ -138,13 +139,14 @@ SVector3 parametricLineNodalBasis::derivative(double xi) const p[1] += dpsi[j][0] * _xyz[j].y(); p[2] += dpsi[j][0] * _xyz[j].z(); } + delete[] dpsi; return p; } SVector3 parametricLineNodalBasis::secondDerivative(double xi) const { - double ddpsi[_xyz.size()][3][3]; + double (*ddpsi)[3][3] = new double[_xyz.size()][3][3]; SVector3 p(0, 0, 0); _basis.ddf(-1 + 2 * xi, 0, 0, ddpsi); for (size_t j = 0; j < _xyz.size(); ++j) { @@ -152,6 +154,7 @@ SVector3 parametricLineNodalBasis::secondDerivative(double xi) const p[1] += ddpsi[j][0][0] * _xyz[j].y(); p[2] += ddpsi[j][0][0] * _xyz[j].z(); } + delete[] ddpsi; return p; } -- GitLab