Home

gvertex Class Reference
[Graph Theory]

Creates an instance of a graph vertex for use in graph theory. More...

#include <generic_graph.hxx>

Inheritance diagram for gvertex:

Inheritance graph
[legend]
Collaboration diagram for gvertex:

Collaboration graph
[legend]

List of all members.

Public Member Functions

void add () const
 The C++ classes of gvertex and gedge are use counted in the same way that laws are use counted.
void clear_kind ()
 Sets the user-defined kind array for this graph item to NULL.
virtual ENTITYget_entity () const
 This returns a pointer to the entity that the graph vertex refers to.
int get_kind_size () const
 Returns the size of the kind array.
 gvertex (char const *name=NULL)
 Creates an instance of a graph vertex and supplies it with a name.
logical is_kind (int which) const
 Determines whether or not this graph vertex is of the specified kind.
char const * name () const
 Every graph vertices can be supplied a character string as a name.
logical operator!= (gvertex const &in_vertex) const
 Determines whether or not the supplied vertex is not equal to this graph vertex.
logical operator== (gvertex const &in_vertex) const
 Determines whether or not the supplied vertex is equal to this graph vertex.
void remove ()
 The C++ classes of gvertex and gedge are use counted in the same way that laws are use counted.
void set_kind (int which, logical value)
 Assigns a user-defined kind to this graph edge.


Detailed Description

Creates an instance of a graph vertex for use in graph theory.


Role: The concepts of vertex, edge, and graph have been implemented as the C++ classes gvertex, gedge, and generic_graph. (entity_gvertex is derived from gvertex except that it contains a pointer to an entity in the model. Such an entity could be a cell or a face.) A gvertex may be created with an optional char *name. A gedge may be created with two gvertex pointers. An empty graph may be created and edges and vertices may be added to it by calling its add_vertex and add_edge methods. Once created, a graph may be interrogated, ordered, or subsetted in a number of ways.

The C++ classes of gvertex and gedge are use counted in the same way that laws are use counted. That is to say that the are copied by calling the add method and deleted by calling the remove method.

To make a gvertex or gedge contain data, derive a class from the base classes of gvertex and gedge. Use a technique similar to the entity_gvertex class which enables it to contain an entity pointer.

See also:
gedge

Constructor & Destructor Documentation

gvertex::gvertex ( char const *  name = NULL  ) 

Creates an instance of a graph vertex and supplies it with a name.



Parameters:
name name of vertex


Member Function Documentation

void gvertex::add (  )  const

The C++ classes of gvertex and gedge are use counted in the same way that laws are use counted.



Role: That is to say that the are copied by calling the add method and deleted by calling the remove method.

void gvertex::clear_kind (  ) 

Sets the user-defined kind array for this graph item to NULL.

kind is actually a dynamic array.

Role: The value argument specifies whether or not this graph edge is of the kind number specified.

virtual ENTITY* gvertex::get_entity (  )  const [virtual]

This returns a pointer to the entity that the graph vertex refers to.



Role: Initially, this can be a CELL or a FACE.

Reimplemented in entity_gvertex.

int gvertex::get_kind_size (  )  const

Returns the size of the kind array.

logical gvertex::is_kind ( int  which  )  const

Determines whether or not this graph vertex is of the specified kind.



Parameters:
which kind to test.

char const* gvertex::name (  )  const

Every graph vertices can be supplied a character string as a name.



Role: This method returns its name.

logical gvertex::operator!= ( gvertex const &  in_vertex  )  const

Determines whether or not the supplied vertex is not equal to this graph vertex.



Parameters:
in_vertex gvertex.

logical gvertex::operator== ( gvertex const &  in_vertex  )  const

Determines whether or not the supplied vertex is equal to this graph vertex.



Parameters:
in_vertex supplied vertex.

void gvertex::remove (  ) 

The C++ classes of gvertex and gedge are use counted in the same way that laws are use counted.



Role: That is to say that the are copied by calling the add method and deleted by calling the remove method.

void gvertex::set_kind ( int  which,
logical  value 
)

Assigns a user-defined kind to this graph edge.

kind is actually a dynamic array.

Role: The value argument specifies whether or not this graph edge is of the kind number specified.

Parameters:
which kind of use.
value turn on or off.