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

  PUBLIC
GraphNodeBaseBodyC::GraphNodeBaseBodyC(GraphBaseBodyC &,UIntT)
GraphNodeBaseBodyC::GraphNodeBaseBodyC(void)
GraphNodeBaseBodyC::~GraphNodeBaseBodyC(void)
GraphNodeBaseBodyC::In(void) const
GraphNodeBaseBodyC::Out(void) const
GraphNodeBaseBodyC::In(void)
GraphNodeBaseBodyC::Out(void)
GraphNodeBaseBodyC::DelInEdges(void)
GraphNodeBaseBodyC::DelOutEdges(void)
GraphNodeBaseBodyC::Hash(void) const
GraphNodeBaseBodyC::ID(void) const
GraphNodeBaseBodyC::SetID(UIntT)
GraphNodeBaseBodyC::BaseGraph(void) const
GraphNodeBaseBodyC::BaseGraph(void)
GraphNodeBaseBodyC::GraphType(void) const
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 &)

   GraphNodeBaseBodyC   
 
The class GraphNodeBaseBodyC is a representation of graph node.
 
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:
It can be linked into a list of graph node. An instance of thist class contains information about the edges which go into the node and which go out.

Parent Classes: Derived Classes: Variables:
IntrDListC in;
the list of input edges

IntrDListC out;
the list of output edges for directed graph.

GraphBaseBodyC * graph;
Pointer to the graph.

UIntT id;

Methods:
GraphNodeBaseBodyC(GraphBaseBodyC & gr,UIntT nId)
Creates the node of a graph.

GraphNodeBaseBodyC()
Creates the node of a graph.

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

const IntrDListC<GraphAdjRepC> & In() const
Returns the constant list of graph adjacencies which have this node as target node.

const IntrDListC<GraphAdjRepC> & Out() const
Returns the constant list of graph adjacencies which have this node as source node.

IntrDListC<GraphAdjRepC> & In()
Returns the list of graph adjacencies which have this node as target node.

IntrDListC<GraphAdjRepC> & Out()
Returns the list of graph adjacencies which have this node as source node.

void DelInEdges()
Delete all input edges.

void DelOutEdges()
Delete all output edges.

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

UIntT ID() const
Access node id.

void SetID(UIntT nid)
Set node id.

const GraphBaseBodyC & BaseGraph() const
Get the graph to which the node belongs.

GraphBaseBodyC & BaseGraph()
Get the graph to which the node belongs.

GraphTypeT GraphType() const
Get the type of graph we're in.

#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