Libs/Analyze/SurfaceReconstructor.h
Surface Reconstruction Layer. More...
Classes
| Name | |
|---|---|
| class | SurfaceReconstructor | 
Detailed Description
Surface Reconstruction Layer.
The SurfaceReconstructor wraps the surface reconstruction method
Source code
#pragma once
#include <vector>
#include <string>
#include <itkPoint.h>
#include <vtkPoints.h>
#include <vtkPolyData.h>
#include <Eigen/Core>
class SurfaceReconstructorPrivate;
class SurfaceReconstructor {
 public:
  SurfaceReconstructor();
  ~SurfaceReconstructor();
  //**********************************************//
  //************Imported From Studio *************//
  void initializeReconstruction(std::vector<std::vector<itk::Point<double>>> local_pts,
                                std::vector<std::vector<itk::Point<double>>> global_pts,
                                std::vector<std::string> distance_transforms,
                                double maxAngle,
                                float decimationPercent,
                                int numClusters);
  bool hasDenseMean();
  void setMean(vtkSmartPointer<vtkPoints> sparseMean,
               vtkSmartPointer<vtkPolyData> denseMean,
               std::vector<bool> goodPoints);
  void writeMeanInfo(std::string baseName);
  void readMeanInfo(std::string dense,
                    std::string sparse, std::string goodPoints);
  void resetReconstruct();
  //**********************************************//
  void set_number_of_clusters(int num_clusters);
  void set_normal_angle(double angle);
  void set_decimation_percent(double decimation);
  bool get_surface_reconstruction_available();
  vtkSmartPointer<vtkPolyData> build_mesh(const Eigen::VectorXd& shape);
 private:
  std::unique_ptr<SurfaceReconstructorPrivate> private_;
  bool surface_reconstruction_available_ = false;
  int num_clusters_ = -1;
  double decimation_percent_ = 0.3f;
  double normal_angle_ = 45.0f;
};
Updated on 2024-03-17 at 12:58:44 -0600