Developer Documentation
RAVL, Recognition And Vision Library
USER HOME PAGE CLASS LIST CONTENTS
Ravl - Core - Graphs - GraphAdjRepC
 

  PUBLIC
GraphAdjRepC::GraphAdjRepC(GraphNodeBaseBodyC &,GraphEdgeBaseBodyC &)
GraphAdjRepC::OtherNode(void) const
GraphAdjRepC::OtherNode(void)
GraphAdjRepC::Edge(void) const
GraphAdjRepC::Edge(void)
GraphAdjRepC::SwapNodes(GraphAdjRepC &)
DLinkC::SetSelfPointing(void)
DLinkC::IsSelfPointing(void) const
DLinkC::Next(void) const
DLinkC::Prev(void) const
DLinkC::Next(void)
DLinkC::Prev(void)
DLinkC::Reverse(void)
DLinkC::LinkBef(DLinkC &)
DLinkC::LinkAft(DLinkC &)
DLinkC::Unlink(void)
DLinkC::CutPaste(DLinkC &,DLinkC &)

   GraphAdjRepC   
 
The class GraphAdjRepC represents a part of triple which is a basic element of graphs.
 
include "Ravl/GraphBase.hh"
Created:22/8/1994 
Source file:Ravl/Core/Container/Graph/GraphBase.hh
User Level:Develop
Library:RavlCore
In Scope:RavlN

Comments:
One can imagine that every edge has two touch points, so call adjacencies, that connect nodes and edge together. Each node is connected to the edge through one adjacency. Because of effectivity, the representation of adjacency contains only the pair . The access to the nodeA is solved outside of the this class.

Parent Classes: Variables:
GraphNodeBaseBodyC * otherNode;
adjacent node

GraphEdgeBaseBodyC * me;
the edge joining both nodes

Methods:
GraphAdjRepC(GraphNodeBaseBodyC & node,GraphEdgeBaseBodyC & edge)
Initializes the graph link.

const GraphNodeBaseBodyC & OtherNode() const
Access to the constant adjacent node.

GraphNodeBaseBodyC & OtherNode()
Returns the adjacent node.

const GraphEdgeBaseBodyC & Edge() const
Access to the constant edge joining the node possessing the list of adjacent nodes and the adjacent node.

GraphEdgeBaseBodyC & Edge()
Returns the edge joining the node possessing the list of adjacent nodes and the adjacent node.

void SwapNodes(GraphAdjRepC & adj)
Swaps the pointers to the nodes.

#include "Ravl/DLink.hh"
void SetSelfPointing()
Set both links to point to this object.

bool IsSelfPointing() const
Returns TRUE if the next element is this element.

const DLinkC & Next() const
Returns the next element in a constant list.

const DLinkC & Prev() const
Returns the previous element in a constant list.

DLinkC & Next()
Returns the next element in a list.

DLinkC & Prev()
Returns the previous element in a list.

void Reverse()
Swap links.
Swaps the links in all chain elements exchanging meaning of "successor" and "predecessor".

DLinkC & LinkBef(DLinkC & elm)
Links 'elm' before the element.
The links of 'elm' need not to be proper links.

DLinkC & LinkAft(DLinkC & elm)
Links 'elm' after this element.
The links of 'elm' need not to be proper links.

DLinkC & Unlink()
Unlinks the list element from the list.
The predecessor and the successor of this element will be linked to each other. However, the links of this element stay unchanged. Returns this list element.

void CutPaste(DLinkC & firstCut,DLinkC & firstNotCut)
Splice list elements between firstCut, and firstNotCut into this list.
Cuts the chain of double links elements starting at 'firstCut' and ending at the element previous of 'firstNotCut' from a chain. The rest of the chain is linked together again. The cut part is linked in after this element.


Maintainer:Radek Marik, Created: 22/8/1994, Documentation by CxxDoc: Tue Aug 13 09:59:30 2002