Public Member Functions | |
bool | areColinears () const |
void | areOverlappedOrOnlyColinears (const Bounds *whereToFind, bool &obviousNoIntersection, bool &areOverlapped) |
std::list< IntersectElement > | getIntersectionsCharacteristicVal () const |
void | getPlacements (Node *start, Node *end, TypeOfLocInEdge &whereStart, TypeOfLocInEdge &whereEnd, MergePoints &commonNode) const |
bool | haveTheySameDirection () const |
SegSegIntersector (const EdgeLin &e1, const EdgeLin &e2) | |
Friends | |
class | Edge |
Additional Inherited Members | |
Private Member Functions inherited from INTERP_KERNEL::EdgeIntersector | |
bool | intersect (const Bounds *whereToFind, std::vector< Node * > &newNodes, bool &order, MergePoints &commonNode) |
virtual | ~EdgeIntersector () |
References INTERP_KERNEL::Edge::getEndNode(), and INTERP_KERNEL::Edge::getStartNode().
|
virtual |
retrieves if segs are colinears. WARNING !!! Contrary to areOverlappedOrOnlyColinears method, this method use an another precision to detect colinearity !
Implements INTERP_KERNEL::EdgeIntersector.
Referenced by INTERP_KERNEL::QuadraticPolygon::appendEdgeFromCrudeDataArray(), INTERP_KERNEL::QuadraticPolygon::BuildArcCircleEdge(), INTERP_KERNEL::QuadraticPolygon::BuildArcCirclePolygon(), INTERP_KERNEL::Edge::BuildEdgeFrom3Points(), and INTERP_KERNEL::EdgeArcCircle::BuildFromNodes().
|
virtual |
Must be called when 'this' and 'other' have been detected to be at least colinear. Typically they are overlapped. Must be called after call of areOverlappedOrOnlyColinears.
Implements INTERP_KERNEL::EdgeIntersector.
|
virtual |
Precondition start and end must be so that there predecessor was in the same direction than 'e1'
Implements INTERP_KERNEL::EdgeIntersector.
|
virtual |
Should be called once ! non const method.
whereToFind | specifies the box where final seek should be done. Essentially it is used for caracteristic reason. |
colinearity | returns if regarding QUADRATIC_PLANAR::_precision ; e1 and e2 are colinears If true 'this' is modified ! So this method be called once above all if true is returned for this parameter. |
areOverlapped | if colinearity if true, this parameter looks if e1 and e2 are overlapped. |
Implements INTERP_KERNEL::EdgeIntersector.
References INTERP_KERNEL::EdgeIntersector::_e1, INTERP_KERNEL::EdgeIntersector::_e2, and INTERP_KERNEL::Edge::getStartNode().
Referenced by INTERP_KERNEL::Edge::Interpolate1DLin().
|
virtual |
areColinears method should be called before with a returned colinearity equal to false to avoid bad news.
Implements INTERP_KERNEL::EdgeIntersector.
References INTERP_KERNEL::EdgeIntersector::_e1, INTERP_KERNEL::EdgeIntersector::_e2, INTERP_KERNEL::Node::declareOn(), INTERP_KERNEL::Edge::getCharactValue(), INTERP_KERNEL::Edge::getEndNode(), INTERP_KERNEL::Edge::getStartNode(), INTERP_KERNEL::Node::isEqual(), and INTERP_KERNEL::SameTypeEdgeIntersector::keepOrder().
|
friend |