Developer Documentation
Centre for Vision, Speech & Signal Processing
USER IN NAMESPACE AMMA TREE ROOT AMMA SEARCH AMMA HOME
 

  PUBLIC
PSImageBodyC::PSImageBodyC(void)
PSImageBodyC::PSImageBodyC(const FilenameC &,const ImageRectangleC &,UIntT,UIntT)
PSImageBodyC::PSImageBodyC(OStreamC &,const ImageRectangleC &,UIntT,UIntT)
PSImageBodyC::~PSImageBodyC(void)
PSImageBodyC::SetSizeMm(RealT)
PSImageBodyC::SetFont(const StringC &,IntT)
PSImageBodyC::Title(const StringC &)
PSImageBodyC::Normalize(void)
PSImageBodyC::PrintArrows(const NumImageC &,const RealT)
PSImageBodyC::PrintEllipses(const NumImageC &,const RealT)
PSImageBodyC::PrintCircles(const ImageC &,const RealT)
PSImageBodyC::PrintImage(const ImageC &)
PSImageBodyC::PrintImage(const ImageC &)
PSImageBodyC::DrawLine(const Point2dC &,const Point2dC &)
PSImageBodyC::DrawArrow(const Point2dC &,const Vector2dC &)
PSImageBodyC::DrawEllipse(const Point2dC &,const Matrix2d2C &)
PSImageBodyC::DrawText(const Point2dC &,const StringC &)
PSImageBodyC::DrawBorder(void)
PSImageBodyC::SetPenColour(RealT,RealT,RealT)
PSImageBodyC::NewPage(void)
PSImageBodyC::initialise(void)
PSImageBodyC::InitArrow(void)
PSImageBodyC::InitEllipse(void)
PSImageBodyC::InitLineSeg(void)
BodyRefCounterC::AddReference(void)
BodyRefCounterC::RemoveReference(void)
BodyRefCounterC::SetConst(void) const
BodyRefCounterC::SetConst(void)
BodyRefCounterC::IsConst(void) const
BodyRefCounterC::IsNotConst(void) const
BodyRefCounterC::ToBeDeleted(void) const
BodyRefCounterC::ToBeDeletedRemoveIgnoreNoRemove(void)
BodyRefCounterC::ToBeDeletedRemove(void)
BodyRefCounterC::BodyMightBeDeleted(void) const
BodyRefCounterC::IsCountZero(void) const
BodyRefCounterC::BRCPtrCanDeleteObject(void) const
BodyRefCounterC::Count(void) const
BodyRefCounterC::operator=(const BodyRefCounterC &)
BodyRefCounterC::IsValidObject(void) const
BodyRefCounterC::UserBitTest(IntT) const
BodyRefCounterC::UserBitSet(IntT,BooleanT)
BodyRefCounterC::UserBitZero(IntT)
BodyRefCounterC::ReportBRCError(char *)
BodyRefCounterC::Hash(void) const
BodyRefCounterC::SetUndeletable(void)
BodyRefCounterC::ReportInvalidObject(char *) const
RefCounterBaseC::Label(void) const
PSImageBodyC
 
This is the body class for PSImageC
 
include "amma/PSImage.hh"
User Level:Default
Library:Ccompimg
Example:exPsIm.ccexPSDraw.cc
Section:Geometry.2-D Image.Image Processing
In Scope:std

Parent Classes:

Variables:
OStreamC fo;

ImageRectangleC rectangle;
image rectangle that defines bounding box etc.

UIntT subsample;
display a subsampled grid; hence subsample = cell width

IndexC subsample_offset;
offset the subsampling

RealT line_width;
width of displayed lines (in Postscript units)

RealT width_in_mm;
width of Postscript bounding box in mm

BooleanT is_initialised;
Postscript preamble has been done

BooleanT arrow_is_defined;
arrow macro only needs to be sent once

BooleanT ellipse_is_defined;
ellipse ditto

BooleanT lineseg_is_defined;
line ..

BooleanT normalize;
normalise images of vectors etc. before display

Point2dC win_origin;
origin of bounding box in pixel coords

Vector2dC window;
size of bounding box in pixel coords

StringC title;
title to appear in PostScript file

Methods:
PSImageBodyC()
Default constructor.

PSImageBodyC(const FilenameC & output,const ImageRectangleC & rect,UIntT subsample = 1,UIntT subs_offset = 0)
See PSImageC handle class for documentation

PSImageBodyC(OStreamC & output,const ImageRectangleC & rect,UIntT subsample = 1,UIntT subs_offset = 0)

~PSImageBodyC()
Destructor

void SetSizeMm(RealT size)
set Postscript window width in mm; default = rect.Cnum() * (25.4/72) mm (roughly)

void SetFont(const StringC & name,IntT size)
Set the font to use.
Default is helvetica 12 point.

void Title(const StringC & title)
Set the title that will appear on the ghostview title bar

