|
User Documentation |
|
Centre for Vision, Speech & Signal Processing |
|
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)
|
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.
- 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
|