Salome HOME
projects
/
tools
/
medcoupling.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improve swig generation process on Windows platform.
[tools/medcoupling.git]
/
src
/
INTERP_KERNEL
/
TetraAffineTransform.cxx
diff --git
a/src/INTERP_KERNEL/TetraAffineTransform.cxx
b/src/INTERP_KERNEL/TetraAffineTransform.cxx
index 0ca3f599e0efd5a33ffba1454701ea6735b7bd8e..be3b8090e33600706e25d73a36d1d93b7ddf1eac 100644
(file)
--- a/
src/INTERP_KERNEL/TetraAffineTransform.cxx
+++ b/
src/INTERP_KERNEL/TetraAffineTransform.cxx
@@
-1,9
+1,9
@@
-// Copyright (C) 2007-201
2
CEA/DEN, EDF R&D
+// Copyright (C) 2007-201
6
CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License
, or (at your option) any later version
.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
@@
-38,13
+38,12
@@
namespace INTERP_KERNEL
* with corners specified in pts. If the tetrahedron is degenerate or almost degenerate,
* construction succeeds, but the determinant of the transform is set to 0.
*
* with corners specified in pts. If the tetrahedron is degenerate or almost degenerate,
* construction succeeds, but the determinant of the transform is set to 0.
*
- * @param pts a 4x3 matrix containing 4 points (
pts[0], ..., pts[3]
) of 3 coordinates each
+ * @param pts a 4x3 matrix containing 4 points (
P0X,P0Y,P0Z,P1X,P1Y,P1Z,...
) of 3 coordinates each
*/
*/
- TetraAffineTransform::TetraAffineTransform(const double
**
pts)
+ TetraAffineTransform::TetraAffineTransform(const double
*
pts)
{
LOG(2,"Creating transform from tetraeder : ");
{
LOG(2,"Creating transform from tetraeder : ");
- LOG(2, vToStr(pts[0]) << ", " << vToStr(pts[1]) << ", " << vToStr(pts[2]) << ", " << vToStr(pts[3]));
// three last points -> linear transform
for(int i = 0; i < 3 ; ++i)
// three last points -> linear transform
for(int i = 0; i < 3 ; ++i)
@@
-52,13
+51,13
@@
namespace INTERP_KERNEL
for(int j = 0 ; j < 3 ; ++j)
{
// NB we insert columns, not rows
for(int j = 0 ; j < 3 ; ++j)
{
// NB we insert columns, not rows
- _linear_transform[3*j + i] =
(pts[i+1])[j] - (pts[0])
[j];
+ _linear_transform[3*j + i] =
pts[(i+1)*3+j] - pts
[j];
}
}
// remember _linear_transform for the reverse transformation
memcpy( _back_linear_transform, _linear_transform, 9*sizeof(double));
}
}
// remember _linear_transform for the reverse transformation
memcpy( _back_linear_transform, _linear_transform, 9*sizeof(double));
- memcpy( _back_translation, pts
[0]
, 3*sizeof(double));
+ memcpy( _back_translation, pts, 3*sizeof(double));
calculateDeterminant();
calculateDeterminant();
@@
-81,7
+80,7
@@
namespace INTERP_KERNEL
// and O is the position vector of the point that is mapped onto the origin
for(int i = 0 ; i < 3 ; ++i)
{
// and O is the position vector of the point that is mapped onto the origin
for(int i = 0 ; i < 3 ; ++i)
{
- _translation[i] = -(_linear_transform[3*i]*
(pts[0])[0] + _linear_transform[3*i+1]*(pts[0])[1] + _linear_transform[3*i+2]*(pts[0])
[2]) ;
+ _translation[i] = -(_linear_transform[3*i]*
pts[0] + _linear_transform[3*i+1]*pts[1] + _linear_transform[3*i+2]*pts
[2]) ;
}
// precalculate determinant (again after inversion of transform)
}
// precalculate determinant (again after inversion of transform)
@@
-95,7
+94,7
@@
namespace INTERP_KERNEL
for(int i = 0; i < 4 ; ++i)
{
double v[3];
for(int i = 0; i < 4 ; ++i)
{
double v[3];
- apply(v, pts
[i]
);
+ apply(v, pts
+3*i
);
LOG(4, vToStr(v))
for(int j = 0; j < 3; ++j)
{
LOG(4, vToStr(v))
for(int j = 0; j < 3; ++j)
{