Version: 5.1.6

INTERP_KERNEL.ComposedEdge Class Reference

#include <InterpKernelGeo2DComposedEdge.hxx>

Inheritance diagram for INTERP_KERNEL.ComposedEdge:
Inheritance graph

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
void getBarycenterGeneral (double *bary) const
double normalize (ComposedEdge *other, double &xBary, double &yBary)
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

Private Member Functions

std::list< ElementaryEdge * > * getListBehind ()
void clearAll (std::list< ElementaryEdge * >::iterator startToDel)

Friends

class IteratorOnComposedEdge

Constructor & Destructor Documentation

INTERP_KERNEL.ComposedEdge.ComposedEdge (  ) 
ComposedEdge::ComposedEdge ( const ComposedEdge other  ) 
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]
void ComposedEdge::reverse (  ) 
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 \]

References INTERP_KERNEL.ComposedEdge._sub_edges, and testMEDMEM.ret.

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.

References INTERP_KERNEL.ComposedEdge._sub_edges, and med_test1.area.

void ComposedEdge::getBarycenterGeneral ( double bary  )  const

Idem ComposedEdge.getBarycenter except that the special case where _sub_edges==1 is dealt here.

References INTERP_KERNEL.ComposedEdge._sub_edges, and INTERP_KERNEL.ComposedEdge.getBarycenter().

double ComposedEdge::normalize ( ComposedEdge other,
double xBary,
double yBary 
)
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.ComposedEdge._sub_edges.

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

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

References INTERP_KERNEL.ComposedEdge._sub_edges, and INTERP_KERNEL.ComposedEdge.getAllNodes().

void ComposedEdge::dispatchPerimeter ( double partConsidered  )  const

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

Parameters:
partConsidered INOUT param.

References INTERP_KERNEL.ComposedEdge._sub_edges, INTERP_KERNEL.FULL_IN_1, and INTERP_KERNEL.FULL_ON_1.

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.ComposedEdge._sub_edges, INTERP_KERNEL.FULL_IN_1, and INTERP_KERNEL.FULL_ON_1.

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 ( Edge edge,
bool  direction = true 
)
void ComposedEdge::pushBack ( ElementaryEdge elem  ) 
void ComposedEdge::pushBack ( ComposedEdge elem  ) 
int INTERP_KERNEL.ComposedEdge.size (  )  const
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::isInOrOut ( Node nodeToTest  )  const
bool ComposedEdge::getDirection (  )  const
bool ComposedEdge::intresincEqCoarse ( const Edge other  )  const
std::list<ElementaryEdge *>* INTERP_KERNEL.ComposedEdge.getListBehind (  )  [private]
void ComposedEdge::clearAll ( std::list< ElementaryEdge * >::iterator  startToDel  )  [private]

Friends And Related Function Documentation

friend class IteratorOnComposedEdge [friend]

Field Documentation