mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0023361: Bug in gp_Trsf::Multiply
Bug in gp_Trsf::Multiply fixed. If we multiply 2 gp_Trsf objects (shape == gp_Rotation), for example, t1 * t2, and t2.loc = 0 (t2.loc.x == 0 and t2.loc.y == 0 and t2.loc.z == 0) then t1.loc will not change (you can verify it from the matrix multiplication) Adding test case
This commit is contained in:
@@ -464,7 +464,7 @@ void gp_Trsf::Multiply(const gp_Trsf& T)
|
||||
matrix = T.matrix;
|
||||
}
|
||||
else if (shape == gp_Rotation && T.shape == gp_Rotation) {
|
||||
if (loc.X() != 0.0 || loc.Y() != 0.0 || loc.Z() != 0.0) {
|
||||
if (T.loc.X() != 0.0 || T.loc.Y() != 0.0 || T.loc.Z() != 0.0) {
|
||||
loc.Add (T.loc.Multiplied (matrix));
|
||||
}
|
||||
matrix.Multiply(T.matrix);
|
||||
|
Reference in New Issue
Block a user