vertex(3)

NAME

Vertex - a vertex in a graph

SYNOPSIS

#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)

Detailed Description

A vertex represents a bit that will cause a change to the cover-stegofile to be embedded. A vertex consists of k samples (that is k sample
values at k (different) positions in the cover-stego-file), where k is TheCvrStgFile->getNumSamplesPerVertex(). One of these k samples must be changed to an opposite sample to embed the bit that corresponds to this vertex.

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.

Constructor & Destructor Documentation

Vertex::Vertex (VertexLabel l, SamplePos * sposs, SampleValue ** svalues,
EmbValue t)
construct a new vertex object
Parameters:
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)

Member Function Documentation

SamplePos Vertex::getSamplePos (unsigned short i) const [inline]
get the i-th sample position
Parameters:
i an index of a sample in this vertex (must be <
TheCvrStgFile->getNumSamplesPerVertex())
Returns:
the position of the sample in the associated cvrstgfile
SampleValue* Vertex::getSampleValue (unsigned short i) const [inline]
get the i-th sample value
Parameters:
i an index of a sample in this vertex (must be <
TheCvrStgFile->getNumSamplesPerVertex())
Returns:
the value of the sample in the associated cvrstgfile
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

Member Data Documentation

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]

Author

Generated automatically by Doxygen for steghide from the source code.
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout