

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 |
| ArcCArcCIntersector::ArcCArcCIntersector | ( | const EdgeArcCircle & | e1, | |
| const EdgeArcCircle & | e2 | |||
| ) |
| bool ArcCArcCIntersector::haveTheySameDirection | ( | ) | const [virtual] |
to call only if 'areOverlapped' have been set to true when areOverlappedOrOnlyColinears was called
Implements INTERP_KERNEL::EdgeIntersector.
References INTERP_KERNEL::EdgeArcCircle::getAngle().
| 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::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] |
Should be called only once per association.
Implements INTERP_KERNEL::EdgeIntersector.
References INTERP_KERNEL::Node::distanceBtw2Pt(), and INTERP_KERNEL::EdgeArcCircle::getRadius().
| std::list< IntersectElement > ArcCArcCIntersector::getIntersectionsCharacteristicVal | ( | ) | const [virtual] |
The size of returned vector is equal to number of potential intersections point. The values are so that their are interpretable by virtual Edge::isIn method.
Implements INTERP_KERNEL::EdgeIntersector.
References 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::EdgeArcCircle::getCenter(), INTERP_KERNEL::EdgeArcCircle::getRadius(), INTERP_KERNEL::SameTypeEdgeIntersector::keepOrder(), INTERP_KERNEL::EdgeArcCircle::normalizeAngle(), and INTERP_KERNEL::EdgeArcCircle::safeSqrt().
1.6.3