Developer Documentation
RAVL, Recognition And Vision Library
USER HOME PAGE CLASS LIST CONTENTS
Ravl - Images - Lines - PCPixelListC
 

  PUBLIC
PCPixelListC::PCPixelListC(void)
PCPixelListC::PCPixelListC(bool)
PCPixelListC::PCPixelListC(DListC &)
PCPixelListC::TrimLine(RealT,RealT &)
PCPixelListC::TrimLine(RealT)
PCPixelListC::TrimLongest(RealT,RealT &)
PCPixelListC::TrimLongest(RealT)
PCPixelListC::PointList(void) const
PCPixelListC::WriteGFHeader(ostream &)
PCPixelListC::WriteGFPnts(ostream &) const
PCPixelListC::RemoveFromImage(ImageC &)
PCPixelListC::Size(void) const
PCPixelListC::IsEmpty(void) const
PCPixelListC::InsFirst(const PCIndex2dC &)
PCPixelListC::InsLast(const PCIndex2dC &)
PCPixelListC::Iter(void)
PCPixelListC::IsOk(void)
DLIterC::IsValid(void) const
DLIterC::First(void)
DLIterC::Last(void)
DLIterC::List(void) const
DLIterC::Copy(void) const
DLIterC::operator bool(void) const
DLIterC::operator !(void) const
DLIterC::operator ++(int)
DLIterC::operator ++(void)
DLIterC::operator --(int)
DLIterC::operator --(void)
DLIterC::InsertBef(const DataT &)
DLIterC::InsertAft(const DataT &)
DLIterC::MoveBef(DLIterC &)
DLIterC::MoveAft(DLIterC &)
DLIterC::Del(void)
DLIterC::DelMoveNext(void)
DLIterC::operator ==(const DLIterC &) const
DLIterC::operator !=(const DLIterC &) const
DLIterC::IsElm(void) const
DLIterC::IsFirst(void) const
DLIterC::IsLast(void) const
DLIterC::Next(void)
DLIterC::Prev(void)
DLIterC::NextCrc(void)
DLIterC::PrevCrc(void)
DLIterC::RelNth(IntT)
DLIterC::Nth(IntT)
DLIterC::Data(void)
DLIterC::Data(void) const
DLIterC::operator *(void)
DLIterC::operator *(void) const
DLIterC::operator ->(void)
DLIterC::operator ->(void) const
DLIterC::NextData(void)
DLIterC::NextData(void) const
DLIterC::PrevData(void)
DLIterC::PrevData(void) const
DLIterC::Tail(void)
DLIterC::Head(void)
DLIterC::InclusiveTail(void)
DLIterC::InclusiveHead(void)
DLIterC::Clip(const DLIterC &)
DLIterC::DLinkData(void)
DLIterC::DLinkData(void) const
DLIterC::Extract(void)
DLIterC::ExtractNext(void)
DLIterC::operator <<(ostream &,const DListBodyC &)
DLIterC::operator <<(BinOStreamC &,const DListBodyC &)

   PCPixelListC   
 
List of PCPixels.
 
include "Ravl/Image/PCPixelList.hh"
Created:07/01/99 
Source file:Ravl/Image/Processing/Lines/PCPixelList.hh
User Level:Normal
Library:RavlImageProc
In Scope:RavlImageN

Comments:
BIG OBJECT

Parent Classes: Methods:
PCPixelListC()
Default constructor.
NB. The list will be invalid!

PCPixelListC(bool withList)
Construct with new list.

PCPixelListC(DListC<PCIndex2dC> & iter)
Constructor.

IntT TrimLine(RealT MaxDist,RealT & DistEst)
Trim points that are too far appart to code effiecently and estimate average distance between points. Starting from the mid-point of the line. Return: Number of points left.

IntT TrimLine(RealT MaxDist)
Trim points that are too far appart to code effiecently. Return: Number of points left. Starting from the mid-point of the line. Return: Number of points left.

IntT TrimLongest(RealT MaxDist,RealT & DistEst)
Trim points that are too far appart to code effiecently and estimate average distance between points. But use the longest segment of pixels without a gap. Return: Number of pixels in segment.

IntT TrimLongest(RealT MaxDist)
Trim points that are too far appart to code effiecently and estimate average distance between points. But use the longest segment of pixels without a gap. Return: Number of pixels in segment.

SArray1dC<Point2dC> PointList() const
Convert PCIndex2dC list to an array of 2d measurment points for fitting.
This returns a list of pixel locations as real points.

static bool WriteGFHeader(ostream & out)
Write out appropriate GF header.

bool WriteGFPnts(ostream & out) const
Write points in GF format.
First number of points N, followed by N co-ordinate pairs.

bool RemoveFromImage(ImageC<ByteT> & img)
Remove points in list from the image.
Set the to zero.

IntT Size() const
Get number of points in list. (Slow)

bool IsEmpty() const
Is list infact empty ?

void InsFirst(const PCIndex2dC & px)
Insert new pixel at begining of list.

void InsLast(const PCIndex2dC & px)
Insert new pixel at end of list.

DLIterC<PCIndex2dC> & Iter()
Access the list.

bool IsOk()
Is list valid ?

