Go to the documentation of this file.
14 #ifndef _SCL_SECURE_NO_WARNINGS
15 #define _SCL_SECURE_NO_WARNINGS
21 #include <QStringList>
24 #ifndef Q_MOC_RUN // MT : very important to avoid the error : ' Parse error at
39 #endif // FEVV_USE_CGAL
40 #ifdef FEVV_USE_OPENMESH
42 #endif // FEVV_USE_OPENMESH
45 #endif // FEVV_USE_AIF
56 #if(FEVV_USE_QT5) // see at the end of .cpp for QT4
57 Q_PLUGIN_METADATA(IID
"ScalingPlugin")
69 void init(
double _x,
double _y,
double _z)
88 std::cerr <<
"BaseWindow is null or not initialized." << std::endl;
97 template<
typename HalfedgeGraph >
98 void scale(HalfedgeGraph *_mesh)
100 std::cout <<
"Asking to Scale mesh ! " << std::endl;
102 auto pm =
get(boost::vertex_point, *_mesh);
112 std::cout <<
"Scale mesh of " << *
value_x <<
";" << *
value_y <<
";"
113 << *
value_z <<
"." << std::endl;
116 template<
typename HalfedgeGraph >
118 HalfedgeGraph *_mesh,
124 if(dial1.exec() == QDialog::Accepted)
147 #ifdef FEVV_USE_OPENMESH
152 applyHG< MeshOpenMesh >(_adapter, _mesh, pmaps_bag);
157 void apply(BaseAdapterVisu *_adapter,
161 applyHG< MeshLCC >(_adapter, _mesh, pmaps_bag);
164 void apply(BaseAdapterVisu *_adapter,
168 applyHG< MeshSurface >(_adapter, _mesh, pmaps_bag);
171 void apply(BaseAdapterVisu *_adapter,
175 applyHG< MeshPolyhedron >(_adapter, _mesh, pmaps_bag);
178 void apply(BaseAdapterVisu *_adapter,
182 applyHG< CGALPointSet >(_adapter, _mesh, pmaps_bag);
187 void apply(BaseAdapterVisu *_adapter,
191 applyHG< MeshAIF >(_adapter, _mesh, pmaps_bag);
196 void apply(BaseAdapterVisu *_adapter,
200 applyHG< PCLPointCloud >(_adapter, _mesh, pmaps_bag);
207 return QStringList() <<
"ScalingPlugin";
virtual bool isInit() const
void init(double _x, double _y, double _z)
CGAL::Point_set_3< CGALPointSetPoint > CGALPointSet
CGAL::Linear_cell_complex_for_combinatorial_map< 2, 3, CGALLCCTraits, CGALItem > MeshLCC
This class is intended to provide some standard message boxes to all plugins.
void setScale(double x, double y, double z)
pcl::PointCloud< PCLEnrichedPoint > PCLPointCloud
virtual Viewer * getViewer()
CGAL::Surface_mesh< CGALPoint > MeshSurface
SimpleWindow is a specialization of QMainWindow. This class the Main Window.
std::map< std::string, boost::any > PMapsContainer
void draw_or_redraw_mesh(HalfedgeGraph *_g, PMapsContainer *_pmaps, bool _redraw=false, bool _recomputeNT_if_redraw=false, std::string _mesh_filename=std::string(""), bool _recreateOSGobj_if_redraw=true, float _step=0.)
void calculate_scaling(Graph &g, PointMap &pm, typename GeometryTraits::Scalar scale_x, typename GeometryTraits::Scalar scale_y, typename GeometryTraits::Scalar scale_z, const GeometryTraits >)
Scale a mesh.
FEVV::PCLPointCloudPointMap::value_type get(const FEVV::PCLPointCloudPointMap &pm, FEVV::PCLPointCloudPointMap::key_type key)
Specialization of get(point_map, key) for PCLPointCloud.
SimpleViewer is a specialization of osgViewer::CompositeViewer. This class is a widget where we are a...
void onModificationParam(std::string _pluginName, BasePlugin *_plugin)
Interfaces for plugins These interfaces will be used for different plugins.
QStringList Generic_plugins() const override
OpenMesh::PolyMesh_ArrayKernelT< MyTraits > MeshOpenMesh
bool Generic_plugin(const QString &) override
virtual void apply(BaseAdapterVisu *, void *, FEVV::PMapsContainer *) override
void addParameters(BaseWindow *_window) override
void applyHG(BaseAdapterVisu *_adapter, HalfedgeGraph *_mesh, FEVV::PMapsContainer *pmaps_bag)
void scale(HalfedgeGraph *_mesh)
CGAL::Polyhedron_3< CGALKernel, CGAL::Polyhedron_items_with_id_3 > MeshPolyhedron
void getScale(double &x, double &y, double &z)
FEVV::DataStructures::AIF::AIFMesh MeshAIF