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

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:
partConsideredINOUT 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

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