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

  PUBLIC
VoxSetC::VoxSetC(void)
VoxSetC::VoxSetC(const Vector3dC,const Vector3dC,const RealT,const RealT)
VoxSetC::VoxSetC(const VoxSetC &)
VoxSetC::operator=(const VoxSetC &)
VoxSetC::IsValid(const DataC)
VoxSetC::EncodePoint(const TriC &,const Vector3dC,const Vector3dC)
VoxSetC::EncodePoint(const TriC &,const Vector3dC,const Vector3dC,TriNearestPointC &)
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)
BaseVoxSetC::EncodeSetup(Vector3dC,Vector3dC,RealT,RealT)
BaseVoxSetC::IndexRange(const IntT)
BaseVoxSetC::MaximumWeight(void) const
BaseVoxSetC::InsertElement(TriSetC &,Vector3dC)
BaseVoxSetC::InsertElementView(const TriC &,const Vector3dC)
BaseVoxSetC::InsertElementNormal(const TriC &,const Vector3dC)
BaseVoxSetC::EncodePoint(const TriC &,const Vector3dC,const Vector3dC)
BaseVoxSetC::EncodePoint(const TriC &,const Vector3dC,const Vector3dC,TriNearestPointC &)
BaseVoxSetC::EncodeDistance(const RealT) const
BaseVoxSetC::DecodeDistance(const VoxRealT) const
BaseVoxSetC::EncodeWeight(const RealT) const
BaseVoxSetC::DecodeWeight(const VoxRealT) const
BaseVoxSetC::EncodeNormal(const RealT) const
BaseVoxSetC::DecodeNormal(const VoxRealT) const
BaseVoxSetC::EncodePoint(const Vector3dC) const
BaseVoxSetC::DecodePoint(const Index3dC) const
BaseVoxSetC::operator<<(ostream &,BaseVoxSetC &)
VoxSetC<class DataC>
 
include "amma/VoxSet.hh"
User Level:Default
Library:vox
Example: cri.cc
Section:default.Adrian Hilton
In Scope:std

Comments:
forward declaration ==================================================================== Functions for VoxSetC dependent on DataC but not on storage scheme DataC = VoxC or VoxNormalC or VoxPointNormalC

Parent Classes: Methods:
VoxSetC()
empty

VoxSetC(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

VoxSetC(const VoxSetC & vox)
copy const VoxSetC

void operator=(const VoxSetC & vox)
assignment --------------------------------------------------- Operations

BooleanT IsValid(const DataC v)
test if voxel is valid

void EncodePoint(const TriC & tri,const Vector3dC v,const Vector3dC view_normal)

void EncodePoint(const TriC & tri,const Vector3dC v,const Vector3dC view_normal,TriNearestPointC & np)

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

void EncodeSetup(Vector3dC xmin,Vector3dC xmax,RealT resolution,RealT distance)

IntT IndexRange(const IntT k)
IntT Index3to1(const Index3dC i) const; Index3dC Index1to3(const IntT i) const;

RealT MaximumWeight() const
------------------------------------------------ Encoding Triangulation

void InsertElement(TriSetC & triset,Vector3dC view_normal)
insert all elements in 'triset' with view point direction 'view_normal'

void InsertElementView(const TriC & tri,const Vector3dC view_normal)
Encode element volume in 'view normal' direction

void InsertElementNormal(const TriC & tri,const Vector3dC view_normal)
Encode element volume in vertex normal direction element confidence = 'view_normal'.element normal

void EncodePoint(const TriC & tri,const Vector3dC v,const Vector3dC view_normal)

void EncodePoint(const TriC & tri,const Vector3dC v,const Vector3dC view_normal,TriNearestPointC & np)

VoxRealT EncodeDistance(const RealT d) const
[-dmax,dmax] => [0,255]

RealT DecodeDistance(const VoxRealT d) const
[0,255] => [-dmax,dmax]

VoxRealT EncodeWeight(const RealT w) const
[0,wmax] => [0,255]

RealT DecodeWeight(const VoxRealT w) const
[0,255] => [0,wmax]

VoxRealT EncodeNormal(const RealT n) const
[-1,1] => [0,255]

RealT DecodeNormal(const VoxRealT n) const
[0,255] => [-1,1]

Index3dC EncodePoint(const Vector3dC v) const
[xmin,xmax] => [0,2^16]

Vector3dC DecodePoint(const Index3dC i) const
[0,2^16] => [xmin,xmax]

ostream & operator<<(ostream & s,BaseVoxSetC & t)


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