Med Memory Users' Guide 5.1.3

INTERP_KERNEL::ComposedEdge Class Reference

Inheritance diagram for INTERP_KERNEL::ComposedEdge:

List of all members.

Public Member Functions

 ComposedEdge ()
 ComposedEdge (const ComposedEdge &other)
 ComposedEdge (int size)
void reverse ()
int recursiveSize () const
void initLocations () const
ComposedEdgeclone () const
bool isNodeIn (Node *n) const
double getArea () const
double getPerimeter () const
double getHydraulicDiameter () const
void getBarycenter (double *bary) const
double normalize (ComposedEdge *other)
void fillBounds (Bounds &output) const
void applySimilarity (double xBary, double yBary, double dimChar)
void applyGlobalSimilarity (double xBary, double yBary, double dimChar)
void dispatchPerimeter (double &partConsidered) const
void dispatchPerimeterExcl (double &partConsidered, double &commonPart) const
double dispatchPerimeterAdv (const ComposedEdge &father, std::vector< double > &result) const
void getAllNodes (std::set< Node * > &output) const
void getBarycenter (double *bary, double &weigh) const
bool completed () const
void setValueAt (int i, Edge *e, bool direction=true)
double getCommonLengthWith (const ComposedEdge &other) const
void clear ()
bool empty () const
ElementaryEdgefront () const
ElementaryEdgeback () const
void resize (int i)
void pushBack (Edge *edge, bool direction=true)
void pushBack (ElementaryEdge *elem)
void pushBack (ComposedEdge *elem)
int size () const
ElementaryEdgeoperator[] (int i) const
NodegetEndNode () const
NodegetStartNode () const
bool changeEndNodeWith (Node *node) const
bool changeStartNodeWith (Node *node) const
void dumpInXfigFile (std::ostream &stream, int resolution, const Bounds &box) const
bool isInOrOut (Node *nodeToTest) const
bool getDirection () const
bool intresincEqCoarse (const Edge *other) const

Static Public Member Functions

static void Delete (ComposedEdge *pt)
static void SoftDelete (ComposedEdge *pt)

Protected Member Functions

 ~ComposedEdge ()

Protected Attributes

std::list< ElementaryEdge * > _sub_edges

Friends

class IteratorOnComposedEdge

Constructor & Destructor Documentation

INTERP_KERNEL::ComposedEdge::ComposedEdge ( )
ComposedEdge::ComposedEdge ( const ComposedEdge other)

References _sub_edges.

INTERP_KERNEL::ComposedEdge::ComposedEdge ( int  size)
ComposedEdge::~ComposedEdge ( ) [protected]

Member Function Documentation

static void INTERP_KERNEL::ComposedEdge::Delete ( ComposedEdge pt) [static]
static void INTERP_KERNEL::ComposedEdge::SoftDelete ( ComposedEdge pt) [static]

References _sub_edges.

int INTERP_KERNEL::ComposedEdge::recursiveSize ( ) const
void ComposedEdge::initLocations ( ) const
ComposedEdge * ComposedEdge::clone ( ) const
bool ComposedEdge::isNodeIn ( Node n) const
double ComposedEdge::getArea ( ) const

This method computes the area of 'this'. By definition :

\[ Area=\int_{Polygon} dS \]

Thanks to Green's theorem we have.

\[ \int_{Polygon} x \cdot dS=\sum_{0 \leq i < nb of edges} -\int_{Edge_{i}}ydx=\sum_{0 \leq i < nb of edges} AreaOfZone_{Edge_{i}} \]

Where $ AreaOfZone_{i} $ is computed virtually by INTERP_KERNEL::Edge::getAreaOfZone with following formula :

\[ AreaOfZone_{i}=\int_{Edge_{i}} -ydx \]

double ComposedEdge::getPerimeter ( ) const
double ComposedEdge::getHydraulicDiameter ( ) const
void ComposedEdge::getBarycenter ( double *  bary) const

This method computes barycenter of 'this' by returning xG in bary[0] and yG in bary[1]. By definition :

