#include <BagPoint.hxx>


Private Member Functions | |
| void | expandNonSimpleCaseOn (AbstractPoint *pathologicalPt) |
Additional Inherited Members | |
Static Public Member Functions inherited from YACS::ENGINE::AbstractPoint | |
| static void | TryAsNotSimpleCase (AbstractPoint *father, const std::vector< AbstractPoint * > &ptsToKill, std::list< AbstractPoint * > &nodes, bool &somethingDone) |
| static bool | IsGatherB4Ext (Node *node) |
| static bool | IsSimplyLinkedAfterExt (Node *node) |
| static bool | IsScatterAfterExt (Node *node) |
| static bool | IsSimplyLinkedBeforeExt (Node *node) |
| static bool | IsNoLinksBefore (Node *node) |
| static bool | IsNoLinksAfter (Node *node) |
| static Node * | GetNodeB4 (Node *node) |
| static Node * | GetNodeAfter (Node *node) |
| static AbstractPoint * | GetDirectSonOf (AbstractPoint *refFather, AbstractPoint *sonOrLittleSon) |
| static bool | IsCommonDirectSonOf (AbstractPoint *refFather, const std::list< OutGate * > &outgs, AbstractPoint *&ret) |
| static bool | IsCommonDirectSonOf (AbstractPoint *refFather, const std::list< InGate * > &ings, AbstractPoint *&ret) |
| static void | FeedData (AbstractPoint *ptToBeRewired, std::map< std::string, std::tuple< ElementaryPoint *, Node *, std::shared_ptr< Bloc > > > *m) |
| static void | FeedData (const std::list< AbstractPoint * > &ptsToBeRewired, std::map< std::string, std::tuple< ElementaryPoint *, Node *, std::shared_ptr< Bloc > > > *m) |
| static void | Rewire (const std::vector< AbstractPoint * > &ptsToKill, std::map< std::string, std::tuple< ElementaryPoint *, Node *, std::shared_ptr< Bloc > > > *m) |
| static void | UnRewire (std::map< std::string, std::tuple< ElementaryPoint *, Node *, std::shared_ptr< Bloc > > > &m) |
| static void | Display (std::map< std::string, std::tuple< ElementaryPoint *, Node *, std::shared_ptr< Bloc > > > *m) |
Protected Member Functions inherited from YACS::ENGINE::BlocPoint | |
| void | getOutPoint (AbstractPoint *node) |
Protected Attributes inherited from YACS::ENGINE::BlocPoint | |
| std::list< AbstractPoint * > | _nodes |
Protected Attributes inherited from YACS::ENGINE::AbstractPoint | |
| AbstractPoint * | _father = nullptr |
Definition at line 32 of file BagPoint.hxx.
|
default |
| BagPoint::BagPoint | ( | const std::list< AbstractPoint * > & | nodes, |
| AbstractPoint * | father | ||
| ) |
Definition at line 34 of file BagPoint.cxx.
|
overridevirtual |
Implements YACS::ENGINE::AbstractPoint.
Definition at line 38 of file BagPoint.cxx.
References YACS::ENGINE::BlocPoint::_nodes.
Referenced by YACS::ENGINE::SetOfPoints::accept().
| void BagPoint::deal1 | ( | bool & | somethingDone | ) |
Definition at line 109 of file BagPoint.cxx.
References YACS::ENGINE::BlocPoint::_nodes, and replaceInMe().
Referenced by YACS::ENGINE::SetOfPoints::basicSimplify(), and YACS::ENGINE::SetOfPoints::simplify().
| void BagPoint::deal2 | ( | bool & | somethingDone | ) |
Definition at line 127 of file BagPoint.cxx.
References YACS::ENGINE::BlocPoint::_nodes, and replaceInMe().
Referenced by YACS::ENGINE::SetOfPoints::basicSimplify(), and YACS::ENGINE::SetOfPoints::simplify().
| void BagPoint::deal2Bis | ( | bool & | somethingDone | ) |
Definition at line 144 of file BagPoint.cxx.
References YACS::ENGINE::BlocPoint::_nodes, and replaceInMe().
Referenced by YACS::ENGINE::SetOfPoints::basicSimplify(), and YACS::ENGINE::SetOfPoints::simplify().
| void BagPoint::deal2Quatro | ( | bool & | somethingDone | ) |
Definition at line 178 of file BagPoint.cxx.
References YACS::ENGINE::BlocPoint::_nodes, and replaceInMe().
Referenced by YACS::ENGINE::SetOfPoints::basicSimplify(), and YACS::ENGINE::SetOfPoints::simplify().
| void BagPoint::deal2Ter | ( | bool & | somethingDone | ) |
Definition at line 161 of file BagPoint.cxx.
References YACS::ENGINE::BlocPoint::_nodes, and replaceInMe().
Referenced by YACS::ENGINE::SetOfPoints::basicSimplify(), and YACS::ENGINE::SetOfPoints::simplify().
| void BagPoint::dealNotSimpleCase | ( | bool & | somethingDone | ) |
This method remove 1, 2 or 3 points from this by flagging them as pathological nodes. By doing so, we hope to simplify enough to have a standart case.
Definition at line 199 of file BagPoint.cxx.
References YACS::ENGINE::BlocPoint::_nodes, and YACS::ENGINE::AbstractPoint::TryAsNotSimpleCase().
Referenced by YACS::ENGINE::SetOfPoints::simplify().
|
overridevirtual |
Implements YACS::ENGINE::AbstractPoint.
Definition at line 53 of file BagPoint.cxx.
References YACS::ENGINE::BlocPoint::deepCopyFrom(), and YACS::ENGINE::AbstractPoint::setFather().
| void BagPoint::expandNonSimpleCase | ( | ) |
All NotSimpleCasePoint instances in this->_nodes are going to be scanned recursively accross this->_nodes. To do that NotSimpleCasePoint instance are added incrementaly.
Definition at line 297 of file BagPoint.cxx.
References YACS::ENGINE::BlocPoint::_nodes, and expandNonSimpleCaseOn().
Referenced by YACS::ENGINE::SetOfPoints::simplify().
|
private |
Append a single pathologicalPt point instance to AbstractPoint instances contained in this. To do that we start to locate in graph dependancy in this with ENGINE::Node cannot run in parallel with pathologicalPt. These nodes stored in nodesBeforeAfter.
By walking across Points in this if a Point has no intersection with nodesBeforeAfter this Point is converted to a ForkBlocPoint.
Definition at line 249 of file BagPoint.cxx.
References YACS::ENGINE::BlocPoint::_nodes, YACS::ENGINE::E_ALL, YACS::ENGINE::AbstractPoint::expandNonSimpleCaseOn(), YACS::ENGINE::Bloc::findAllNodesStartingFrom(), YACS::ENGINE::AbstractPoint::getFirstNode(), and YACS::ENGINE::AbstractPoint::getLastNode().
|
overridevirtual |
Implements YACS::ENGINE::AbstractPoint.
Definition at line 48 of file BagPoint.cxx.
Referenced by expandNonSimpleCase().
|
overridevirtual |
Implements YACS::ENGINE::AbstractPoint.
Definition at line 61 of file BagPoint.cxx.
References YACS::ENGINE::AbstractPoint::getFirstNode(), and YACS::ENGINE::BlocPoint::getUnique().
|
overridevirtual |
Implements YACS::ENGINE::AbstractPoint.
Definition at line 66 of file BagPoint.cxx.
References YACS::ENGINE::AbstractPoint::getLastNode(), and YACS::ENGINE::BlocPoint::getUnique().
|
virtual |
Implements YACS::ENGINE::AbstractPoint.
Definition at line 71 of file BagPoint.cxx.
References YACS::ENGINE::AbstractPoint::getMaxLevelOfParallelism(), and YACS::ENGINE::BlocPoint::getUnique().
Referenced by YACS::ENGINE::SetOfPoints::getMaxLevelOfParallelism().
|
virtual |
Implements YACS::ENGINE::AbstractPoint.
Definition at line 86 of file BagPoint.cxx.
References YACS::ENGINE::BlocPoint::_nodes.
Referenced by YACS::ENGINE::SetOfPoints::getRepr().
|
virtual |
Implements YACS::ENGINE::AbstractPoint.
Definition at line 76 of file BagPoint.cxx.
References YACS::ENGINE::BlocPoint::getUnique(), and YACS::ENGINE::AbstractPoint::getWeightRegardingDPL().
Referenced by YACS::ENGINE::SetOfPoints::getWeightRegardingDPL().
|
virtual |
Implements YACS::ENGINE::AbstractPoint.
Definition at line 81 of file BagPoint.cxx.
References YACS::ENGINE::BlocPoint::getUnique(), and YACS::ENGINE::AbstractPoint::partitionRegardingDPL().
Referenced by YACS::ENGINE::SetOfPoints::partitionRegardingDPL().
| void BagPoint::replaceInMe | ( | BlocPoint * | aSet | ) |
Definition at line 96 of file BagPoint.cxx.
References YACS::ENGINE::BlocPoint::_nodes, and YACS::ENGINE::BlocPoint::getListOfPoints().
Referenced by deal1(), deal2(), deal2Bis(), deal2Quatro(), and deal2Ter().
|
inline |
Definition at line 48 of file BagPoint.hxx.
Referenced by YACS::ENGINE::SetOfPoints::basicSimplify().