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

  PUBLIC
VTNearC::VTNearC(void)
VTNearC::VTNearC(VTRingC,int,int)
VTNearC::VTNearC(const VTNearC &)
VTNearC::operator=(const VTNearC &)
VTNearC::~VTNearC(void)
VTNearC::ExhaustNearest(Vector3dC)
VTNearC::Nearest(Vector3dC)
VTNearC::MakeMap(char *,char *,BooleanT)
VTNearC
 
include "amma/VTNear.hh"
User Level:Default
Library:VTRing
Example: cri.cc
Section:default.Andrew Stoddart
In Scope:std

Comments:
------------------------------------------------------------------------- ------------------------------------------------------------------------- This class is used to find the nearest point on a VTRingC triangulated surface by means of a spatial partioning. It is not intended to be optimal but is a simple implementation of a fast technique. It is good when the points are close to the surface but becomes as bad as an exhaustive search when points are far away. The search is based on projecting all triangles into a plane divided into squares. For each square a list holds the (integer) number of each triangle that projects into it. When it is time to search the query point is projected into a square and the search expands to include larger neighbourhoods until it is not possible for any unsearched squares to contain a closer point. It is possible to convert the squares to hold lists of pointers which would mean that the VTRingC could be modified without needing the lookup table to be reconstructed from scratch ***NB*** The faces on the VTRingC are renumbered. This code is based on a algorithm first used at Surrey by Adrian Hilton. The method works well when the point is near the surface, but can be very poor away from the surface This should be improved to use planes other than the xy plane! ***NB*** This code uses the already established scheme for converting XY to rc of the RangeC The onbound flag is crude in the sense that it uses FaceOnBound; it should be improved into a rigorous point on boundary test ------------------------------------------------------------------------- ********** VTNearC ***************************************************** -------------------------------------------------------------------------

Variables:
Methods:
VTNearC()
Null Constructor

VTNearC(VTRingC vtin,int nbins = 50,int tr = 0)
Constructor; Uses renumber faces on vt

VTNearC(const VTNearC & b)
Copy Constructor

VTNearC & operator=(const VTNearC & b)

~VTNearC()
Destructor

VTNearestPointC ExhaustNearest(Vector3dC query)
find the nearest point on surface to query; exhaustive search

VTNearestPointC Nearest(Vector3dC query)
find the nearest point on surface to query

void MakeMap(char * vecfil,char * mapfil,BooleanT exhaust)
given a vectorset produce the mape file


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