Version: 6.3.1
Public Member Functions | Static Public Attributes | Private Attributes

INTERP_KERNEL.IntersectElement Class Reference

#include <InterpKernelGeo2DEdge.hxx>

Public Member Functions

 IntersectElement (double val1, double val2, bool start1, bool end1, bool start2, bool end2, Node *node, const Edge &e1, const Edge &e2, bool keepOrder)
 IntersectElement (const IntersectElement &other)
bool operator< (const IntersectElement &other) const
 The sort operator is done on the edge 1 not edge 2.
IntersectElementoperator= (const IntersectElement &other)
double getVal1 () const
double getVal2 () const
bool isLowerOnOther (const IntersectElement &other) const
 idem operator< method except that the orientation is done on edge 2 not edge 1.
unsigned isOnExtrForAnEdgeAndInForOtherEdge () const
void attachLoc ()
bool isOnMergedExtremity () const
bool isIncludedByBoth () const
void setNode (Node *node) const
void performMerging (MergePoints &commonNode) const
NodegetNodeOnly () const
NodegetNodeAndReleaseIt ()
 ~IntersectElement ()

Static Public Attributes

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

Private Attributes

bool _1S
bool _1E
bool _2S
bool _2E
double _chararct_val_for_e1
double _chararct_val_for_e2
Node_node
TypeOfLocInPolygon _loc_of_node
const Edge_e1
const Edge_e2

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::IntersectElement ( double  val1,
double  val2,
bool  start1,
bool  end1,
bool  start2,
bool  end2,
Node node,
const Edge e1,
const Edge e2,
bool  keepOrder 
)
IntersectElement::IntersectElement ( const IntersectElement other)
IntersectElement::~IntersectElement ( )

Member Function Documentation

bool IntersectElement::operator< ( const IntersectElement other) const
IntersectElement & IntersectElement::operator= ( const IntersectElement other)
double INTERP_KERNEL.IntersectElement.getVal1 ( ) const
double INTERP_KERNEL.IntersectElement.getVal2 ( ) const
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.IntersectElement._chararct_val_for_e2, INTERP_KERNEL.IntersectElement._e2, and INTERP_KERNEL.Edge.isLower().

unsigned IntersectElement::isOnExtrForAnEdgeAndInForOtherEdge ( ) const
void INTERP_KERNEL.IntersectElement.attachLoc ( )
bool IntersectElement::isOnMergedExtremity ( ) const
bool IntersectElement::isIncludedByBoth ( ) const
void IntersectElement::setNode ( Node node) const

This methode is const because 'node' is supposed to be equal geomitrically to _node.

References INTERP_KERNEL.IntersectElement._node, and INTERP_KERNEL.Node.incrRef().

void IntersectElement::performMerging ( MergePoints commonNode) const
Node* INTERP_KERNEL.IntersectElement.getNodeOnly ( ) const
Node* INTERP_KERNEL.IntersectElement.getNodeAndReleaseIt ( )

Field Documentation

const unsigned INTERP_KERNEL.IntersectElement.LIMIT_ALONE = 22 [static]
const unsigned INTERP_KERNEL.IntersectElement.LIMIT_ON = 73 [static]
const unsigned INTERP_KERNEL.IntersectElement.NO_LIMIT = 19 [static]
Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS