Go to the documentation of this file.
28 template <
typename BaseVecT>
33 string pcm_name =
options.getPcm();
37 if (pcm_name ==
"PCL")
39 cout <<
timestamp <<
"Using PCL as point cloud manager is not implemented yet!" << endl;
42 else if (pcm_name ==
"STANN" || pcm_name ==
"FLANN" || pcm_name ==
"NABO" ||
43 pcm_name ==
"NANOFLANN")
45 surface = make_shared<AdaptiveKSearchSurface<BaseVecT>>(
50 cout <<
timestamp <<
"Unable to create PointCloudManager." << endl;
51 cout <<
timestamp <<
"Unknown option '" << pcm_name <<
"'." << endl;
56 surface->setKd(
options.getKd());
57 surface->setKi(
options.getKi());
58 surface->setKn(
options.getKn());
61 if (!buffer->hasNormals() && buffer.get()->numPoints() < 1000000)
63 surface->calculateSurfaceNormals();
73 std::cout << endl <<
"Received signal bit..." << endl;
80 cout <<
timestamp <<
"Saving mesh." << endl;
96 std::cout <<
options << std::endl;
104 cout <<
timestamp <<
"IO Error: Unable to parse " <<
options.getInputFileName() << endl;
109 struct sigaction sigIntHandler;
111 sigIntHandler.sa_handler =
saveMesh;
112 sigemptyset(&sigIntHandler.sa_mask);
113 sigIntHandler.sa_flags = 0;
115 sigaction(SIGINT, &sigIntHandler,
NULL);
120 cout <<
"Failed to create Buffer...exiting..." << endl;
122 model.get()->m_mesh.get()->numVertices());
128 string pcm_name =
options.getPcm();
129 auto surface = loadPointCloud<Vec>(
options, buffer);
132 cout <<
"Failed to create pointcloud. Exiting." << endl;
static void saveModel(ModelPtr m, std::string file)
void setNeighborLearningRate(float m_neighborLearningRate)
void setBasicSteps(int m_basicSteps)
void getMesh(HalfEdgeMesh< BaseVecT > &mesh)
std::shared_ptr< PointBuffer > PointBufferPtr
void setFilterChain(bool m_filterChain)
A class to handle point information with an arbitrarily large number of attribute channels....
void setAllowMiss(int m_allowMiss)
PointsetSurfacePtr< BaseVecT > loadPointCloud(const gs_reconstruction::Options &options, PointBufferPtr buffer)
void setDecreaseFactor(float m_decreaseFactor)
std::shared_ptr< PointsetSurface< BaseVecT > > PointsetSurfacePtr
void setNumBalances(int m_balances)
const kaboom::Options * options
void setWithCollapse(bool m_withCollapse)
static Timestamp timestamp
A global time stamp object for program runtime measurement.
void panic_unimplemented(std::string msg)
Throws a panic exception with the given error message and denotes that the exception was thrown due t...
void setNumSplits(int m_numSplits)
void setRuntime(int m_runtime)
std::shared_ptr< Model > ModelPtr
std::shared_ptr< MeshBuffer > MeshBufferPtr
void setDeleteLongEdgesFactor(int m_deleteLongEdgesFactor)
int main(int argc, char **argv)
void setLearningRate(float m_learningRate)
static ModelPtr readModel(std::string filename)
void setBoxFactor(float m_boxFactor)
void setInterior(bool m_interior)
void setCollapseThreshold(float m_collapseThreshold)
MeshBufferPtr apply(const BaseMesh< BaseVecT > &mesh)
Half-edge data structure implementing the BaseMesh interface.
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:24