Public Member Functions | |
ComposedEdge () | |
ComposedEdge (const ComposedEdge &other) | |
ComposedEdge (int sz) | |
void | reverse () |
int | recursiveSize () const |
bool | presenceOfOn () const |
bool | presenceOfQuadraticEdge () const |
void | initLocations () const |
ComposedEdge * | clone () 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) |
double | normalizeExt (ComposedEdge *other, double &xBary, double &yBary) |
void | unApplyGlobalSimilarityExt (ComposedEdge &other, double xBary, double yBary, double fact) |
void | fillBounds (Bounds &output) const |
void | applySimilarity (double xBary, double yBary, double dimChar) |
void | applyGlobalSimilarity (double xBary, double yBary, double dimChar) |
void | applyGlobalSimilarity2 (ComposedEdge *other, 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 |
ElementaryEdge * | front () const |
ElementaryEdge * | back () const |
void | resize (int i) |
void | pushBack (Edge *edge, bool direction=true) |
void | pushBack (ElementaryEdge *elem) |
void | pushBack (ComposedEdge *elem) |
int | size () const |
ElementaryEdge * | operator[] (int i) const |
Node * | getEndNode () const |
Node * | getStartNode () 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 |
INTERP_KERNEL::ComposedEdge::ComposedEdge | ( | ) |
ComposedEdge::ComposedEdge | ( | const ComposedEdge & | other | ) |
References _sub_edges.
INTERP_KERNEL::ComposedEdge::ComposedEdge | ( | int | sz | ) |
|
protected |
References _sub_edges.
|
static |
|
static |
void ComposedEdge::reverse | ( | ) |
References _sub_edges.
Referenced by INTERP_KERNEL::QuadraticPolygon::splitAbs(), and INTERP_KERNEL::QuadraticPolygon::SplitPolygonsEachOther().
int INTERP_KERNEL::ComposedEdge::recursiveSize | ( | ) | const |
bool ComposedEdge::presenceOfOn | ( | ) | const |
References _sub_edges, and INTERP_KERNEL::FULL_ON_1.
Referenced by INTERP_KERNEL::QuadraticPolygon::splitAbs().
bool ComposedEdge::presenceOfQuadraticEdge | ( | ) | const |
References _sub_edges.
Referenced by INTERP_KERNEL::QuadraticPolygon::appendCrudeData().
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 :
Thanks to Green's theorem we have.
Where is computed virtually by INTERP_KERNEL::Edge::getAreaOfZone with following formula :
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 :
Thanks to Green's theorem we have.
Area is computed using the same principle than described in INTERP_KERNEL::ComposedEdge::getArea method. and
are computed virtually with INTERP_KERNEL::Edge::getBarycenterOfZone.
References _sub_edges.
Referenced by getBarycenterGeneral().
void ComposedEdge::getBarycenterGeneral | ( | double * | bary | ) | const |
Idem ComposedEdge::getBarycenter except that the special case where _sub_edges==1 is dealt here.
References _sub_edges, and getBarycenter().
double ComposedEdge::normalize | ( | ComposedEdge * | other, |
double & | xBary, | ||
double & | yBary | ||
) |
References applyGlobalSimilarity(), and fillBounds().
Referenced by INTERP_KERNEL::QuadraticPolygon::intersectWithAbs(), and INTERP_KERNEL::QuadraticPolygon::intersectWithAbs1D().
double ComposedEdge::normalizeExt | ( | ComposedEdge * | other, |
double & | xBary, | ||
double & | yBary | ||
) |
References applyGlobalSimilarity2(), and fillBounds().
Referenced by INTERP_KERNEL::QuadraticPolygon::buildPartitionsAbs(), and INTERP_KERNEL::QuadraticPolygon::splitAbs().
void ComposedEdge::unApplyGlobalSimilarityExt | ( | ComposedEdge & | other, |
double | xBary, | ||
double | yBary, | ||
double | fact | ||
) |
This method operates the opposite operation than ComposedEdge::applyGlobalSimilarity.
References _sub_edges, and getAllNodes().
Referenced by INTERP_KERNEL::QuadraticPolygon::buildPartitionsAbs().
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 INTERP_KERNEL::QuadraticPolygon::isButterflyAbs(), and normalize().
void ComposedEdge::applyGlobalSimilarity2 | ( | ComposedEdge * | other, |
double | xBary, | ||
double | yBary, | ||
double | dimChar | ||
) |
Perform Similarity transformation on all elements of this Nodes and Edges on 'this' and 'other'. Nodes can be shared between 'this' and 'other'.
References _sub_edges, and getAllNodes().
Referenced by normalizeExt().
void ComposedEdge::dispatchPerimeter | ( | double & | partConsidered | ) | const |
This method append to param 'partConsidered' the part of length of subedges IN or ON.
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(), applyGlobalSimilarity2(), isInOrOut(), and unApplyGlobalSimilarityExt().
void ComposedEdge::getBarycenter | ( | double * | bary, |
double & | weigh | ||
) | const |
References _sub_edges.
bool INTERP_KERNEL::ComposedEdge::completed | ( | ) | const |
Referenced by INTERP_KERNEL::QuadraticPolygon::fillAsMuchAsPossibleWith().
void ComposedEdge::setValueAt | ( | int | i, |
Edge * | e, | ||
bool | direction = true |
||
) |
References _sub_edges.
Referenced by INTERP_KERNEL::Edge::SplitOverlappedEdges().
double ComposedEdge::getCommonLengthWith | ( | const ComposedEdge & | other | ) | const |
References _sub_edges, and INTERP_KERNEL::ElementaryEdge::getCurveLength().
Referenced by INTERP_KERNEL::Edge::Interpolate1DLin().
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 | ) |
Referenced by INTERP_KERNEL::Edge::SplitOverlappedEdges().
void ComposedEdge::pushBack | ( | Edge * | edge, |
bool | direction = true |
||
) |
References _sub_edges.
Referenced by INTERP_KERNEL::Edge::addSubEdgeInVector(), INTERP_KERNEL::QuadraticPolygon::appendSubEdgeFromCrudeDataArray(), INTERP_KERNEL::QuadraticPolygon::BuildArcCirclePolygon(), INTERP_KERNEL::QuadraticPolygon::buildFromCrudeDataArray2(), INTERP_KERNEL::QuadraticPolygon::BuildLinearPolygon(), INTERP_KERNEL::QuadraticPolygon::fillAsMuchAsPossibleWith(), INTERP_KERNEL::QuadraticPolygon::intersectForPerimeterAdvanced(), INTERP_KERNEL::QuadraticPolygon::intersectForPoint(), INTERP_KERNEL::QuadraticPolygon::QuadraticPolygon(), INTERP_KERNEL::QuadraticPolygon::splitAbs(), INTERP_KERNEL::Edge::SplitOverlappedEdges(), and INTERP_KERNEL::QuadraticPolygon::zipConsecutiveInSegments().
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 |
References _sub_edges.
Referenced by INTERP_KERNEL::QuadraticPolygon::closeMe().
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 |
References _sub_edges, INTERP_KERNEL::Edge::BuildIntersectorWith(), fillBounds(), getAllNodes(), INTERP_KERNEL::ElementaryEdge::getPtr(), INTERP_KERNEL::Node::getSlope(), and INTERP_KERNEL::ON_1.
Referenced by INTERP_KERNEL::QuadraticPolygon::amIAChanceToBeCompletedBy(), and INTERP_KERNEL::ElementaryEdge::locateFullyMySelfAbsolute().
bool ComposedEdge::getDirection | ( | ) | const |
bool ComposedEdge::intresincEqCoarse | ( | const Edge * | other | ) | const |
References _sub_edges.
|
friend |
|
protected |
Referenced by INTERP_KERNEL::QuadraticPolygon::amIAChanceToBeCompletedBy(), INTERP_KERNEL::QuadraticPolygon::appendCrudeData(), applyGlobalSimilarity(), applyGlobalSimilarity2(), applySimilarity(), changeEndNodeWith(), changeStartNodeWith(), INTERP_KERNEL::QuadraticPolygon::circularPermute(), clear(), ComposedEdge(), dispatchPerimeter(), dispatchPerimeterExcl(), dumpInXfigFile(), fillBounds(), getAllNodes(), getArea(), getBarycenter(), getBarycenterGeneral(), getCommonLengthWith(), getEndNode(), getPerimeter(), getStartNode(), initLocations(), INTERP_KERNEL::QuadraticPolygon::intersectWithAbs1D(), intresincEqCoarse(), INTERP_KERNEL::QuadraticPolygon::isButterfly(), isInOrOut(), isNodeIn(), operator[](), presenceOfOn(), presenceOfQuadraticEdge(), pushBack(), reverse(), setValueAt(), SoftDelete(), INTERP_KERNEL::QuadraticPolygon::splitAbs(), unApplyGlobalSimilarityExt(), and ~ComposedEdge().