CAPD DynSys Library
5.2.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, MapGraphNodeData< MapT::VectorType, MapT::MatrixType > > | Node |
typedef std::map< VertexType, Node, less< capd::vectalg::Vector< int, 0 > > > | 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... | |
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 |