class DiagramChecks

implements generic checks for soft constraints on diagrams.

Inheritance:


Public Methods

DiagramChecks (Diagram *d, Graph *g)
unsigned CheckNodeCount (unsigned count, int nodeType, string &chkbuf)
diagram should have count nodes of nodeType.
unsigned CheckNodeCount (unsigned min, unsigned max, int nodeType, string &chkbuf)
diagram should have min <= count <= max nodes of nodeType.
unsigned CheckEdgeCount (unsigned count, int edgeType, string &chkbuf)
diagram should have count edges of edgeType
unsigned CheckEdgeCount (unsigned min, unsigned max, int edgeType, string &chkbuf)
diagram should have min <= count <= max edges of edgeType.
unsigned CheckDoubleIndexes (string &chkbuf)
check that nodes unique indexes.
unsigned CheckNamelessNodes (int nodeType, string &chkbuf)
diagram should have no nameless nodes of nodeType
unsigned CheckNamelessEdges (int edgeType, string &chkbuf)
diagram should have no nameless edges of edgeType
unsigned CheckIllegalNodeNames (int nodeType, const string *name, string &chkbuf)
diagram should have no nodes of nodeType named 'name'.
unsigned CheckIllegalEdgeNames (int edgeType, const string *name, string &chkbuf)
diagram should have no edges of edgeType named 'name'.
unsigned CheckNamelessEdges ( int edgeType, int type1, int type2, string &chkbuf)
diagram should have no nameless edges of edgeType between types.
unsigned CheckDoubleNamelessEdges (int edgeType, int type1, int type2, string &chkbuf)
diagram shouldn't have double nameless edges between these types.
unsigned CheckDoubleNodes (int nodeType, string &chkbuf)
diagram should not have multiple nodes of nodeType with same name.
unsigned CheckConnected (int nodeType, bool index, string &chkbuf)
nodeType nodes should be connected (index: name or index in msg)
unsigned CheckConnected (int nodeType, int toNode, int min, int max, bool index, string &chkbuf)
nodeType nodes should be connected (index: name or index in msg)
unsigned CheckJunctionCoherence (int nodeType, int parenttype, int childtype, unsigned minChildren, string &chkbuf)
nodes of nodeType connected by 1 parent edge and minChildren edges.
unsigned CheckCountEdgesFrom (int nodeType, int edgeType, unsigned min, unsigned max, bool zeroAllowed, bool index, string &chkbuf)
nodes of nodeType should have min/max departing edges of edgeType.
unsigned CheckReachability (int rootType, int nodeType, bool index, string &chkbuf)
nodes of nodeType are reachable from >= 1 nodes of rootType.

Protected Methods

Graph* GetGraph () const
Diagram* GetDiagram () const
unsigned CheckCount (unsigned min, unsigned max, int type, string &chkbuf, bool node)
unsigned CheckIllegalNames (int type, const string *name, string &chkbuf, bool node)

Documentation

implements generic checks for soft constraints on diagrams.
DiagramChecks(Diagram *d, Graph *g)

unsigned CheckNodeCount(unsigned count, int nodeType, string &chkbuf)
diagram should have count nodes of nodeType.

unsigned CheckNodeCount(unsigned min, unsigned max, int nodeType, string &chkbuf)
diagram should have min <= count <= max nodes of nodeType.

unsigned CheckEdgeCount(unsigned count, int edgeType, string &chkbuf)
diagram should have count edges of edgeType

unsigned CheckEdgeCount(unsigned min, unsigned max, int edgeType, string &chkbuf)
diagram should have min <= count <= max edges of edgeType.

unsigned CheckDoubleIndexes(string &chkbuf)
check that nodes unique indexes.

unsigned CheckNamelessNodes(int nodeType, string &chkbuf)
diagram should have no nameless nodes of nodeType

unsigned CheckNamelessEdges(int edgeType, string &chkbuf)
diagram should have no nameless edges of edgeType

unsigned CheckIllegalNodeNames(int nodeType, const string *name, string &chkbuf)
diagram should have no nodes of nodeType named 'name'.

unsigned CheckIllegalEdgeNames(int edgeType, const string *name, string &chkbuf)
diagram should have no edges of edgeType named 'name'.

unsigned CheckNamelessEdges( int edgeType, int type1, int type2, string &chkbuf)
diagram should have no nameless edges of edgeType between types.

unsigned CheckDoubleNamelessEdges(int edgeType, int type1, int type2, string &chkbuf)
diagram shouldn't have double nameless edges between these types.

unsigned CheckDoubleNodes(int nodeType, string &chkbuf)
diagram should not have multiple nodes of nodeType with same name.

unsigned CheckConnected(int nodeType, bool index, string &chkbuf)
nodeType nodes should be connected (index: name or index in msg)

unsigned CheckConnected(int nodeType, int toNode, int min, int max, bool index, string &chkbuf)
nodeType nodes should be connected (index: name or index in msg)

unsigned CheckJunctionCoherence(int nodeType, int parenttype, int childtype, unsigned minChildren, string &chkbuf)
nodes of nodeType connected by 1 parent edge and minChildren edges.

unsigned CheckCountEdgesFrom(int nodeType, int edgeType, unsigned min, unsigned max, bool zeroAllowed, bool index, string &chkbuf)
nodes of nodeType should have min/max departing edges of edgeType.

unsigned CheckReachability(int rootType, int nodeType, bool index, string &chkbuf)
nodes of nodeType are reachable from >= 1 nodes of rootType.

Graph* GetGraph() const

Diagram* GetDiagram() const

unsigned CheckCount(unsigned min, unsigned max, int type, string &chkbuf, bool node)

unsigned CheckIllegalNames(int type, const string *name, string &chkbuf, bool node)


Direct child classes:
STChecks
SNChecks
PSChecks
ERChecks
DFChecks
ATChecks

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de