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

  PUBLIC
GraphEdgeBaseBodyC::GraphEdgeBaseBodyC(GraphNodeBaseBodyC &,GraphNodeBaseBodyC &,UIntT)
GraphEdgeBaseBodyC::~GraphEdgeBaseBodyC(void)
GraphEdgeBaseBodyC::Source(void) const
GraphEdgeBaseBodyC::Source(void)
GraphEdgeBaseBodyC::Target(void) const
GraphEdgeBaseBodyC::Target(void)
GraphEdgeBaseBodyC::Node1(void) const
GraphEdgeBaseBodyC::Node1(void)
GraphEdgeBaseBodyC::Node2(void) const
GraphEdgeBaseBodyC::Node2(void)
GraphEdgeBaseBodyC::Hash(void) const
GraphEdgeBaseBodyC::ID(void) const
GraphEdgeBaseBodyC::SetID(UIntT)
GraphEdgeBaseBodyC::SourceAdj(void)
GraphEdgeBaseBodyC::TargetAdj(void)
GraphEdgeBaseBodyC::operator <<(ostream &,const GraphEdgeBaseBodyC &)
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 &)

   GraphEdgeBaseBodyC   
 
The class GraphEdgeBaseBodyC represents one edge of graph.
 
include "Ravl/GraphBase.hh"
Created:22/8/1994 
Source file:Ravl/Core/Container/Graph/GraphBase.hh
User Level:Develop
Library:RavlCore
In Scope:RavlN

Parent Classes: Derived Classes: Variables:
GraphAdjRepC source;
adjacency with source node

GraphAdjRepC target;
adjacency with target node

UIntT id;

Methods:
GraphEdgeBaseBodyC(GraphNodeBaseBodyC & sourceNode,GraphNodeBaseBodyC & targetNode,UIntT nId)
Creates the edge between two nodes 'sourceNode' and 'targetNode'.

~GraphEdgeBaseBodyC()
Destructor.
This ensures derived classes are deleted properly.

const GraphNodeBaseBodyC & Source() const
Returns the constant source node of this edge.

GraphNodeBaseBodyC & Source()
Returns the source node of this edge.

const GraphNodeBaseBodyC & Target() const
Returns the constant target node of this edge.

GraphNodeBaseBodyC & Target()
Returns the target node of this edge.

const GraphNodeBaseBodyC & Node1() const
Returns the first constant node of this edge.

GraphNodeBaseBodyC & Node1()
Returns the first node of this edge.

const GraphNodeBaseBodyC & Node2() const
Returns the second constant node of this edge.

GraphNodeBaseBodyC & Node2()
Returns the second node of this edge.

UIntT Hash(void) const
Returns a hash value for the current node.
(Lower few bits are almost always zero.)

UIntT ID() const
Access edge id.

void SetID(UIntT nid)
Set edge id.

GraphAdjRepC & SourceAdj()
Returns the the source adjacency.

GraphAdjRepC & TargetAdj()
Returns the target adjacency.

ostream & operator <<(ostream & s,const GraphEdgeBaseBodyC & edge)

#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