Attributes and attribute pools
[Graph proxy and component objects]


Data Structures

class  attributeBase
 Non-template base class for attribute templates. More...
class  attribute
 Class for storing array/vector like data assigned with graph objects. More...
class  attributePool
 A class for graph attribute management. More...
struct  TPoolTable
 Tabular imformation required by attribute pools. More...

Typedefs

typedef unsigned short TPoolEnum

Enumerations

enum  TOptGraphTokens {
  TokGraphRepresentation = 0,
  TokGraphObjectives = 1,
  TokGraphGeometry = 2,
  TokGraphLayout = 3,
  TokGraphRegisters = 4,
  TokGraphConfigure = 5,
  TokGraphCommodities = 6,
  TokGraphBound = 7,
  TokGraphLength = 8,
  TokGraphEndSection = 9,
  NoTokGrasph = 10
}
enum  TOptReprTokens {
  TokReprUCap = 0,
  TokReprLCap = 1,
  TokReprLength = 2,
  TokReprDemand = 3,
  TokReprOrientation = 4,
  TokReprFirst = 5,
  TokReprRight = 6,
  TokReprStartNode = 7,
  TokReprIncidences = 8,
  TokReprNNodes = 9,
  TokReprNArcs = 10,
  TokReprComm0 = 11,
  TokReprEndSection = 12,
  NoTokRepr = 13
}
enum  TOptGeometryTokens {
  TokGeoDim = 0,
  TokGeoMetric = 1,
  TokGeoCoordinates = 2,
  TokGeoAxis0 = 3,
  TokGeoAxis1 = 4,
  TokGeoAxis2 = 5,
  TokGeoMinBound = 6,
  TokGeoMaxBound = 7,
  TokGeoEndSection = 8,
  NoTokGeo = 9
}
enum  TOptLayoutTokens {
  TokLayoutModel = 0,
  TokLayoutStyle = 1,
  TokLayoutArcLabel = 2,
  TokLayoutThread = 3,
  TokLayoutInterpolate = 4,
  TokLayoutHiddenNode = 5,
  TokLayoutHiddenArc = 6,
  TokLayoutExteriorArc = 7,
  TokLayoutArcWidthMode = 8,
  TokLayoutArcWidthMin = 9,
  TokLayoutArcWidthMax = 10,
  TokLayoutArcStippleMode = 11,
  TokLayoutArcVisibilityMode = 12,
  TokLayoutArcShapeMode = 13,
  TokLayoutArcColourMode = 14,
  TokLayoutArrowDisplayMode = 15,
  TokLayoutArrowPosMode = 16,
  TokLayoutArrowSize = 17,
  TokLayoutNodeShapeMode = 18,
  TokLayoutNodeColourMode = 19,
  TokLayoutNodeSize = 20,
  TokLayoutNodeFontSize = 21,
  TokLayoutArcFontSize = 22,
  TokLayoutNodeFontType = 23,
  TokLayoutArcFontType = 24,
  TokLayoutGridDisplayMode = 25,
  TokLayoutFineSpacing = 26,
  TokLayoutBendSpacing = 27,
  TokLayoutNodeSpacing = 28,
  TokLayoutNodeLabelFormat = 29,
  TokLayoutArcLabelFormat = 30,
  TokLayoutEndSection = 31,
  NoTokLayout = 32
}
enum  TOptRegTokens {
  TokRegLabel = 0,
  TokRegPredecessor = 1,
  TokRegSubgraph = 2,
  TokRegPotential = 3,
  TokRegNodeColour = 4,
  TokRegEdgeColour = 5,
  TokRegColour = 6,
  TokRegOriginalNode = 7,
  TokRegOriginalArc = 8,
  TokV_T,
  TokEdgeType,
  TokPreO,
  TokPostO,
  TokLow1,
  TokLow2,
  TokRegEndSection,
  NoTokRegister
}
enum  TBaseType {
  TYPE_NODE_INDEX = 0,
  TYPE_ARC_INDEX = 1,
  TYPE_FLOAT_VALUE = 2,
  TYPE_CAP_VALUE = 3,
  TYPE_INDEX = 4,
  TYPE_ORIENTATION = 5,
  TYPE_INT = 6,
  TYPE_DOUBLE = 7,
  TYPE_BOOL = 8,
  TYPE_CHAR = 9,
  TYPE_VAR_INDEX = 10,
  TYPE_RESTR_INDEX = 11
}
enum  TArrayDim {
  DIM_GRAPH_NODES = 0,
  DIM_GRAPH_ARCS = 1,
  DIM_ARCS_TWICE = 2,
  DIM_LAYOUT_NODES = 3,
  DIM_SINGLETON = 4,
  DIM_PAIR = 5,
  DIM_STRING = 6
}
enum  TSizeInfo {
  SIZE_ACTUAL = 0,
  SIZE_RESERVED = 1
}

Functions

