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

  PUBLIC
BodyTriSetC::BodyTriSetC(void)
BodyTriSetC::BodyTriSetC(FilenameC)
BodyTriSetC::BodyTriSetC(SArray1dC,SArray1dC)
BodyTriSetC::BodyTriSetC(const IntT,const IntT)
BodyTriSetC::BodyTriSetC(const PolopsC &)
BodyTriSetC::Copy(void) const
BodyTriSetC::BodyTriSetC(const BodyTriSetC &)
BodyTriSetC::PutVertex(const IndexT,const Vector3dC)
BodyTriSetC::PutElement(const IndexT,const TriC)
BodyTriSetC::NumVertex(void) const
BodyTriSetC::NumElement(void) const
BodyTriSetC::Vertex(const IndexT) const
BodyTriSetC::Vertex(const IndexT)
BodyTriSetC::Element(const IndexT) const
BodyTriSetC::Element(const IndexT)
BodyTriSetC::PElement(const IndexT)
BodyTriSetC::Save(FilenameC)
BodyTriSetC::SaveVRML(FilenameC)
BodyTriSetC::FitPlane(void)
BodyTriSetC::Length(const IntT,const IntT)
BodyTriSetC::AverageEdgeLength(void)
BodyTriSetC::MinimumEdgeLength(void)
BodyTriSetC::AverageNormal(void)
BodyTriSetC::VertexNormal(const IndexT)
BodyTriSetC::SurfaceNormal(RealT,RealT,IndexT)
BodyTriSetC::Limits(Vector3dC &,Vector3dC &)
BodyTriSetC::IsSetupBound(void) const
BodyTriSetC::SetupBound(void)
BodyTriSetC::ExportPolops(void) const
BodyRefCounterVC::Copy(void) const
BodyRefCounterVC::operator==(const BodyRefCounterVC &) const
BodyRefCounterVC::operator!=(const BodyRefCounterVC &) const
BodyRefCounterVC::Save(ostream &) const
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
RefCounterBaseC::Label(void) const
BodyTriSetC
 
A simple mesh class
 
include "amma/TriSet.hh"
User Level:Default
Library:tri
Example: cri.cc
Section:3D Surface.Polyhedral Representation
In Scope:std

Comments:
Set of triangles: list of 3D vertex + list of TriC ============================================================ NB: TriC contains pointers to BodyTriSetC & therefore cannot be assigned without either (1) Explicit change of pointers or (2) ref count

Parent Classes: Derived Classes: Variables:
Methods:
BodyTriSetC()

BodyTriSetC(FilenameC name)
load file in .tri format (triangles only, index 0..N-1)

BodyTriSetC(SArray1dC<Vector3dC> v,SArray1dC<TriC> e)
construct from an array of verticies 'v' & elements 'e'

BodyTriSetC(const IntT nvertex,const IntT nelement)
construct empty/uninitialised use PutVertex()/PutElement() to initialise...

BodyTriSetC(const PolopsC & polys)

BodyRefCounterVC & Copy() const
new physical copy

BodyTriSetC(const BodyTriSetC & tris)

void PutVertex(const IndexT iIndex,const Vector3dC v)

void PutElement(const IndexT iIndex,const TriC t)
--------------------------------------------- Access

IntT NumVertex() const

IntT NumElement() const

Vector3dC Vertex(const IndexT iIndex) const

Vector3dC & Vertex(const IndexT iIndex)

const TriC & Element(const IndexT iIndex) const

TriC & Element(const IndexT iIndex)
access i^th element

TriC * PElement(const IndexT iIndex)
CAUTION - not ref counted --------------------------------------------- Operations

void Save(FilenameC name)
save to file 'name' in .tri format

void SaveVRML(FilenameC filename)
save vrml 2 format (geometry only)

PlanePVV3dC FitPlane()
Best fit plane through data - 1st two eigenvectors of vertex covariance matrix

RealT Length(const IntT i1,const IntT i2)

RealT AverageEdgeLength()

RealT MinimumEdgeLength()

Vector3dC AverageNormal()
average element normal

Vector3dC VertexNormal(const IndexT iIndex)
return vertex normal (setup an internal array of vertex normals)

Vector3dC SurfaceNormal(RealT dAlpha,RealT dBeta,IndexT iElement)
Return an interpolated surface normal
dAlpha and dBeta are barycentric coordinates of a point on iElement. The returned vector is the interpolated normal at this point.

void Limits(Vector3dC & xmin,Vector3dC & xmax)
bounding volume in 3D

BooleanT IsSetupBound() const
returns setup status of bound

void SetupBound()
Setup boundary information for each TriC Element (call in constructor)

PolopsC ExportPolops() const

#include "amma/BRefCntV.hh"
BodyRefCounterVC & Copy() const
Creat a copy of this object.

BooleanT operator==(const BodyRefCounterVC & oth) const
Compair identitys.

BooleanT operator!=(const BodyRefCounterVC & oth) const
Compair identitys.

BooleanT Save(ostream & out) const
Save to ostream.

#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.

#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:Adrian Hilton, Documentation by CxxDoc: Tue Mar 20 10:48:08 2001