\[ Area \cdot x_{G}=\int_{Polygon} x \cdot dS \]

\[ Area \cdot y_{G}=\int_{Polygon} y \cdot dS \]

Thanks to Green's theorem we have.

\[ \int_{Polygon} x \cdot dS=\sum_{0 \leq i < nb of edges} -\int_{Edge_{i}}yxdx \]

\[ \int_{Polygon} y \cdot dS=\sum_{0 \leq i < nb of edges} -\int_{Edge_{i}}\frac{y^{2}}{2}dx \]

Area is computed using the same principle than described in INTERP_KERNEL::ComposedEdge::getArea method. $ -\int_{Edge_{i}}yxdx $ and $ -\int_{Edge_{i}}\frac{y^{2}}{2}dx $ are computed virtually with INTERP_KERNEL::Edge::getBarycenterOfZone.

double ComposedEdge::normalize ( ComposedEdge other)
void ComposedEdge::fillBounds ( Bounds &  output) const
void ComposedEdge::applySimilarity ( double  xBary,
double  yBary,
double  dimChar 
)

WARNING : applies similarity ONLY on edges without any change on Nodes. To perform a global similarity call applyGlobalSimilarity.

References INTERP_KERNEL::Node::applySimilarity().

void ComposedEdge::applyGlobalSimilarity ( double  xBary,
double  yBary,
double  dimChar 
)

Perform Similarity transformation on all elements of this Nodes and Edges.

Referenced by normalize().

void ComposedEdge::dispatchPerimeter ( double &  partConsidered) const

This method append to param 'partConsidered' the part of length of subedges IN or ON.

Parameters:
partConsideredINOUT param.

References INTERP_KERNEL::FULL_IN_1, and INTERP_KERNEL::FULL_ON_1.

Referenced by INTERP_KERNEL::QuadraticPolygon::intersectForPerimeterAdvanced().

void ComposedEdge::dispatchPerimeterExcl ( double &  partConsidered,
double &  commonPart 
) const

Idem dispatchPerimeterExcl except that when a subedge is declared as ON this subedge is counted in commonPart.

References INTERP_KERNEL::FULL_IN_1, and INTERP_KERNEL::FULL_ON_1.

Referenced by INTERP_KERNEL::QuadraticPolygon::intersectForPerimeter().

double INTERP_KERNEL::ComposedEdge::dispatchPerimeterAdv ( const ComposedEdge father,
std::vector< double > &  result 
) const
void ComposedEdge::getAllNodes ( std::set< Node * > &  output) const
void ComposedEdge::getBarycenter ( double *  bary,
double &  weigh 
) const
bool INTERP_KERNEL::ComposedEdge::completed ( ) const
void ComposedEdge::setValueAt ( int  i,
Edge e,
bool  direction = true 
)
double ComposedEdge::getCommonLengthWith ( const ComposedEdge other) const
void ComposedEdge::clear ( )
bool INTERP_KERNEL::ComposedEdge::empty ( ) const
ElementaryEdge* INTERP_KERNEL::ComposedEdge::front ( ) const
ElementaryEdge* INTERP_KERNEL::ComposedEdge::back ( ) const
void INTERP_KERNEL::ComposedEdge::resize ( int  i)
void ComposedEdge::pushBack ( ElementaryEdge elem)
void ComposedEdge::pushBack ( ComposedEdge elem)
ElementaryEdge * ComposedEdge::operator[] ( int  i) const
Node * ComposedEdge::getEndNode ( ) const
Node * ComposedEdge::getStartNode ( ) const
bool ComposedEdge::changeEndNodeWith ( Node node) const
bool ComposedEdge::changeStartNodeWith ( Node node) const
void ComposedEdge::dumpInXfigFile ( std::ostream &  stream,
int  resolution,
const Bounds &  box 
) const
bool ComposedEdge::getDirection ( ) const
bool ComposedEdge::intresincEqCoarse ( const Edge other) const

Friends And Related Function Documentation

friend class IteratorOnComposedEdge [friend]

Member Data Documentation