void Normalize()
Normalise the size of all fields of symbols that are printed subsequently
Size of largest symbol will be "subsample" pixels (unless subsequently rescaled).

RealT PrintArrows(const NumImageC<Vector2dC> & vecs,const RealT scale = 1.0)
Print grid of 2D vectors as arrows rescaled by factor of "scale"
The normalisation factor (if computed) is returned.

RealT PrintEllipses(const NumImageC<Matrix2d2C> & covs,const RealT scale = 1.0)
Print grid of 2x2 symmetric matrices as "covariance" ellipses rescaled by factor of "scale"
The normalisation factor (if computed) is returned.

void PrintCircles(const ImageC<RealT> & value,const RealT scale = 1.0)
Print grid of circles of diameter given by "value"
rescaled by factor of "scale"

void PrintImage(const ImageC<ByteT> & im)
Print background greyscale image

void PrintImage(const ImageC<ByteRGBValueC> & im)
Print background colour image

void DrawLine(const Point2dC & from,const Point2dC & to)
Draw a line.

void DrawArrow(const Point2dC & at,const Vector2dC & vec)
Draw a vector "vec" as an arrow, starting from "at".

void DrawEllipse(const Point2dC & at,const Matrix2d2C & mat)
Draw a covariance matrix as an ellipse, centered on "at".

void DrawText(const Point2dC & at,const StringC & text)
Print some text at a given location.
Use SetFont(...), to control the size and font used for text.

void DrawBorder()
Draw a border round the bounding box

void SetPenColour(RealT r,RealT g,RealT b)
Set pen colour.
r,g and b can take values between 0 and 1 where 1,1,1 is white and 0,0,0 is black. Values outside the range will be cliped to the nearest legal value.

void NewPage()
Start a new page.

void initialise()
Writes Postscript preamble etc. (Essential that it is called after geometry is fixed, but before any drawing is done)

void InitArrow()
Write macro for arrows.

void InitEllipse()
Write macro for arrows.

void InitLineSeg()
Write macro for simple line segments..

#include "amma/BRefCnt.hh"
void AddReference()
Another reference to the object has been created.

void RemoveReference()
One reference to the object was deleted.
Locking scheme -------------- The object is possible to lock (to make constant). The scheme assumes that the object is created, it can be locked, after that it can only be destroyed. The locked object cannot be unlocked. This locking scheme is very useful during debugging, using assert() function, when it is necassary to check that object is treated as constant and the constancy is not violated by any casting or passing through the copy constructor of shared objects.

void SetConst(void) const
This locks the object.
Often objects you wish to lock are already const.

void SetConst(void)
This locks the object.

BooleanT IsConst(void) const
Returns TRUE if the object is locked, ie. it is assumed to be constant.

BooleanT IsNotConst(void) const
Returns TRUE if the object is unlocked.
ie. there is no special information if the object is constant or not. Counter state information -------------------------

BooleanT ToBeDeleted() const
Returns TRUE if there is only one reference to the object and the whole object or its reference counting part can be deleted.

BooleanT ToBeDeletedRemoveIgnoreNoRemove()
Decrement refrence by 1 return true if this leaves no refrences to the object.

BooleanT ToBeDeletedRemove()
Decrement refrence by 1 return true if this leaves no refrences to the object. This also checks the NoRemove flag.

BooleanT BodyMightBeDeleted() const
Returns TRUE if the reference counted part of the object can be deleted, ie. flag NOREMOVE is false .

BooleanT IsCountZero() const
Are there any refrences left ?

BooleanT BRCPtrCanDeleteObject() const
Used by BRRCPtrC to establish if an object has ZERO refrences and can be deleted.

IntT Count() const
Returns the current state of the counter, ie. how many references to this object exist.

const BodyRefCounterC & operator=(const BodyRefCounterC & b)
It has not meaning to assign object 'b' to this object because it would destroy a history of the object which is counted. So this is a dummy function.

BooleanT IsValidObject() const
Test if object is valid.
When amma check is disabled this always returns true.

BooleanT UserBitTest(IntT x) const
Test user flag.

void UserBitSet(IntT x,BooleanT setit = TRUE)
Test user flag.

void UserBitZero(IntT x)
Set bit to zero.

void ReportBRCError(char * Msg)
Report error, used in BRCPtrC.

UIntT Hash() const
Hash on address of object.

void SetUndeletable()
Make object undeletable.
Usefull to prevent recursive deleting in graph structures. Only hackers need this function.

void ReportInvalidObject(char * Msg = 0) const
Tell user about validation failure.

#include "amma/RefCBase.hh"
LabelT Label() const
Returns the label of this reference counter.
The member function is useful mainly to recognize objects during debugging. The value of the label is uniquely defined pointer.


Programmer:Bill Christmas, Documentation by CxxDoc: Tue Mar 20 10:49:27 2001