vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE > Class Template Reference

#include <octree_template.h>

List of all members.

Classes

struct  InnerNode
struct  Leaf
struct  Node

Public Types

typedef vcg::Box3< ScalarTypeBoundingBoxType
typedef vcg::Point3i CenterType
typedef vcg::Point3< ScalarTypeCoordinateType
typedef int NodeIndex
typedef NodeTypeNodePointer
typedef Node NodeType
typedef SCALAR_TYPE ScalarType
typedef VoxelTypeVoxelPointer
typedef VOXEL_TYPE VoxelType
typedef unsigned long long ZOrderType

Public Member Functions

NodePointer AddNode (CenterType path)
BoundingBoxType BoundingBox ()
void BoundingBoxInWorldCoordinates (const NodePointer n, BoundingBoxType &wc_bb) const
BoundingBoxType BoundingBoxInWorldCoordinates (const NodePointer n)
ZOrderType BuildRoute (const CoordinateType &p, NodePointer *&route)
CoordinateType Center (NodePointer n) const
CenterType CenterInOctreeCoordinates (const NodePointer n) const
void CenterInWorldCoordinates (const NodePointer n, CoordinateType &wc_Center) const
ZOrderType ComputeZOrder (const CoordinateType &query) const
void ContainedLeaves (BoundingBoxType &query, std::vector< NodePointer > &leaves, NodePointer node, BoundingBoxType &nodeBB)
void ContainedNodes (BoundingBoxType &query, std::vector< NodePointer > &nodes, int depth, NodePointer n, BoundingBoxType &nodeBB)
NodePointer DeepestNode (CenterType path, int MaxLev)
CoordinateType DeInterize (const CenterType &pi) const
CenterType GetPath (NodePointer n) const
bool GetRoute (const CoordinateType &p, NodePointer *&route)
void Initialize (int maximumDepth)
CenterType Interize (const CoordinateType &pf) const
char Level (const NodePointer n) const
NodePointer NewNode (NodePointer parent, int i)
int NodeCount () const
NodePointer Parent (const NodePointer n) const
const NodePointer Root () const
NodePointerSon (NodePointer n, int i) const
BoundingBoxType SubBox (BoundingBoxType &lbb, int i)
BoundingBoxType SubBoxAndCenterInWorldCoordinates (BoundingBoxType &lbb, CoordinateType &center, int i)
VoxelPointer Voxel (const NodePointer n)
int WhatSon (NodePointer n) const
ZOrderType ZOrder (const CenterType &path, const char level) const
ZOrderType ZOrder (NodePointer n) const

Public Attributes

BoundingBoxType boundingBox
ScalarType leafDiagonal
CoordinateType leafDimension
int lSize
int maximumDepth
std::vector< Node * > nodes
int size

Static Public Attributes

static const ScalarType EXPANSION_FACTOR = SCALAR_TYPE(0.035)

Detailed Description

template<typename VOXEL_TYPE, class SCALAR_TYPE>
class vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >

Definition at line 52 of file octree_template.h.


Member Typedef Documentation

template<typename VOXEL_TYPE, class SCALAR_TYPE>
typedef vcg::Box3<ScalarType> vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::BoundingBoxType
template<typename VOXEL_TYPE, class SCALAR_TYPE>
typedef vcg::Point3i vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::CenterType
template<typename VOXEL_TYPE, class SCALAR_TYPE>
typedef vcg::Point3<ScalarType> vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::CoordinateType

Definition at line 69 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
typedef int vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::NodeIndex
template<typename VOXEL_TYPE, class SCALAR_TYPE>
typedef NodeType* vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::NodePointer
template<typename VOXEL_TYPE, class SCALAR_TYPE>
typedef Node vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::NodeType
template<typename VOXEL_TYPE, class SCALAR_TYPE>
typedef SCALAR_TYPE vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::ScalarType
template<typename VOXEL_TYPE, class SCALAR_TYPE>
typedef VoxelType* vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::VoxelPointer
template<typename VOXEL_TYPE, class SCALAR_TYPE>
typedef VOXEL_TYPE vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::VoxelType
template<typename VOXEL_TYPE, class SCALAR_TYPE>
typedef unsigned long long vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::ZOrderType

Member Function Documentation

template<typename VOXEL_TYPE, class SCALAR_TYPE>
NodePointer vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::AddNode ( CenterType  path  )  [inline]

Definition at line 397 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
BoundingBoxType vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::BoundingBox (  )  [inline]

Definition at line 170 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
void vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::BoundingBoxInWorldCoordinates ( const NodePointer  n,
BoundingBoxType wc_bb 
) const [inline]

