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.