Salome HOME
projects
/
modules
/
shaper.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
First part of the test correction for improvement: 2D points selection in multi-trans...
[modules/shaper.git]
/
src
/
SketchPlugin
/
SketchPlugin_ConstraintAngle.cpp
diff --git
a/src/SketchPlugin/SketchPlugin_ConstraintAngle.cpp
b/src/SketchPlugin/SketchPlugin_ConstraintAngle.cpp
index 693fa9c848a67fe9c8600f7a22253076b7ca4cde..c73ae7d175e339714dcab36fb25f1eeefc3deb8c 100644
(file)
--- a/
src/SketchPlugin/SketchPlugin_ConstraintAngle.cpp
+++ b/
src/SketchPlugin/SketchPlugin_ConstraintAngle.cpp
@@
-154,15
+154,20
@@
double SketchPlugin_ConstraintAngle::calculateAngle()
std::shared_ptr<GeomAPI_Pnt2d> aStartB = aPointB1->pnt();
std::shared_ptr<GeomAPI_Pnt2d> aEndB = aPointB2->pnt();
std::shared_ptr<GeomAPI_Pnt2d> aStartB = aPointB1->pnt();
std::shared_ptr<GeomAPI_Pnt2d> aEndB = aPointB2->pnt();
+ double aDist[2][2] = {
+ { anInter->distance(aStartA), anInter->distance(aEndA) },
+ { anInter->distance(aStartB), anInter->distance(aEndB) }
+ };
+
// Directions of lines
// Directions of lines
- if (a
nInter->distance(aEndA) < tolerance
)
+ if (a
Dist[0][0] > aDist[0][1]
)
aEndA = aStartA;
aEndA = aStartA;
- if (a
nInter->distance(aEndB) < tolerance
)
+ if (a
Dist[1][0] > aDist[1][1]
)
aEndB = aStartB;
std::shared_ptr<GeomAPI_Dir2d> aDirA(new GeomAPI_Dir2d(aEndA->xy()->decreased(anInter->xy())));
std::shared_ptr<GeomAPI_Dir2d> aDirB(new GeomAPI_Dir2d(aEndB->xy()->decreased(anInter->xy())));
aEndB = aStartB;
std::shared_ptr<GeomAPI_Dir2d> aDirA(new GeomAPI_Dir2d(aEndA->xy()->decreased(anInter->xy())));
std::shared_ptr<GeomAPI_Dir2d> aDirB(new GeomAPI_Dir2d(aEndB->xy()->decreased(anInter->xy())));
- anAngle =
aDirA->angle(aDirB
) * 180.0 / PI;
+ anAngle =
fabs(aDirA->angle(aDirB)
) * 180.0 / PI;
return anAngle;
}
return anAngle;
}