#include "Ravl/DLIter.hh"
bool IsValid() const
Is a valid iterator ?

void First()
Goto first item in list.

void Last()
Goto last item in list.

const DListC<PCIndex2dC> & List() const
Access list we're iterating.

DListC<PCIndex2dC> Copy() const
Make a copy of this list.

operator bool() const
Is iterator at a valid position ?

bool operator !() const
Is iterator at a invalid position ?

void operator ++(int)
Goto next element.

void operator ++()
Goto next element.

void operator --(int)
Goto previous element.

void operator --()
Goto previous element.

void InsertBef(const PCIndex2dC & dat)
Insert data before current element.
if at the head of the list (i.e. operator bool() failes.) then add at end.

void InsertAft(const PCIndex2dC & dat)
Insert data after current element.
if at the head of the list (i.e. operator bool() failes.) then add at begining.

void MoveBef(DLIterC<PCIndex2dC> & it)
Move the list element indicated by 'it' to before the element in this list.

void MoveAft(DLIterC<PCIndex2dC> & it)
Move the list element indicated by 'it' to before the element in this list.

void Del()
Remove current element from the list.
This moves the iterator to the previous element. NB. The iterator must be pointing to a valid element.

Because the moves the prevous element it makes it easy to delete elements from a list in a for() loop. e.g. the following will work correctly.

 for(DLIterC it(x);it;it++) 
   if(*it == 2)
     it.Del();
 


void DelMoveNext()
Remove current element from the list.
This moves the iterator to the previous element. NB. The iterator must be pointing to a valid element.

bool operator ==(const DLIterC<PCIndex2dC> & oth) const
Are these iterators equal ?
True if both iterators point to the same element in the same list. False otherwise.

bool operator !=(const DLIterC<PCIndex2dC> & oth) const
Are these iterators unequal ?
True if the iterators point to different elements in any lists. False otherwise.

bool IsElm() const
Is iterator at a valid position ?
AMMA compatibility function, use cast to bool instead ie if(iter) {..}

bool IsFirst() const
Returns true if the current element is the first in the list.

bool IsLast() const
Returns true if the current element is the last in the list.

void Next()
Goto next element.

void Prev()
Goto previous element.

void NextCrc()
Goto next element.
If the next element is the head of the list, loop back to the begining of the list.

void PrevCrc()
Goto previous element.
If the next element is the head of the list, go to the begining of the list.

DLIterC<PCIndex2dC> & RelNth(IntT n)
Move to the n-th element from the current element.
The index 'n' can be positive, zero, or negative. Particularly, the n = 0 means no move, n = 1 means the move to the next element, and n = -1 means the move to the previous element.

Returns a reference to this iterator.


DLIterC<PCIndex2dC> & Nth(IntT n)
Sets to the n-th element of the list.
The index 'n' can be negative. The first element of the list has the index 0, the last element has the index -1. It does not skip the head of the list.

Returns a reference to this iterator.


PCIndex2dC & Data()
Access data

const PCIndex2dC & Data() const
Constant access to data.

PCIndex2dC & operator *()
Access data.

const PCIndex2dC & operator *() const
Constant access to data.

PCIndex2dC * operator ->()
Access member function of data..

const PCIndex2dC * operator ->() const
Constant access to member function of data..

PCIndex2dC & NextData()
Access data following this element.
The iterator must not be on the last element of the list.

const PCIndex2dC & NextData() const
Access data following this element.
The iterator must not be on the last element of the list.

PCIndex2dC & PrevData()
Access data before this element.
The iterator must not be on the first element in the list.

const PCIndex2dC & PrevData() const
Access data before this element.
The iterator must not be on the first element in the list.

DListC<PCIndex2dC> Tail()
Clip out the tail of the list.
Return all of the elements after this element in the list.

DListC<PCIndex2dC> Head()
Clip out the head of the list.
Return all of the elements before this element in the list.

DListC<PCIndex2dC> InclusiveTail()
Clip out the tail of the list including this element.
Returns this element and the following elements from the list. The interator is left point to the last element in the remaining list.

DListC<PCIndex2dC> InclusiveHead()
Clip out the head of the list including this element.
Returns this element and the following elements from the list. The interator is left point to the last element in the remaining list.

DListC<PCIndex2dC> Clip(const DLIterC<PCIndex2dC> & end)
Clip out section of the list
Returns the elements starting from this one to the element before the end. This iterator is moved the previous element.

NB. It is the user's responsibility to ensure 'end' is an element following this element in the same list.


DLinkDataC<PCIndex2dC> & DLinkData()
Access as data element.

const DLinkDataC<PCIndex2dC> & DLinkData() const
Access as data element.

DLinkDataC<PCIndex2dC> & Extract()
Extract the current element, move the iterator back 1.

DLinkDataC<PCIndex2dC> & ExtractNext()
Extract the current element, move the iterator to the next element in the list.

ostream & operator <<(ostream & strm,const DListBodyC<PCIndex2dC> & lst)

BinOStreamC & operator <<(BinOStreamC & strm,const DListBodyC<PCIndex2dC> & lst)


Maintainer:Charles Galambos, Created: 07/01/99, Documentation by CxxDoc: Tue Aug 13 09:59:30 2002