steghide 0.5.1
|
a vertex in a graph More...
#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) |
A vertex represents a bit that will cause a change to the cover-stego-file 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.
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 | ) |
UWORD32 Vertex::getDegree | ( | void | ) | const |
get the degree of this vertex
EmbValue Vertex::getEmbeddedValue | ( | void | ) | const |
|
inline |
|
inline |
get the i-th sample position
i | an index of a sample in this vertex (must be < TheCvrStgFile->getNumSamplesPerVertex()) |
|
inline |
get the i-th sample value
i | an index of a sample in this vertex (must be < TheCvrStgFile->getNumSamplesPerVertex()) |
|
inline |
get the shortest edge of this vertex
|
inline |
void Vertex::markDeleted | ( | void | ) |
if this vertex is valid, mark it as deleted
void Vertex::print | ( | unsigned short | spc = 0 | ) | const |
void Vertex::printEdges | ( | void | ) | const |
|
inline |
|
inline |
void Vertex::unmarkDeleted | ( | void | ) |
if this vertex is marked as deleted, undo this
void Vertex::updateShortestEdge | ( | void | ) |
find shortest edge of this vertex and save result to ShortestEdge
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |