Inshaping: include/Inshaper.h Source File

Inshaping

Inshaping  0.1
Inshaper.h
Go to the documentation of this file.
1 #pragma once
2 #include<RigidRigsteration.h>
3 #include<FileIO.h>
4 #include<Setting.h>
5 #include<TriSparse.h>
6 #include<AfterProcess.h>
7 #include<iostream>
8 #include<Benchmark.h>
9 #include<Normal.h>
10 #include<Poisson.h>
11 #include<Common.h>
12 
13 namespace Inshape
14 {
17  /*
18  Input:
19  MyMeshPtr head;
20  pcl::PointCloud<pcl::PointXYZ>::Ptr face;
21 
22 
23  pcl::PointCloud<pcl::PointXYZ>::Ptr body;
24 
25 
26  pcl::PointCloud<pcl::PointXYZ>::Ptr subBody;
27  pcl::PointCloud<pcl::PointXYZ>::Ptr subHead;
28 
29  Param param;
30 
31  Output:
32  MyMeshPtr merged;
33 
34  */
35 
36  class Inshaper
37  {
38  private:
39  MyMeshPtr head;
40  pcl::PointCloud<pcl::PointXYZ>::Ptr face;
41 
42 
43  pcl::PointCloud<pcl::PointXYZ>::Ptr body;
44 
45 
46  pcl::PointCloud<pcl::PointXYZ>::Ptr subBody;
47  pcl::PointCloud<pcl::PointXYZ>::Ptr subHead;
48 
49  Param param;
50 
51 
52  bool preAligned; //�Ƿ�Ԥ�ȶ�׼�� true ����Ӧ�ø�����׼
53  public:
54 
56  head(nullptr),
57  face(nullptr),
58  body(nullptr),
59  subBody(nullptr),
60  subHead(nullptr),
61  preAligned(false)
62  {
63 
64  }
65 
66  void setMatch
67  (
68  pcl::PointCloud<pcl::PointXYZ>::Ptr& _subBody,
69  pcl::PointCloud<pcl::PointXYZ>::Ptr& _subHead)
70  {
71  subBody = _subBody;
72  subHead = _subHead;
73  }
74 
75  //call the function if you don't want to use match to apply rigid registration
76  void unSetMatch()
77  {
78  subBody = nullptr;
79  subHead = nullptr;
80  }
81 
82 
83  void setInputBody(pcl::PointCloud<pcl::PointXYZ>::Ptr _body)
84  {
85  body = _body;
86  }
87 
88  void setInputTemplate(MyMeshPtr& _head,pcl::PointCloud<pcl::PointXYZ>::Ptr _face)
89  {
90  head = _head;
91  face = _face;
92  }
93 
94 
95  void setParam(Param& _param)
96  {
97  param = _param;
98  }
99 
100  //set preAligned to be true if rigid registration is not needed
101  void setPreAligned(bool _preAligned)
102  {
103  preAligned = _preAligned;
104  }
105 
106 
108 
109  };
112 }
void setMatch(pcl::PointCloud< pcl::PointXYZ >::Ptr &_subBody, pcl::PointCloud< pcl::PointXYZ >::Ptr &_subHead)
Definition: Inshaper.h:67
Inshaper()
Definition: Inshaper.h:55
Definition: AfterProcess.h:9
void setPreAligned(bool _preAligned)
Definition: Inshaper.h:101
void unSetMatch()
Definition: Inshaper.h:76
MyMeshPtr getOutputMesh()
void setInputBody(pcl::PointCloud< pcl::PointXYZ >::Ptr _body)
Definition: Inshaper.h:83
void setParam(Param &_param)
Definition: Inshaper.h:95
void setInputTemplate(MyMeshPtr &_head, pcl::PointCloud< pcl::PointXYZ >::Ptr _face)
Definition: Inshaper.h:88
Definition: Inshaper.h:36
Definition: Setting.h:33
std::shared_ptr< MyMesh > MyMeshPtr
Definition: Common.h:24
Generated by   doxygen 1.8.14