virtual graphRepresentationabstractMixedGraph::Representation () throw ()
virtual const graphRepresentationabstractMixedGraph::Representation () const throw ()
virtual attributePoolabstractMixedGraph::RepresentationalData () const throw ()
virtual attributePoolabstractMixedGraph::Geometry () const throw ()
virtual attributePoolabstractMixedGraph::LayoutData () const throw ()
void abstractMixedGraph::ImportLayoutData (const abstractMixedGraph &G) throw ()
bool abstractMixedGraph::GetLayoutParameter (const char *tokenStr, char *valueStr) const throw ()
template<typename T>
bool abstractMixedGraph::GetLayoutParameter (TOptLayoutTokens token, T &value, TLayoutModel model=LAYOUT_DEFAULT) const throw ()
bool abstractMixedGraph::SetLayoutParameter (const char *tokenStr, const char *valueStr) throw ()
template<typename T>
bool abstractMixedGraph::SetLayoutParameter (TOptLayoutTokens token, const T value) throw ()
template<typename T>
bool abstractMixedGraph::SetLayoutParameter (TOptLayoutTokens token, const T value, TLayoutModel model) throw ()
void abstractMixedGraph::SyncSpacingParameters (TOptLayoutTokens token, TFloat &spacing) throw ()
attributePoolabstractMixedGraph::Registers () const throw ()
void * DefaultValueAsVoidPtr (TBaseType _type) throw ()
template<typename T>
DefaultValue (TBaseType _type) throw ()

Variables

const TPoolTable listOfGraphPars []
const TPoolTable listOfReprPars []
const TPoolTable listOfGeometryPars []
const TPoolTable listOfLayoutPars []
const TPoolTable listOfRegisters []

Typedef Documentation

typedef unsigned short TPoolEnum
 


Enumeration Type Documentation

enum TArrayDim
 

Specifiers for the dimensional type of attributes.

Enumerator:
DIM_GRAPH_NODES  Attribute concerns graph nodes.
DIM_GRAPH_ARCS  Attribute concerns graph arcs neglecting.
DIM_ARCS_TWICE  Attribute concerns graph arcs.
DIM_LAYOUT_NODES  Attribute concerns layout points.
DIM_SINGLETON  Attribute denotes a singleton.
DIM_PAIR  Attribute denotes a pair.
DIM_STRING  Attribute denotes a null terminated string.

enum TBaseType
 

Specifiers for the type of attribute elements.

Enumerator:
TYPE_NODE_INDEX  Attribute values are node indices of type TNode.
TYPE_ARC_INDEX  Attribute values are arc indices of type TArc.
TYPE_FLOAT_VALUE  Attribute values are of type TFloat.
TYPE_CAP_VALUE  Attribute values are of type TCap.
TYPE_INDEX  Attribute values are of type TIndex.
TYPE_ORIENTATION 
TYPE_INT  Attribute values are of type int.
TYPE_DOUBLE  Attribute values are of type double.
TYPE_BOOL  Attribute values are of type bool.
TYPE_CHAR  Attribute values are of type char.
TYPE_VAR_INDEX  Attribute values are of type TVar.
TYPE_RESTR_INDEX  Attribute values are of type TRestr.

enum TOptGeometryTokens
 

Enumerator:
TokGeoDim 
TokGeoMetric 
TokGeoCoordinates 
TokGeoAxis0 
TokGeoAxis1 
TokGeoAxis2 
TokGeoMinBound 
TokGeoMaxBound 
TokGeoEndSection 
NoTokGeo 

enum TOptGraphTokens
 

Enumerator:
TokGraphRepresentation 
TokGraphObjectives 
TokGraphGeometry 
TokGraphLayout 
TokGraphRegisters 
TokGraphConfigure 
TokGraphCommodities 
TokGraphBound 
TokGraphLength 
TokGraphEndSection 
NoTokGrasph 

enum TOptLayoutTokens
 

Enumerator:
TokLayoutModel 
TokLayoutStyle 
TokLayoutArcLabel 
TokLayoutThread 
TokLayoutInterpolate 
TokLayoutHiddenNode 
TokLayoutHiddenArc 
TokLayoutExteriorArc 
TokLayoutArcWidthMode 
TokLayoutArcWidthMin 
TokLayoutArcWidthMax 
TokLayoutArcStippleMode 
TokLayoutArcVisibilityMode 
TokLayoutArcShapeMode 
TokLayoutArcColourMode 
TokLayoutArrowDisplayMode 
TokLayoutArrowPosMode 
TokLayoutArrowSize 
TokLayoutNodeShapeMode 
TokLayoutNodeColourMode 
TokLayoutNodeSize 
TokLayoutNodeFontSize 
TokLayoutArcFontSize 
TokLayoutNodeFontType 
TokLayoutArcFontType 
TokLayoutGridDisplayMode 
TokLayoutFineSpacing 
TokLayoutBendSpacing 
TokLayoutNodeSpacing 
TokLayoutNodeLabelFormat 
TokLayoutArcLabelFormat 
TokLayoutEndSection 
NoTokLayout 

enum TOptRegTokens
 

Enumerator:
TokRegLabel 
TokRegPredecessor 
TokRegSubgraph 
TokRegPotential 
TokRegNodeColour 
TokRegEdgeColour 
TokRegColour 
TokRegOriginalNode 
TokRegOriginalArc 
TokV_T 
TokEdgeType 
TokPreO 
TokPostO 
TokLow1 
TokLow2 
TokRegEndSection 
NoTokRegister 

