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

  PUBLIC
SurfaceNearestC::SurfaceNearestC(void)
SurfaceNearestC::SurfaceNearestC(SurfaceC &)
SurfaceNearestC::SurfaceNearestC(SurfaceC &,const OrthoProjection3to2dC,const Point2dC,const Index2dC)
SurfaceNearestC::SurfaceNearestC(const SurfaceNearestC &)
SurfaceNearestC::operator=(const SurfaceNearestC &)
SurfaceNearestC::NearestPoint(const Vector3dC)
SurfaceNearestC::NearestPoint(const Vector3dC,const RealT)
SurfaceNearestC::NearestPoint(const Vector3dC,const IntT)
SurfaceNearestC::SetupElementBased(void)
SurfaceNearestC::SetupElementBased(const OrthoProjection3to2dC,const Point2dC,const Index2dC)
SurfaceNearestC::FitPlane(void)
SurfaceNearestC::InsertElements(void)
SurfaceNearestC::MinMaxElement(ElementC &,Index2dC &,Index2dC &)
SurfaceNearestC::FillBuckets(ElementC &,Index2dC &,Index2dC &)
SurfaceNearestC::NearestPoint(const Vector3dC,const Index2dC,const IntT)
SurfaceNearestC::UnmarkElements(const Index2dC,const IntT)
SurfaceNearestC
 
include "amma/SurfNear.hh"
User Level:Default
Library:surfnear
Example: cri.cc
Section:default.Adrian Hilton
In Scope:std

Comments:
-----------------------------------------------------

Variables:
Bucket3to2dC bucket;
lookup table for element based nn

SurfaceC temp_surface;
reqd for default const

SurfaceC & surface;
SurfaceC surface; reference to this surface (not & for default constructor(

const IntT mark;

const IntT mark = 1;
Use element once only in nearest point calculation mark/unmark elements 1/0 void SetupNodeBased(); Nearest Neighbours based on surface nodes NearestC nearest_node;

Methods:
SurfaceNearestC()
empty

SurfaceNearestC(SurfaceC & s)
Construct a structure for Nearest Point Computation Default parameters: plane = (x,y) du = minimum edge length n = sqrt(no. of elements)

SurfaceNearestC(SurfaceC & s,const OrthoProjection3to2dC plane,const Point2dC du,const Index2dC n)
Construct a structure for Nearest Point Computation 2D reference plane 'plane' grid size 'n' in 2D plane grid resolution 'du' in 2D plane

SurfaceNearestC(const SurfaceNearestC & nn)
copy

const SurfaceNearestC operator=(const SurfaceNearestC & nn)
assignment

SurfaceNearestPointC NearestPoint(const Vector3dC v)
Nearest point on surface to v

SurfaceNearestPointC NearestPoint(const Vector3dC v,const RealT dmax)
Local nearest point up to distnace dmax from v

SurfaceNearestPointC NearestPoint(const Vector3dC v,const IntT nmax)
Local nearest point up to nmax buckets from v

void SetupElementBased()
Nearest Neighbours based on surface elements Default parameters: plane = best fit plane to node positions du = minimum edge length n = sqrt(no. of elements)

void SetupElementBased(const OrthoProjection3to2dC plane,const Point2dC du,const Index2dC n)
Setup with specified parameters

PlanePVV3dC FitPlane()
Best fit plane to element nodes (1st 2 eigenvectors of cov.)

void InsertElements()
insert pointers to elem in all overlapped buckets in ref plane

void MinMaxElement(ElementC & elem,Index2dC & imin,Index2dC & imax)
bounding box of element in 2D ref. plane

void FillBuckets(ElementC & elem,Index2dC & imin,Index2dC & imax)
insert pointer to elem in all buckets in square imin-> imax (inclusive) SurfaceNearestPointT NearestPoint(const Index2dC i); nearest point in bucket i

SurfaceNearestPointC NearestPoint(const Vector3dC v,const Index2dC ind,const IntT i)
nearest point in bucket i +/- i

void UnmarkElements(const Index2dC i,const IntT n)
unmark all elements in bucket i +/- n-1


Programmer:Adrian Hilton, Documentation by CxxDoc: Tue Mar 20 10:49:27 2001