|
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 More... | |
| SamplePos * | SamplePositions |
| the sample positions of the samples described by this vertex in the CvrStgFile More... | |
| SampleValue ** | SampleValues |
| the sample values at the SamplePositions More... | |
| 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) More... | |
| std::list< SampleOccurence >::iterator * | SampleOccurenceIts |
| point to entries in std::lists of sample occurences in the graph More... | |
| Edge * | ShortestEdge |
| the shortest edge of this vertex (as calculated by updateShortestEdge) More... | |
| bool | valid |
| true iff this vertex is not deleted More... | |
| unsigned short | SelfDegree |
| the number of loop edges (loop edges are not valid edges) More... | |
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 |