v2.0.0
Loading...
Searching...
No Matches
layoutmaker.h
Go to the documentation of this file.
1//=============================================================================================================
36
37#ifndef LAYOUTMAKER_H
38#define LAYOUTMAKER_H
39
40//=============================================================================================================
41// INCLUDES
42//=============================================================================================================
43
44#include "utils_global.h"
45
46#include <vector>
47#include <string>
48#include <fstream>
49
50//=============================================================================================================
51// QT INCLUDES
52//=============================================================================================================
53
54#include <QVector>
55#include <QList>
56#include <QStringList>
57#include <QFile>
58
59//=============================================================================================================
60// EIGEN INCLUDES
61//=============================================================================================================
62
63#include <Eigen/Core>
64
65//=============================================================================================================
66// DEFINE NAMESPACE MNELIB
67//=============================================================================================================
68
69namespace UTILSLIB
70{
71
72//=============================================================================================================
73// TYPEDEFS
74//=============================================================================================================
75
77struct fitUserRec {
78 Eigen::MatrixXf rr;
79 int np;
80 int report;
81};
83
84//=============================================================================================================
91{
92public:
93
94 //=========================================================================================================
111 static bool makeLayout(const QList<QVector<float> > &inputPoints,
112 QList<QVector<float> > &outputPoints,
113 const QStringList &names,
114 QFile &outFile,
115 bool do_fit,
116 float prad,
117 float w,
118 float h,
119 bool writeFile = false,
120 bool mirrorXAxis = false,
121 bool mirrorYAxis = false);
122
123 //=========================================================================================================
140 static bool makeLayout(const std::vector<std::vector<float> > &inputPoints,
141 std::vector<std::vector<float> > &outputPoints,
142 const std::vector<std::string> &names,
143 const std::string& outFilePath,
144 bool do_fit,
145 float prad,
146 float w,
147 float h,
148 bool writeFile = false,
149 bool mirrorXAxis = false,
150 bool mirrorYAxis = false);
151
152private:
153 static void sphere_coord(float x,
154 float y,
155 float z,
156 float *r,
157 float *theta,
158 float *phi);
159};
160} //NAMESPACE
161
162#endif // LAYOUTMAKER_H
utils library export/import macros.
#define UTILSSHARED_EXPORT
Shared utilities (I/O helpers, spectral analysis, layout management, warp algorithms).
fitUserRec * fitUser
Definition layoutmaker.h:82
Workspace for sphere-fitting used by the layout maker, holding 3-D point coordinates and fit paramete...
Definition layoutmaker.h:77
Eigen::MatrixXf rr
Definition layoutmaker.h:78
Make layout files from given 3D points.
Definition layoutmaker.h:91
static bool makeLayout(const QList< QVector< float > > &inputPoints, QList< QVector< float > > &outputPoints, const QStringList &names, QFile &outFile, bool do_fit, float prad, float w, float h, bool writeFile=false, bool mirrorXAxis=false, bool mirrorYAxis=false)