Version: 9.14.0
INTERP_KERNEL::IntersectElement Class Reference

Public Member Functions

void attachLoc ()
 
NodegetNodeAndReleaseIt ()
 
NodegetNodeOnly () const
 
double getVal1 () const
 
double getVal2 () const
 
 IntersectElement (const IntersectElement &other)
 
 IntersectElement (double val1, double val2, bool start1, bool end1, bool start2, bool end2, Node *node, const Edge &e1, const Edge &e2, bool keepOrder)
 
bool isIncludedByBoth () const
 
bool isLowerOnOther (const IntersectElement &other) const
 
unsigned isOnExtrForAnEdgeAndInForOtherEdge () const
 
bool isOnMergedExtremity () const
 
bool operator< (const IntersectElement &other) const
 
IntersectElementoperator= (const IntersectElement &other)
 
void performMerging (MergePoints &commonNode) const
 
void setNode (Node *node) const
 
 ~IntersectElement ()
 

Static Public Attributes

static const unsigned LIMIT_ALONE = 22
 
static const unsigned LIMIT_ON = 73
 
static const unsigned NO_LIMIT = 19
 

Detailed Description

This class is in charge to store an intersection point as result of non oververlapping edge intersection. This class manages the cases when intersect element is one of the extrimities of edge1 and/or edge2.

Constructor & Destructor Documentation

◆ IntersectElement() [1/2]

IntersectElement::IntersectElement ( double  val1,
double  val2,
bool  start1,
bool  end1,
bool  start2,
bool  end2,
Node node,
const Edge e1,
const Edge e2,
bool  keepOrder 
)

◆ IntersectElement() [2/2]

IntersectElement::IntersectElement ( const IntersectElement other)

◆ ~IntersectElement()

IntersectElement::~IntersectElement ( )

Member Function Documentation

◆ operator<()

bool IntersectElement::operator< ( const IntersectElement other) const

The sort operator is done on the edge 1 not edge 2.

References INTERP_KERNEL::Edge::isLower().

◆ operator=()

IntersectElement & IntersectElement::operator= ( const IntersectElement other)

References setNode().

◆ getVal1()

double INTERP_KERNEL::IntersectElement::getVal1 ( ) const

◆ getVal2()

double INTERP_KERNEL::IntersectElement::getVal2 ( ) const

◆ isLowerOnOther()

bool IntersectElement::isLowerOnOther ( const IntersectElement other) const

idem operator< method except that the orientation is done on edge 2 not edge 1.

References INTERP_KERNEL::Edge::isLower().

◆ isOnExtrForAnEdgeAndInForOtherEdge()

unsigned IntersectElement::isOnExtrForAnEdgeAndInForOtherEdge ( ) const

◆ attachLoc()

void INTERP_KERNEL::IntersectElement::attachLoc ( )

◆ isOnMergedExtremity()

bool IntersectElement::isOnMergedExtremity ( ) const

Returns 0 or 1.

◆ isIncludedByBoth()

bool IntersectElement::isIncludedByBoth ( ) const

◆ setNode()

void IntersectElement::setNode ( Node node) const

This method is const because 'node' is supposed to be equal geometrically to _node.

References INTERP_KERNEL::Node::incrRef().

Referenced by isOnExtrForAnEdgeAndInForOtherEdge(), and operator=().

◆ performMerging()

◆ getNodeOnly()

Node* INTERP_KERNEL::IntersectElement::getNodeOnly ( ) const

◆ getNodeAndReleaseIt()

Node* INTERP_KERNEL::IntersectElement::getNodeAndReleaseIt ( )

Member Data Documentation

◆ LIMIT_ALONE

const unsigned INTERP_KERNEL::IntersectElement::LIMIT_ALONE = 22
static

◆ LIMIT_ON

const unsigned INTERP_KERNEL::IntersectElement::LIMIT_ON = 73
static

◆ NO_LIMIT

const unsigned INTERP_KERNEL::IntersectElement::NO_LIMIT = 19
static