enum TOptReprTokens
 

Enumerator:
TokReprUCap 
TokReprLCap 
TokReprLength 
TokReprDemand 
TokReprOrientation 
TokReprFirst 
TokReprRight 
TokReprStartNode 
TokReprIncidences 
TokReprNNodes 
TokReprNArcs 
TokReprComm0 
TokReprEndSection 
NoTokRepr 

enum TSizeInfo
 

Specifiers for the goblinRootObject::SizeInfo() function.

Enumerator:
SIZE_ACTUAL  Return the actual size of potential attributes.
SIZE_RESERVED  Return the reserved size of potential attributes.


Function Documentation

T DefaultValue TBaseType  _type  )  throw ()
 

Template function returning a default value of a given base type.

Parameters:
_type A base type specifier
Returns:
The default value for this base type

void* DefaultValueAsVoidPtr TBaseType  _type  )  throw ()
 

Template function returning a pointer to the default value of a given base type.

Parameters:
_type A base type specifier
Returns:
A pointer to the default value for this base type
This is needed when generating

attributePool * Geometry  )  const throw () [virtual, inherited]
 

Access the geometry data pool.

Returns:
A pointer to the geometry data pool object or NULL

bool GetLayoutParameter TOptLayoutTokens  token,
T &  value,
TLayoutModel  model = LAYOUT_DEFAULT
const throw () [inherited]
 

Extract a layout parameter from the layout data pool.

Parameters:
token A token symbol
value The variable by which the parameter value is returned
model The active layout model
Return values:
false If no parameter value has been found in the pool, and no default value is known
If no parameter value is stored in the pool, a default value is substituted. The latter value might depend on the current layout model.

bool GetLayoutParameter const char *  tokenStr,
char *  valueStr
const throw () [inherited]
 

Extract a layout parameter from the layout data pool.

Parameters:
tokenStr A token label
valueStr A character string buffer by which the parameter value is returned
Return values:
false If no parameter value has been found in the pool, and no default value is known
If no parameter value is stored in the pool, a default value is substituted. The latter value might depend on the current layout model.

void ImportLayoutData const abstractMixedGraph G  )  throw () [inherited]
 

Inherit all layout pool data from another graph object.

Parameters:
G The graph object to copy from
If G or this graph does not own a layout pool, the procedure returns without any effect.

attributePool * LayoutData  )  const throw () [virtual, inherited]
 

Access the layout data pool.

Returns:
A pointer to the layout data pool object or NULL

attributePool * Registers  )  const throw () [inherited]
 

Access the register pool.

Returns:
A pointer to the register pool object

const graphRepresentation * Representation  )  const throw () [virtual, inherited]
 

Non-modifying access the representational object.

Returns:
A const pointer to the representational object or NULL

graphRepresentation * Representation  )  throw () [virtual, inherited]
 

Access the representational object.

Returns:
A pointer to the representational object or NULL

attributePool * RepresentationalData  )  const throw () [virtual, inherited]
 

Access the representational data pool.

Returns:
A pointer to the representational data pool object or NULL

bool SetLayoutParameter TOptLayoutTokens  token,
const T  value,
TLayoutModel  model
throw () [inherited]
 

Assign a layout parameter.

Parameters:
token A token symbol
value The variable by which the parameter value is returned
model The active layout model
Return values:
false If no parameter value has been assigned

bool SetLayoutParameter TOptLayoutTokens  token,
const T  value
throw () [inherited]
 

Assign a layout parameter.

Parameters:
token A token symbol
value The parameter value to be assigned
Return values:
false If no parameter value has been assigned

bool SetLayoutParameter const char *  tokenStr,
const char *  valueStr
throw () [inherited]
 

Assign a layout parameter.

Parameters:
tokenStr A token label
valueStr The parameter value to be assigned
Return values:
false If no parameter value has been assigned

void SyncSpacingParameters TOptLayoutTokens  token,
TFloat spacing
throw () [inherited]
 

Snychronize a method spacing parameter with the layout pool.

Parameters:
token The token label of either node, bend or fine spacing
spacing A variable to be snychronized with the value in pool
If spacing is less or equal zero (undefined), replace it with the value in pool. Otherwise overwrite the layout pool attribute value


Variable Documentation

const TPoolTable listOfGeometryPars[]
 

The pool table for the abstractMixedGraph::Geometry() attribute pool.

const TPoolTable listOfGraphPars[]
 

Top-level description of a native graph definition file.

This table is not assigned with a special attribute pool, but serves as the entry point for the graph definition parser. The "objectives" section of earlier library versions has been merged here.

const TPoolTable listOfLayoutPars[]
 

The pool table for the abstractMixedGraph::LayoutData() attribute pool.

const TPoolTable listOfRegisters[]
 

The pool table for the abstractMixedGraph::Registers() attribute pool.

const TPoolTable listOfReprPars[]
 

The pool table for the abstractMixedGraph::RepresentationalData() attribute pool.