#include <Vertex.h>
Public Member Functions | |
Vertex (VertexLabel l, SamplePos *sposs, SampleValue **svalues, EmbValue t) | |
~Vertex (void) | |
SamplePos | getSamplePos (unsigned short i) const |
SampleValue * | getSampleValue (unsigned short i) const |
UWORD32 | getDegree (void) const |
Edge * | getShortestEdge (void) const |
void | updateShortestEdge (void) |
void | markDeleted (void) |
void | unmarkDeleted (void) |
VertexLabel | getLabel (void) const |
void | setLabel (VertexLabel l) |
void | setSampleOccurenceIt (unsigned short i, std::list< SampleOccurence >::iterator it) |
EmbValue | getEmbeddedValue (void) const |
EmbValue | getTargetValue (unsigned short i) const |
void | print (unsigned short spc=0) const |
void | printEdges (void) const |
Private Attributes | |
VertexLabel | Label |
the vertex label of this vertex | |
SamplePos * | SamplePositions |
the sample positions of the samples described by this vertex in the CvrStgFile | |
SampleValue ** | SampleValues |
the sample values at the SamplePositions | |
EmbValue * | TargetValues |
the target values for the sample values (exactly one of them has to be reached (and the other left unchanged) to embed this vertex) | |
std::list< SampleOccurence > ::iterator * | SampleOccurenceIts |
point to entries in std::lists of sample occurences in the graph | |
Edge * | ShortestEdge |
the shortest edge of this vertex (as calculated by updateShortestEdge) | |
bool | valid |
true iff this vertex is not deleted | |
unsigned short | SelfDegree |
the number of loop edges (loop edges are not valid edges) |
NOTE: Vertex relies on the Globals object pointed to by the Globs pointer. This means that it must be set correctly before using any method of a Vertex object.
Vertex::Vertex | ( | VertexLabel | l, | |
SamplePos * | sposs, | |||
SampleValue ** | svalues, | |||
EmbValue | t | |||
) |
construct a new vertex object
l | the vertex label for this vertex | |
sposs | the array (with length g->getSamplesPerVertex()) of the positions of the samples | |
svalues | the array (with length g->getSamplesPerVertex()) of (unique (!)) pointers to the sample values | |
t | the target value for the whole vertex - the value that should be returned by getEmbeddedValue() after the embedding |
Vertex::~Vertex | ( | void | ) |
SamplePos Vertex::getSamplePos | ( | unsigned short | i | ) | const [inline] |
get the i-th sample position
i | an index of a sample in this vertex (must be < TheCvrStgFile->getNumSamplesPerVertex()) |
SampleValue* Vertex::getSampleValue | ( | unsigned short | i | ) | const [inline] |
get the i-th sample value
i | an index of a sample in this vertex (must be < TheCvrStgFile->getNumSamplesPerVertex()) |
UWORD32 Vertex::getDegree | ( | void | ) | const |
get the degree of this vertex
Edge* Vertex::getShortestEdge | ( | void | ) | const [inline] |
get the shortest edge of this vertex
void Vertex::updateShortestEdge | ( | void | ) |
find shortest edge of this vertex and save result to ShortestEdge
void Vertex::markDeleted | ( | void | ) |
if this vertex is valid, mark it as deleted
void Vertex::unmarkDeleted | ( | void | ) |
if this vertex is marked as deleted, undo this
VertexLabel Vertex::getLabel | ( | void | ) | const [inline] |
void Vertex::setLabel | ( | VertexLabel | l | ) | [inline] |
void Vertex::setSampleOccurenceIt | ( | unsigned short | i, | |
std::list< SampleOccurence >::iterator | it | |||
) | [inline] |
EmbValue Vertex::getEmbeddedValue | ( | void | ) | const |
EmbValue Vertex::getTargetValue | ( | unsigned short | i | ) | const [inline] |
void Vertex::print | ( | unsigned short | spc = 0 |
) | const |
void Vertex::printEdges | ( | void | ) | const |
VertexLabel Vertex::Label [private] |
SamplePos* Vertex::SamplePositions [private] |
SampleValue** Vertex::SampleValues [private] |
EmbValue* Vertex::TargetValues [private] |
std::list<SampleOccurence>::iterator* Vertex::SampleOccurenceIts [private] |
Edge* Vertex::ShortestEdge [private] |
bool Vertex::valid [private] |
unsigned short Vertex::SelfDegree [private] |