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

  PUBLIC
VoxSetArrayC::VoxSetArrayC(void)
VoxSetArrayC::VoxSetArrayC(const Vector3dC,const Vector3dC,const RealT,const RealT)
VoxSetArrayC::VoxSetArrayC(const TriSetC)
VoxSetArrayC::VoxSetArrayC(const VoxSetArrayC &)
VoxSetArrayC::operator=(const VoxSetArrayC &)
VoxSetArrayC::NearestPoint(const Vector3dC &)
VoxSetArrayC::NearestPointRecursive(const Vector3dC &)
VoxSetArrayC::SignedDistance(const Vector3dC,BooleanT &)
VoxSetArrayC::SignedDistance(const Vector3dC)
VoxSetArrayC::IsValidSignedDistance(const RealT)
VoxSetArrayC::Get(const Index3dC)
VoxSetArrayC::Get(const Vector3dC)
VoxSetArrayC::MemoryUsed(void)
VoxSetArrayC::MemoryAllocated(void)
BaseVoxSetC::operator=(const BaseVoxSetC &)
BaseVoxSetC::SetEncodeScheme(const IntT)
BaseVoxSetC::SetWeightScheme(const IntT)
BaseVoxSetC::SetFusionScheme(const IntT)
BaseVoxSetC::FusionType(void) const
BaseVoxSetC::MinimumNormalCosine(void) const
BaseVoxSetC::Size(void) const
BaseVoxSetC::Resolution(void) const
BaseVoxSetC::LowerLimit(void) const
BaseVoxSetC::UpperLimit(void) const
BaseVoxSetC::MaximumSignedDistance(void) const
BaseVoxSetC::InRange(const Vector3dC &)
BaseVoxSetC::Index(const Vector3dC)
BaseVoxSetC::NormalVolumeBoundingBox(const TriC &,Index3dC &,Index3dC &)
BaseVoxSetC::IndexLimits(const Vector3dC,Index3dC &,Index3dC &)
BaseVoxSetC::Vector(const Index3dC)
BaseVoxSetC::AddTriSet(TriSetC &)
BaseVoxSetC::AddTriSet(TriSetC &,Vector3dC)
BaseVoxSetC::InsertElement(const TriC &)
BaseVoxSetC::InsertElement(const TriC &,const Vector3dC)
VoxSetArrayC<class DataC>
 
include "amma/VoxSet.hh"
User Level:Default
Library:vox
Example: cri.cc
Section:default.Adrian Hilton
In Scope:std

Comments:
============================================================ Voxel Set stored as run-length encode array

Parent Classes: Variables:
Methods:
VoxSetArrayC()
empty

VoxSetArrayC(const Vector3dC xmin,const Vector3dC xmax,const RealT resolution,const RealT distance)
setup an empty volumetric frame dimensions [xmin,xmax] voxel 'resolution' encode surface thickness +/- distance

VoxSetArrayC(const TriSetC triset)
voxel encode 'triset' dimensions = limits of triset resolution = average edge lenght of triset surface thickness = 2*resolution encode scheme = 2: vertex normal fusion scheme = 0: nearest only (weight scheme = 1: weighted ave) - not used for fusion

VoxSetArrayC(const VoxSetArrayC & vox)
copy

const VoxSetArrayC operator=(const VoxSetArrayC & vox)
assignment --------------------------------- Operations

DataC NearestPoint(const Vector3dC & v)
return voxel corresponding to nearest point on surface to 'v'

DataC NearestPointRecursive(const Vector3dC & v)
recursive nearest point search UNTESTED

RealT SignedDistance(const Vector3dC v,BooleanT & valid)
return distance + validity (valid if non-boundary voxel found)

RealT SignedDistance(const Vector3dC v)
distance to surface in range [-dmax,dmax] test if valid

BooleanT IsValidSignedDistance(const RealT d)
inside range [-dmax,dmax] ---------------------------------- Public Operations

DataC Get(const Index3dC i)
reference to voxel with index i or invalid voxel if voxel does not exist

DataC Get(const Vector3dC v)
reference to voxel with index of v or invalid voxel if voxel does not exist

IntT MemoryUsed()
no. of bytes of mem used to store volumetric rep.

IntT MemoryAllocated()
no. of bytes of mem. used with buffer redundancy.

#include "amma/BVoxSet.hh"
void operator=(const BaseVoxSetC & vox)
assignment --------------------------------- Internal Computation

void SetEncodeScheme(const IntT type)
Volumetric Encoding Scheme 1: View Direction 2: Vertex Normal Direction (default) 3: Element Normal Direction

void SetWeightScheme(const IntT type)
Weight Scheme 0: Constant weight 1: Constant Normal Weighted (default) 2: Ramp Normal Weighted

void SetFusionScheme(const IntT type)
Fusion Scheme 0: Nearest Only 1: Weighted Average (default) 2: Weighted Average + Normal (-1: No Fusion)

IntT FusionType() const
return Fusion scheme used

RealT MinimumNormalCosine() const
Minimum angle cosine between surface normals for fusion used in fusion with Normal --------------------------------- Operations

IntT Size() const
number of voxel in each dimension

RealT Resolution() const
voxel resolution

Vector3dC LowerLimit() const
Lower limit of volume dimensions

Vector3dC UpperLimit() const
Upper limit of volume dimensions

RealT MaximumSignedDistance() const
maximum distance of voxel centre from surface for volume encoding

BooleanT InRange(const Vector3dC & p)
returns TRUE if point 'p' is inside the volume, FALSE otherwise

Index3dC Index(const Vector3dC p)
Index for (xyz) point

void NormalVolumeBoundingBox(const TriC & tri,Index3dC & imin,Index3dC & imax)
Voxel Index limits for bounding box on normal volume of tri

void IndexLimits(const Vector3dC v,Index3dC & imin,Index3dC & imax)
Index limits for encoding a volume

Vector3dC Vector(const Index3dC i)
point from index --------------------------------- Add data to volume

void AddTriSet(TriSetC & tri)
Encode mesh 'tri' into volumetric representation encoded in view direction = average normal

void AddTriSet(TriSetC & tri,Vector3dC view_normal)
Encode mesh 'tri' into volumetric representation in drn of view normal

void InsertElement(const TriC & tri)
insert element with confidence =1 (no viewpoint info)

void InsertElement(const TriC & tri,const Vector3dC normal_direction)
insert element with view point info.


Programmer:Adrian Hilton, Documentation by CxxDoc: Tue Mar 20 10:48:08 2001