29 template <
typename BaseVecT>
45 string pcm_name = options.
getPCM();
51 cout <<
timestamp <<
"Using PCL as point cloud manager is not implemented yet!" << endl;
54 else if(pcm_name ==
"STANN" || pcm_name ==
"FLANN" || pcm_name ==
"NABO" || pcm_name ==
"NANOFLANN")
57 int plane_fit_method = 0;
69 surface = make_shared<AdaptiveKSearchSurface<BaseVecT>>(
81 cout <<
timestamp <<
"Unable to create PointCloudManager." << endl;
82 cout <<
timestamp <<
"Unknown option '" << pcm_name <<
"'." << endl;
87 surface->setKd(options.
getKd());
88 surface->setKi(options.
getKi());
89 surface->setKn(options.
getKn());
92 if (!buffer->hasNormals() && buffer.get()->numPoints() < 1000000)
94 surface->calculateSurfaceNormals();
113 std::cout << options << std::endl;
122 string pcm_name = options.
getPCM();
123 auto surface = loadPointCloud<Vec>(
options);
126 cout <<
"Failed to create pointcloud. Exiting." << endl;
138 auto meshBuffer = finalize.
apply(mesh);
143 cout <<
timestamp <<
"Finished reconstruction" << endl;
string getScanPoseFile() const
int getNumThreads() const
const kaboom::Options * options
static Timestamp timestamp
A global time stamp object for program runtime measurement.
static ModelPtr readModel(std::string filename)
static void setNumThreads(int n)
Sets the number of used threads if OpenMP is used for parallelization.
MeshBufferPtr apply(const BaseMesh< BaseVecT > &mesh)
A surface reconstruction object that implements the standard marching cubes algorithm using a octree ...
std::shared_ptr< PointBuffer > PointBufferPtr
string getInputFileName() const
Half-edge data structure implementing the BaseMesh interface.
virtual void getMesh(BaseMesh< BaseVecT > &mesh)
Returns the surface reconstruction of the given point set.
std::shared_ptr< Model > ModelPtr
void panic_unimplemented(std::string msg)
Throws a panic exception with the given error message and denotes that the exception was thrown due t...
int main(int argc, char **argv)
std::shared_ptr< PointsetSurface< BaseVecT > > PointsetSurfacePtr
float getMaxError() const
PointsetSurfacePtr< BaseVecT > loadPointCloud(const dmc_reconstruction::Options &options)
static void saveModel(ModelPtr m, std::string file)