INTERP_KERNEL::EdgeLin Class Reference

Inheritance diagram for INTERP_KERNEL::EdgeLin:
Inheritance graph
[legend]
Collaboration diagram for INTERP_KERNEL::EdgeLin:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 EdgeLin (std::istream &lineInXfig)
 EdgeLin (Node *start, Node *end, bool direction=true)
 EdgeLin (double sX, double sY, double eX, double eY)
 ~EdgeLin ()
TypeOfFunction getTypeOfFunc () const
void dumpInXfigFile (std::ostream &stream, bool direction, int resolution, const Bounds &box) const
void update (Node *m)
double getNormSq () const
double getAreaOfZone () const
double getCurveLength () const
void getBarycenter (double *bary) const
void getBarycenterOfZone (double *bary) const
bool isIn (double characterVal) const
NodebuildRepresentantOfMySelf () const
double getCharactValue (const Node &node) const
double getDistanceToPoint (const double *pt) const
bool isNodeLyingOn (const double *coordOfNode) const
bool isLower (double val1, double val2) const
double getCharactValueEng (const double *node) const
bool doIHaveSameDirectionAs (const Edge &other) const
void dynCastFunction (const EdgeLin *&seg, const EdgeArcCircle *&arcSeg) const

Protected Member Functions

 EdgeLin ()
void updateBounds ()
EdgebuildEdgeLyingOnMe (Node *start, Node *end, bool direction) const

Friends

class SegSegIntersector

Constructor & Destructor Documentation

EdgeLin::EdgeLin ( std::istream &  lineInXfig  ) 
EdgeLin::EdgeLin ( Node start,
Node end,
bool  direction = true 
)

References updateBounds().

EdgeLin::EdgeLin ( double  sX,
double  sY,
double  eX,
double  eY 
)

References updateBounds().

EdgeLin::~EdgeLin (  ) 
INTERP_KERNEL::EdgeLin::EdgeLin (  )  [protected]

Referenced by buildEdgeLyingOnMe().


Member Function Documentation

TypeOfFunction INTERP_KERNEL::EdgeLin::getTypeOfFunc (  )  const [virtual]

Implements INTERP_KERNEL::Edge.

References INTERP_KERNEL::SEG.

void EdgeLin::dumpInXfigFile ( std::ostream &  stream,
bool  direction,
int  resolution,
const Bounds &  box 
) const [virtual]
void EdgeLin::update ( Node m  )  [virtual]

Implements INTERP_KERNEL::Edge.

References updateBounds().

double EdgeLin::getNormSq (  )  const
double EdgeLin::getAreaOfZone (  )  const [virtual]

This methods computes :

\[ \int_{Current Edge} -ydx \]

Implements INTERP_KERNEL::Edge.

References INTERP_KERNEL::Edge::_end, and INTERP_KERNEL::Edge::_start.

double EdgeLin::getCurveLength (  )  const [virtual]

return the length of arc. Value is always > 0. !

Implements INTERP_KERNEL::Edge.

Referenced by INTERP_KERNEL::Edge::interpolate1DLin().

void EdgeLin::getBarycenter ( double *  bary  )  const [virtual]

Implements INTERP_KERNEL::Edge.

void EdgeLin::getBarycenterOfZone ( double *  bary  )  const [virtual]

\[ bary[0]=\int_{Current Edge} -yxdx \]

\[ bary[1]=\int_{Current Edge} -\frac{y^{2}}{2}dx \]

To compute these 2 expressions in this class we have :

\[ y=y_{1}+\frac{y_{2}-y_{1}}{x_{2}-x_{1}}(x-x_{1}) \]

Implements INTERP_KERNEL::Edge.

bool EdgeLin::isIn ( double  characterVal  )  const [virtual]

Characteristic for edges is relative position btw 0.;1.

Implements INTERP_KERNEL::Edge.

Node * EdgeLin::buildRepresentantOfMySelf (  )  const [virtual]

Retrieves a point that is owning to this, well placed for IN/OUT detection of this. Typically midlle of this is returned.

Implements INTERP_KERNEL::Edge.

References INTERP_KERNEL::Edge::_end, and INTERP_KERNEL::Edge::_start.

double EdgeLin::getCharactValue ( const Node node  )  const [virtual]

node is expected to lay on 'this'. It returns a characteristic magnitude usable by isIn method.

Implements INTERP_KERNEL::Edge.

References getCharactValueEng().

double EdgeLin::getDistanceToPoint ( const double *  pt  )  const [virtual]

retrieves the distance to this : The min distance from pt and any point of this.

Implements INTERP_KERNEL::Edge.

References INTERP_KERNEL::Edge::_end, INTERP_KERNEL::Edge::_start, INTERP_KERNEL::Node::distanceBtw2Pt(), and getCharactValueEng().

bool EdgeLin::isNodeLyingOn ( const double *  coordOfNode  )  const [virtual]
bool INTERP_KERNEL::EdgeLin::isLower ( double  val1,
double  val2 
) const [virtual]

With the same magnitude as defined in 'isIn' method perform a compararison. Precondition : val1 and val2 are different and exactly INSIDE this.

Implements INTERP_KERNEL::Edge.

double EdgeLin::getCharactValueEng ( const double *  node  )  const
bool INTERP_KERNEL::EdgeLin::doIHaveSameDirectionAs ( const Edge other  )  const
void INTERP_KERNEL::EdgeLin::dynCastFunction ( const EdgeLin *&  seg,
const EdgeArcCircle *&  arcSeg 
) const [virtual]

Implements INTERP_KERNEL::Edge.

void EdgeLin::updateBounds (  )  [protected]

No precision should be introduced here. Just think as if precision was perfect.

References INTERP_KERNEL::Edge::_bounds, INTERP_KERNEL::Edge::_end, and INTERP_KERNEL::Edge::_start.

Referenced by EdgeLin(), and update().

Edge * EdgeLin::buildEdgeLyingOnMe ( Node start,
Node end,
bool  direction 
) const [protected, virtual]

Implements INTERP_KERNEL::Edge.

References EdgeLin().


Friends And Related Function Documentation

friend class SegSegIntersector [friend]
Generated on Sat May 1 01:31:53 2010 for Med Memory Users' Guide by  doxygen 1.6.3