#include <InterpKernelGeo2DEdgeArcCircle.hxx>

Public Member Functions | |
| ArcCArcCIntersector (const EdgeArcCircle &e1, const EdgeArcCircle &e2) | |
| bool | haveTheySameDirection () const |
| void | getPlacements (Node *start, Node *end, TypeOfLocInEdge &whereStart, TypeOfLocInEdge &whereEnd, MergePoints &commonNode) const |
| void | areOverlappedOrOnlyColinears (const Bounds *whereToFind, bool &obviousNoIntersection, bool &areOverlapped) |
| std::list< IntersectElement > | getIntersectionsCharacteristicVal () const |
Private Member Functions | |
| double | getAngle (Node *node) const |
| return angle in ]-Pi;Pi[ - 'node' must be on curve of '_e1' | |
| const EdgeArcCircle & | getE1 () const |
| const EdgeArcCircle & | getE2 () const |
Static Private Member Functions | |
| static bool | areArcsOverlapped (const EdgeArcCircle &a1, const EdgeArcCircle &a2) |
Private Attributes | |
| double | _dist |
| ArcCArcCIntersector::ArcCArcCIntersector | ( | const EdgeArcCircle & | e1, |
| const EdgeArcCircle & | e2 | ||
| ) |
| bool ArcCArcCIntersector::haveTheySameDirection | ( | ) | const [virtual] |
| void ArcCArcCIntersector::getPlacements | ( | Node * | start, |
| Node * | end, | ||
| TypeOfLocInEdge & | whereStart, | ||
| TypeOfLocInEdge & | whereEnd, | ||
| MergePoints & | commonNode | ||
| ) | const [virtual] |
Precondition 'start' and 'end' are on the same curve than this.
Implements INTERP_KERNEL.EdgeIntersector.
References INTERP_KERNEL.ArcCArcCIntersector.getAngle(), INTERP_KERNEL.ArcCArcCIntersector.getE1(), INTERP_KERNEL.ArcCArcCIntersector.getE2(), INTERP_KERNEL.INSIDE, INTERP_KERNEL.EdgeArcCircle.isIn2Pi(), INTERP_KERNEL.EdgeIntersector.obviousCaseForCurvAbscisse(), INTERP_KERNEL.OUT_AFTER, and INTERP_KERNEL.OUT_BEFORE.
| void ArcCArcCIntersector::areOverlappedOrOnlyColinears | ( | const Bounds * | whereToFind, |
| bool & | obviousNoIntersection, | ||
| bool & | areOverlapped | ||
| ) | [virtual] |
Implements INTERP_KERNEL.EdgeIntersector.
References INTERP_KERNEL.ArcCArcCIntersector._dist, INTERP_KERNEL.QUADRATIC_PLANAR._precision, INTERP_KERNEL.ArcCArcCIntersector.areArcsOverlapped(), INTERP_KERNEL.Node.distanceBtw2Pt(), INTERP_KERNEL.ArcCArcCIntersector.getE1(), INTERP_KERNEL.ArcCArcCIntersector.getE2(), and INTERP_KERNEL.EdgeArcCircle.getRadius().
| std::list< IntersectElement > ArcCArcCIntersector::getIntersectionsCharacteristicVal | ( | ) | const [virtual] |
Implements INTERP_KERNEL.EdgeIntersector.
References INTERP_KERNEL.ArcCArcCIntersector._dist, INTERP_KERNEL.EdgeIntersector._e1, INTERP_KERNEL.EdgeIntersector._e2, INTERP_KERNEL.Node.areDoubleEquals(), INTERP_KERNEL.Node.areDoubleEqualsWP(), INTERP_KERNEL.Node.declareOn(), INTERP_KERNEL.Node.declareOnTangent(), INTERP_KERNEL.EdgeArcCircle.getAbsoluteAngleOfNormalizedVect(), INTERP_KERNEL.ArcCArcCIntersector.getAngle(), INTERP_KERNEL.EdgeArcCircle.getCenter(), INTERP_KERNEL.ArcCArcCIntersector.getE1(), INTERP_KERNEL.ArcCArcCIntersector.getE2(), INTERP_KERNEL.EdgeArcCircle.getRadius(), INTERP_KERNEL.SameTypeEdgeIntersector.keepOrder(), INTERP_KERNEL.EdgeArcCircle.normalizeAngle(), testMEDMEM.ret, and INTERP_KERNEL.EdgeArcCircle.safeSqrt().
return angle in ]-Pi;Pi[ - 'node' must be on curve of '_e1'
Return angle between ]-Pi;Pi[
References INTERP_KERNEL.EdgeArcCircle.getAbsoluteAngleOfNormalizedVect(), and INTERP_KERNEL.ArcCArcCIntersector.getE1().
| bool ArcCArcCIntersector::areArcsOverlapped | ( | const EdgeArcCircle & | a1, |
| const EdgeArcCircle & | a2 | ||
| ) | [static, private] |
References testGaussLocalization.a, INTERP_KERNEL.Node.areDoubleEquals(), INTERP_KERNEL.Node.areDoubleEqualsWP(), INTERP_KERNEL.Node.distanceBtw2PtSq(), INTERP_KERNEL.EdgeArcCircle.getAbsoluteAngleOfNormalizedVect(), INTERP_KERNEL.EdgeArcCircle.getAngle(), INTERP_KERNEL.EdgeArcCircle.getAngle0(), INTERP_KERNEL.Edge.getBounds(), INTERP_KERNEL.EdgeArcCircle.getCenter(), INTERP_KERNEL.Bounds.getInterceptedArc(), INTERP_KERNEL.EdgeArcCircle.getRadius(), INTERP_KERNEL.EdgeArcCircle.isIn2Pi(), INTERP_KERNEL.Bounds.nearlyAmIIntersectingWith(), and INTERP_KERNEL.EdgeArcCircle.normalizeAngle().
| const EdgeArcCircle& INTERP_KERNEL.ArcCArcCIntersector.getE1 | ( | ) | const [private] |
| const EdgeArcCircle& INTERP_KERNEL.ArcCArcCIntersector.getE2 | ( | ) | const [private] |