Return the bounding-box of a node expressed in world-coordinate

Parameters:
NodePointer the node whose bounding-box has to be computed
wc_BB the bounding-box of the node in world coordinta

Definition at line 305 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
BoundingBoxType vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::BoundingBoxInWorldCoordinates ( const NodePointer  n  )  [inline]

Definition at line 286 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
ZOrderType vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::BuildRoute ( const CoordinateType p,
NodePointer *&  route 
) [inline]

Definition at line 552 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
CoordinateType vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::Center ( NodePointer  n  )  const [inline]

Definition at line 273 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
CenterType vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::CenterInOctreeCoordinates ( const NodePointer  n  )  const [inline]

Definition at line 205 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
void vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::CenterInWorldCoordinates ( const NodePointer  n,
CoordinateType wc_Center 
) const [inline]

Return the center of the n-th node expressed in world-coordinate

Parameters:
NodePointer the pointer to the node whose center in world coordinate has to be computed

Definition at line 211 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
ZOrderType vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::ComputeZOrder ( const CoordinateType query  )  const [inline]

Definition at line 470 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
void vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::ContainedLeaves ( BoundingBoxType query,
std::vector< NodePointer > &  leaves,
NodePointer  node,
BoundingBoxType nodeBB 
) [inline]

Definition at line 665 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
void vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::ContainedNodes ( BoundingBoxType query,
std::vector< NodePointer > &  nodes,
int  depth,
NodePointer  n,
BoundingBoxType nodeBB 
) [inline]

Definition at line 632 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
NodePointer vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::DeepestNode ( CenterType  path,
int  MaxLev 
) [inline]

Definition at line 493 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
CoordinateType vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::DeInterize ( const CenterType pi  )  const [inline]

Definition at line 451 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
CenterType vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::GetPath ( NodePointer  n  )  const [inline]

Definition at line 525 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
bool vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::GetRoute ( const CoordinateType p,
NodePointer *&  route 
) [inline]

Definition at line 593 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
void vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::Initialize ( int  maximumDepth  )  [inline]

Definition at line 152 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
CenterType vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::Interize ( const CoordinateType pf  )  const [inline]

Given a query point, compute the z_order of the leaf where this point would be contained. This leaf not necessarily must be exist!

Definition at line 434 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
char vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::Level ( const NodePointer  n  )  const [inline]

Definition at line 182 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
NodePointer vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::NewNode ( NodePointer  parent,
int  i 
) [inline]

Definition at line 373 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
int vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::NodeCount (  )  const [inline]

Definition at line 176 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
NodePointer vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::Parent ( const NodePointer  n  )  const [inline]

Definition at line 188 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
const NodePointer vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::Root (  )  const [inline]

Definition at line 179 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
NodePointer& vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::Son ( NodePointer  n,
int  i 
) const [inline]

Definition at line 185 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
BoundingBoxType vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::SubBox ( BoundingBoxType lbb,
int  i 
) [inline]

Definition at line 317 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
BoundingBoxType vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::SubBoxAndCenterInWorldCoordinates ( BoundingBoxType lbb,
CoordinateType center,
int  i 
) [inline]

Definition at line 332 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
VoxelPointer vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::Voxel ( const NodePointer  n  )  [inline]

Definition at line 173 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
int vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::WhatSon ( NodePointer  n  )  const [inline]

Definition at line 191 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
ZOrderType vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::ZOrder ( const CenterType path,
const char  level 
) const [inline]

Definition at line 472 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
ZOrderType vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::ZOrder ( NodePointer  n  )  const [inline]

Definition at line 469 of file octree_template.h.


Member Data Documentation

template<typename VOXEL_TYPE, class SCALAR_TYPE>
BoundingBoxType vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::boundingBox

Definition at line 716 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
const SCALAR_TYPE vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::EXPANSION_FACTOR = SCALAR_TYPE(0.035) [inline, static]

Definition at line 64 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
ScalarType vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::leafDiagonal

Definition at line 710 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
CoordinateType vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::leafDimension

Definition at line 707 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
int vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::lSize

Definition at line 701 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
int vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::maximumDepth

Definition at line 704 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
std::vector< Node* > vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::nodes

Definition at line 713 of file octree_template.h.

template<typename VOXEL_TYPE, class SCALAR_TYPE>
int vcg::OctreeTemplate< VOXEL_TYPE, SCALAR_TYPE >::size

Definition at line 690 of file octree_template.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


vcglib
Author(s): Christian Bersch
autogenerated on Fri Jan 11 09:23:03 2013