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

  PUBLIC
SlimeC::SlimeC(void)
SlimeC::SlimeC(PolopsC)
SlimeC::SlimeC(const SlimeC &)
SlimeC::operator=(const SlimeC &)
SlimeC::~SlimeC(void)
SlimeC::ExportRender(int)
SlimeC::MakeLocal(t_vector *,int &,ItVertC &)
SlimeC::MakeLookElems(t_element &,ItVertC &)
SlimeC::MakeLookElems(void)
SlimeC::SaveSli(char *)
SlimeC::ExportControl(void)
SlimeC::SaveControl(char *)
SlimeC::TestNearest(void)
SlimeC::Nearest(const Vector3dC &,int &,int,Vector3dC &,Vector3dC &)
SlimeC::Nearest(t_vector *,int,const Vector3dC &,int,Vector3dC &,Vector3dC &)
SlimeC::GetArbPoint(const Vector3dC &,int)
SlimeC
 
include "amma/Slime.hh"
User Level:Default
Library:Slime
Example: cri.cc
Section:default.Andrew Stoddart
In Scope:std

Variables:

VTRingC vt;
the internal topolgy representation

Methods:
SlimeC()
Constructs an empty slime

SlimeC(PolopsC pol)
Constructs a slime from PolopsC

SlimeC(const SlimeC & sl)
Copy constructor

SlimeC & operator=(const SlimeC & sl)

~SlimeC()
Destructor Export meshes -------------

PolopsC ExportRender(int disp_density)
Export a rendered mesh at specified density, if density is 0 then export the control mesh. This mesh is NOT purified, (but not sure in case of constrol mesh) ===NB=== This routine only computes the topology the first time round. If the toplogy changes please call MakeLookElems();

BooleanT MakeLocal(t_vector * local,int & n_simp,ItVertC & iv)
extracts the control points of a patch directly into local return FALSE if patch exceeds nsimple_max

void MakeLookElems(t_element & el,ItVertC & iv)
makes a single patch element, used by MakeLookElems();

void MakeLookElems()
generate lookup table, you must call this if you change the topology the lookup table assembles the control points for each patch and also acts as a integer indexed access to the control points themselves

void SaveSli(char * fname)
Save the lookup table, this can be usedto test by stripped down code

PolopsC ExportControl()
Export the control mesh (done by SurfaceC; not purified?)

void SaveControl(char * fname)
Save the control mesh in a .tri file Utilities ---------

void TestNearest(void)

double Nearest(const Vector3dC & p,int & minelem,int grid_size,Vector3dC & uvmin,Vector3dC & nearestmin)
exhaustive search for closest patch Assumes that the element lookup table is up to date because will visit all elements

double Nearest(t_vector * local,int n_simp,const Vector3dC & p,int grid_size,Vector3dC & uv,Vector3dC & nearestmin)
quick and dirty nearest routine, input is a patch and the query point p, returned is closest point in nearestmin and uv. dmin is the return value

Vector3dC GetArbPoint(const Vector3dC & uv,int elem)
Get an arbitrary point without using tables private functions used only by ExportRender -------------------------------------------


Programmer:Andrew Stoddart, Documentation by CxxDoc: Tue Mar 20 10:48:08 2001