INTERP_KERNEL::ComposedEdge Class Reference

Inheritance diagram for INTERP_KERNEL::ComposedEdge:
Inheritance graph
[legend]

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 (  ) 

Referenced by clone().

ComposedEdge::ComposedEdge ( const ComposedEdge other  ) 

References _sub_edges.

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

References _sub_edges.


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

References _sub_edges.

ComposedEdge * ComposedEdge::clone (  )  const

References ComposedEdge().

bool ComposedEdge::isNodeIn ( Node n  )  const

References _sub_edges.

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 _sub_edges.

Referenced by getHydraulicDiameter().

double ComposedEdge::getPerimeter (  )  const

References _sub_edges.

Referenced by getHydraulicDiameter().

double ComposedEdge::getHydraulicDiameter (  )  const

References getArea(), and getPerimeter().

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 _sub_edges.

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 _sub_edges.

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

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

References _sub_edges, and getAllNodes().

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:
partConsidered INOUT param.

References _sub_edges, 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 _sub_edges, 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

References _sub_edges.

Referenced by applyGlobalSimilarity(), and isInOrOut().

void ComposedEdge::getBarycenter ( double *  bary,
double &  weigh 
) const

References _sub_edges.

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 (  ) 

References _sub_edges.

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  ) 

References _sub_edges.

void ComposedEdge::pushBack ( ComposedEdge elem  ) 

References _sub_edges.

int INTERP_KERNEL::ComposedEdge::size (  )  const
ElementaryEdge * ComposedEdge::operator[] ( int  i  )  const

References _sub_edges.

Node * ComposedEdge::getEndNode (  )  const
Node * ComposedEdge::getStartNode (  )  const

References _sub_edges.

bool ComposedEdge::changeEndNodeWith ( Node node  )  const

References _sub_edges.

bool ComposedEdge::changeStartNodeWith ( Node node  )  const
void ComposedEdge::dumpInXfigFile ( std::ostream &  stream,
int  resolution,
const Bounds &  box 
) const

Reimplemented in INTERP_KERNEL::QuadraticPolygon.

References _sub_edges.

bool ComposedEdge::isInOrOut ( Node nodeToTest  )  const
bool ComposedEdge::getDirection (  )  const
bool ComposedEdge::intresincEqCoarse ( const Edge other  )  const

References _sub_edges.


Friends And Related Function Documentation

friend class IteratorOnComposedEdge [friend]

Member Data Documentation

Generated on Tue Jul 27 22:08:49 2010 for Med Memory Users' Guide by  doxygen 1.6.3