|
CAPD::DynSys Library
6.0.0
|
#include <capd/invset/MapGraph.h>
Public Types | |
| typedef MapT | MapType |
| typedef MapType::VectorType | VectorType |
| typedef MapType::MatrixType | MatrixType |
| typedef VectorType::ScalarType | ScalarType |
| typedef ScalarType::BoundType | BoundType |
| typedef MapGraphNodeData< VectorType, MatrixType > | NodeData |
| typedef VertexT | VertexType |
| typedef Graph< VertexType, lessT, NodeData > | GraphType |
| typedef CubicalMap< MapType, GraphType, ResolutionT > | CubicalMapType |
| typedef GraphType::OrderType | OrderType |
| typedef GraphType::VertexSet | VertexSet |
| typedef ResolutionT | ResolutionType |
| typedef CubicalMapType::iterator | iterator |
| typedef CubicalMapType::const_iterator | const_iterator |
| typedef GraphType::VertexSet | SetVertex |
| deprecated More... | |
| typedef GraphNode< VertexSet, NodeDataT > | Node |
| typedef std::map< VertexType, Node, lessT > | Nodes |
Public Member Functions | |
| MapGraph (MapType &map, const ResolutionType &resolution) | |
| void | saveCoordSys (const char *fileName) const |
| void | loadCoordSys (const char *fileName) |
| const ResolutionType & | getResolution () const |
| MapType & | getMap () |
| VectorType | vertexToCube (const VertexType &vertex) const |
| converts VertexType to Cube using current resolution More... | |
| void | getCubeCenter (const VertexType &vertex, PointVector &result) |
| void | setDomain (const VectorType &domain) |
| it grids domain with given resolution and for each box adds corresponding vertex to graph More... | |
| void | setDomain (const std::list< VectorType > &domainList) |
| it grids domain with given resolution and for each box adds corresponding vertex to graph G More... | |
| void | constructCubicalMap () |
| void | computeImageOfCubeWithConstraints (const VertexType &vertex, const ConstraintsT &constraints, VertexSet &cubicalImage) |
| checks whenever set x is contained (at least partly) in the domain. More... | |
| void | constructCubicalMapWithConstraints (const ConstraintsT &constraints) |
| constructs cubical map with range restricted by constraints. More... | |
| void | constructCubicalMapRestrictedTo (const std::list< VectorType > &range) |
| constructs cubical map with range restricted to given list of interval vectors More... | |
| void | bisectGraph (int indexOfCoeff) |
| void | removeIncorrectVertices (VertexSet &vertices, const ConstraintsT &constraints) const |
| Removes vertices that do not belong to the domain. More... | |
| void | removeIncorrectNodes (const ConstraintsT &constraints) |
| void | computeExitSet (VertexContainer &exitSet) |
| For given CubicalMap it computes exit set. More... | |
| void | save (const char *fileName) const |
| void | load (const char *fileName) |
| Nodes & | nodes () |
| const Node & | getNode (const VertexType &vertex) const |
| void | setNode (const VertexType &vertex, const Node &node) |
| void | insertNode (const VertexType &vertex) |
| const NodeData & | getNodeData (const VertexType &vertex) const |
| NodeData & | nodeData (const VertexType &vertex) |
| void | setNodeData (const VertexType &vertex, const NodeData &nodeData) |
| void | clearEdges () |
| removes all edges for the graph More... | |
| void | clearInEdges () |
| removes all in-edges from the graph More... | |
| void | insertInEdges () |
| creates inverted graph More... | |
| void | eraseNodeAndEdges (iterator &node) |
| it removes node given by iterator and all edges pointing to it More... | |
| void | erase (iterator &node) |
| removes node given by iterator and all edges pointing to it More... | |
| void | eraseAcyclicVertices () |
| It iteratively erases acyclic vertices We assume that inverse graph is already created (e.g. by calling insertInEdges()) More... | |
| void | eraseNoInVertices () |
| It iteratively erase vertices that do not have any inward edges. More... | |
| void | eraseNoOutVertices () |
| It iteratively erase vertices that do not have any outward edges. More... | |
| VertexSet | findFixedPoints () const |
| returns set of vertices that have self-loop (edge that connects vertex to itself) More... | |
| template<typename VertexContainer > | |
| void | findCycles (VertexContainer result[], int maxlength) const |
| finds cyclic vertices to a given maximal cycle length More... | |
| int | findCycleLength (const_iterator vertex, int maxlength) const |
| for given vertex returns the shortest cycle length starting at this vertex More... | |
Static Public Member Functions | |
| static VertexType | resolutionToDenominator (const ResolutionType &resolution) |
| static VectorType | vertexToVector (const VertexType &vertex, const VertexType &denominator) |
| static VectorType | vertexToCube (const VertexType &vertex, const ResolutionType &resolution) |
| converts VertexType to Cube using given resolution More... | |
| static void | getCubeCenter (const VertexType &vertex, const ResolutionType &resolution, PointVector &result) |
| static void | centreOfCube (const VertexType &vertex, const VertexType &denominator, PointVector &result) |
| static void | insertVertexIfNotExists (GraphType &G, const VertexType &v) |
| static void | insertVertexIfNotExists (VertexSet &G, const VertexType &v) |
| static void | createGrid (SetType &G, const ResolutionType &resolution, const VectorType &domain) |
| it grids domain with given resolution and for each box adds corresponding vertex to set G G can be either graph (GraphType) or only set of vertices (VertexSet) More... | |
| static void | createGrid (SetType &G, const ResolutionType &resolution, const std::list< VectorType > &domain) |
| static void | constructCubicalMap (MapType &m_f, GraphType &graph, ResolutionType &resolution) |
| Creates graph that is a cubical representation of the map f with given resolution It also creates transposed graph. More... | |
| static void | constructCubicalMapWithConstraints (CubicalMap &graph, const ConstraintsT &constraints) |
| /////////////////////////////////////////////////////////////////////////////////////////////// / / Creates graph that is a cubical representation of the map f with given resolution / Vertices that do not satisfy constraints are not created. More... | |
| typedef ScalarType::BoundType capd::invset::MapGraph< MapT, VertexT, lessT, ResolutionT >::BoundType |
| typedef CubicalMapType::const_iterator capd::invset::MapGraph< MapT, VertexT, lessT, ResolutionT >::const_iterator |
| typedef CubicalMap<MapType, GraphType , ResolutionT> capd::invset::MapGraph< MapT, VertexT, lessT, ResolutionT >::CubicalMapType |
| typedef Graph<VertexType, lessT, NodeData> capd::invset::MapGraph< MapT, VertexT, lessT, ResolutionT >::GraphType |
| typedef CubicalMapType::iterator capd::invset::MapGraph< MapT, VertexT, lessT, ResolutionT >::iterator |
| typedef MapT capd::invset::MapGraph< MapT, VertexT, lessT, ResolutionT >::MapType |
| typedef MapType::MatrixType capd::invset::MapGraph< MapT, VertexT, lessT, ResolutionT >::MatrixType |
|
inherited |
| typedef MapGraphNodeData<VectorType, MatrixType> capd::invset::MapGraph< MapT, VertexT, lessT, ResolutionT >::NodeData |
|
inherited |
| typedef GraphType::OrderType capd::invset::MapGraph< MapT, VertexT, lessT, ResolutionT >::OrderType |
| typedef ResolutionT capd::invset::MapGraph< MapT, VertexT, lessT, ResolutionT >::ResolutionType |
| typedef VectorType::ScalarType capd::invset::MapGraph< MapT, VertexT, lessT, ResolutionT >::ScalarType |
|
inherited |
deprecated
| typedef MapType::VectorType capd::invset::MapGraph< MapT, VertexT, lessT, ResolutionT >::VectorType |
| typedef GraphType::VertexSet capd::invset::MapGraph< MapT, VertexT, lessT, ResolutionT >::VertexSet |
| typedef VertexT capd::invset::MapGraph< MapT, VertexT, lessT, ResolutionT >::VertexType |
|
inline |
|
inlineinherited |
|
inlinestaticinherited |
|
inlineinherited |
removes all edges for the graph
|
inlineinherited |
removes all in-edges from the graph
|
inlineinherited |
For given CubicalMap it computes exit set.
In exitSet we return all cubes that possibly escape map domain
| [out] | exitSet | it can be either VertexSet or Graph |
|
inlineinherited |
checks whenever set x is contained (at least partly) in the domain.
Creates graph that is a cubical representation of the map f with given resolution / Edges pointing out of range are not created. / It also creates inverted graph / / we assume that: / - domain is already set / - all edges in a graph are removed /
|
inlineinherited |
|
inlinestaticinherited |
Creates graph that is a cubical representation of the map f with given resolution It also creates transposed graph.
we assume that:
|
inlineinherited |
constructs cubical map with range restricted to given list of interval vectors
|
inlineinherited |
constructs cubical map with range restricted by constraints.
|
inlinestaticinherited |
/////////////////////////////////////////////////////////////////////////////////////////////// / / Creates graph that is a cubical representation of the map f with given resolution / Vertices that do not satisfy constraints are not created.
/ It also creates inverted graph / / we assume that: / - domain is already set / - all edges in a graph are removed / //////////////////////////////////////////////////////////////////////////////////////////////
|
inlinestaticinherited |
|
inlinestaticinherited |
it grids domain with given resolution and for each box adds corresponding vertex to set G G can be either graph (GraphType) or only set of vertices (VertexSet)
|
inlineinherited |
removes node given by iterator and all edges pointing to it
|
inlineinherited |
It iteratively erases acyclic vertices We assume that inverse graph is already created (e.g. by calling insertInEdges())
|
inlineinherited |
it removes node given by iterator and all edges pointing to it
|
inlineinherited |
It iteratively erase vertices that do not have any inward edges.
|
inlineinherited |
It iteratively erase vertices that do not have any outward edges.
|
inlineinherited |
for given vertex returns the shortest cycle length starting at this vertex
(for self-loop length = 0, for a-b-a length=1 etc.) returns -1 if it does not find cycle with length less or equal to maxlength.
|
inlineinherited |
finds cyclic vertices to a given maximal cycle length
in result[n] it returns vertices that belongs to some cycle of length n + 1 if vertex belongs to more than one cycle than the shortest cycle is concerned
|
inlineinherited |
returns set of vertices that have self-loop (edge that connects vertex to itself)
|
inlinestaticinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
creates inverted graph
|
inlineinherited |
|
inlinestaticinherited |
|
inlinestaticinherited |
|
inlineinherited |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Removes vertices that do not belong to the domain.
Removes vertices that do not satisfy constraints
|
inlinestaticinherited |
|
inlineinherited |
|
inline |
|
inlineinherited |
it grids domain with given resolution and for each box adds corresponding vertex to graph G
|
inlineinherited |
it grids domain with given resolution and for each box adds corresponding vertex to graph
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
converts VertexType to Cube using current resolution
|
inlinestaticinherited |
converts VertexType to Cube using given resolution
|
inlinestaticinherited |