Program Listing for File BilinearFastBox.hpp
↰ Return to documentation for file (include/lvr2/reconstruction/BilinearFastBox.hpp)
#ifndef _LVR2_RECONSTRUCTION_BILINEARFASTBOX_H_
#define _LVR2_RECONSTRUCTION_BILINEARFASTBOX_H_
#include "lvr2/reconstruction/FastBox.hpp"
#include "lvr2/reconstruction/PointsetSurface.hpp"
namespace lvr2
{
template<typename BaseVecT>
class BilinearFastBox : public FastBox<BaseVecT>
{
public:
BilinearFastBox(BaseVecT center);
virtual ~BilinearFastBox();
virtual void getSurface(
BaseMesh<BaseVecT>& mesh,
vector<QueryPoint<BaseVecT>>& query_points,
uint &globalIndex
);
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);
// the point set surface
static PointsetSurfacePtr<BaseVecT> m_surface;
private:
vector<FaceHandle> m_faces;
int m_mcIndex;
};
template<typename BaseVecT>
struct BoxTraits<BilinearFastBox<BaseVecT>>
{
static const string type;
};
} // namespace lvr2
#include "lvr2/reconstruction/BilinearFastBox.tcc"
#endif /* _LVR2_RECONSTRUCTION_BILINEARFASTBOX_H_ */