Public Member Functions | Static Public Attributes | Private Attributes | List of all members
lvr2::BilinearFastBox< BaseVecT > Class Template Reference

#include <BilinearFastBox.hpp>

Inheritance diagram for lvr2::BilinearFastBox< BaseVecT >:
Inheritance graph
[legend]

Public Member Functions

 BilinearFastBox (BaseVecT center)
 
virtual void getSurface (BaseMesh< BaseVecT > &mesh, vector< QueryPoint< BaseVecT >> &query_points, uint &globalIndex)
 Performs a local reconstruction according to the standard Marching Cubes table from Paul Bourke. More...
 
virtual void getSurface (BaseMesh< BaseVecT > &mesh, vector< QueryPoint< BaseVecT >> &query_points, uint &globalIndex, BoundingBox< BaseVecT > &bb, vector< unsigned int > &duplicates, float comparePrecision)
 
void optimizePlanarFaces (BaseMesh< BaseVecT > &mesh, size_t kc)
 
virtual ~BilinearFastBox ()
 
- Public Member Functions inherited from lvr2::FastBox< BaseVecT >
 FastBox (BaseVecT center)
 Constructs a new box at the given center point defined by the used m_voxelsize}. More...
 
BaseVecT getCenter ()
 
FastBox< BaseVecT > * getNeighbor (int index)
 
uint getVertex (int index)
 Gets the vertex index of the queried cell corner. More...
 
void setNeighbor (int index, FastBox< BaseVecT > *cell)
 Adjacent cells in the grid should use common vertices. This functions assigns the value of corner[index] to the corresponding corner of the give neighbor cell. More...
 
void setVertex (int index, uint value)
 Each cell vertex (0 to 7) as associated with a vertex in the reconstruction grid. This methods assigns the index value} to the index}th cell corner. More...
 
virtual ~FastBox ()
 Destructor.NormalT. More...
 

Static Public Attributes

static PointsetSurfacePtr< BaseVecT > m_surface
 
- Static Public Attributes inherited from lvr2::FastBox< BaseVecT >
static uint INVALID_INDEX
 An index value that is used to reference vertices that are not in the grid. More...
 
static float m_voxelsize
 The voxelsize of the reconstruction grid. More...
 

Private Attributes

vector< FaceHandlem_faces
 
int m_mcIndex
 

Additional Inherited Members

- Public Attributes inherited from lvr2::FastBox< BaseVecT >
BaseVecT m_center
 The box center. More...
 
bool m_duplicate
 
bool m_extruded
 
OptionalVertexHandle m_intersections [12]
 The twelve intersection between box and surface. More...
 
FastBox< BaseVecT > * m_neighbors [27]
 Pointer to all adjacent cells. More...
 
- Protected Types inherited from lvr2::FastBox< BaseVecT >
typedef FastBox< BaseVecT > BoxType
 
- Protected Member Functions inherited from lvr2::FastBox< BaseVecT >
float calcIntersection (float x1, float x2, float d1, float d2)
 
bool compareFloat (double num1, double num2)
 
float distanceToBB (const BaseVecT &v, const BoundingBox< BaseVecT > &bb) const
 
void getCorners (BaseVecT corners[], vector< QueryPoint< BaseVecT >> &query_points)
 Calculates the position of the eight cell corners. More...
 
void getDistances (float distances[], vector< QueryPoint< BaseVecT >> &query_points)
 Calculates the distance value for the eight cell corners. More...
 
int getIndex (vector< QueryPoint< BaseVecT >> &query_points)
 Calculated the index for the MC table. More...
 
void getIntersections (BaseVecT *corners, float *distance, BaseVecT *positions)
 Calculated the 12 possible intersections between the cell and the surface to interpolate. More...
 
- Protected Attributes inherited from lvr2::FastBox< BaseVecT >
uint m_vertices [8]
 The eight box corners. More...
 

Detailed Description

template<typename BaseVecT>
class lvr2::BilinearFastBox< BaseVecT >

Definition at line 45 of file BilinearFastBox.hpp.

Constructor & Destructor Documentation

◆ BilinearFastBox()

template<typename BaseVecT >
lvr2::BilinearFastBox< BaseVecT >::BilinearFastBox ( BaseVecT  center)

◆ ~BilinearFastBox()

template<typename BaseVecT >
virtual lvr2::BilinearFastBox< BaseVecT >::~BilinearFastBox ( )
virtual

Member Function Documentation

◆ getSurface() [1/2]

template<typename BaseVecT >
virtual void lvr2::BilinearFastBox< BaseVecT >::getSurface ( BaseMesh< BaseVecT > &  mesh,
vector< QueryPoint< BaseVecT >> &  query_points,
uint globalIndex 
)
virtual

Performs a local reconstruction according to the standard Marching Cubes table from Paul Bourke.

Parameters
meshThe reconstructed mesh
query_pointsA vector containing the query points of the reconstruction grid
globalIndexThe index of the newest vertex in the mesh, i.e. a newly generated vertex shout have the index globalIndex + 1.

Reimplemented from lvr2::FastBox< BaseVecT >.

◆ getSurface() [2/2]

template<typename BaseVecT >
virtual void lvr2::BilinearFastBox< BaseVecT >::getSurface ( BaseMesh< BaseVecT > &  mesh,
vector< QueryPoint< BaseVecT >> &  query_points,
uint globalIndex,
BoundingBox< BaseVecT > &  bb,
vector< unsigned int > &  duplicates,
float  comparePrecision 
)
virtual

Reimplemented from lvr2::FastBox< BaseVecT >.

◆ optimizePlanarFaces()

template<typename BaseVecT >
void lvr2::BilinearFastBox< BaseVecT >::optimizePlanarFaces ( BaseMesh< BaseVecT > &  mesh,
size_t  kc 
)

Member Data Documentation

◆ m_faces

template<typename BaseVecT >
vector<FaceHandle> lvr2::BilinearFastBox< BaseVecT >::m_faces
private

Definition at line 83 of file BilinearFastBox.hpp.

◆ m_mcIndex

template<typename BaseVecT >
int lvr2::BilinearFastBox< BaseVecT >::m_mcIndex
private

Definition at line 84 of file BilinearFastBox.hpp.

◆ m_surface

template<typename BaseVecT >
PointsetSurfacePtr<BaseVecT> lvr2::BilinearFastBox< BaseVecT >::m_surface
static

Definition at line 79 of file BilinearFastBox.hpp.


The documentation for this class was generated from the following file:


lvr2
Author(s): Thomas Wiemann , Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Wed Mar 2 2022 00:37:27