surface_subdivision.h 1.29 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#ifndef _SURFACE_SUBDIVISION_PLUGIN_H_
#define _SURFACE_SUBDIVISION_PLUGIN_H_

#include "plugin_processing.h"

#include "dialog_surface_subdivision.h"

namespace CGoGN
{

namespace SCHNApps
{

class Surface_Subdivision_Plugin : public Plugin
{
	Q_OBJECT
	Q_INTERFACES(CGoGN::SCHNApps::Plugin)
Sylvain Thery's avatar
Sylvain Thery committed
18 19 20
#if CGOGN_QT_DESIRED_VERSION == 5
	Q_PLUGIN_METADATA(IID "CGoGN.SCHNapps.Plugin")
#endif
21 22 23 24 25 26 27 28
public:
	Surface_Subdivision_Plugin()
	{}

	~Surface_Subdivision_Plugin()
	{}

	virtual bool enable();
29
	virtual void disable();
30 31 32 33

private slots:
	void openSubdivisionDialog();
	void subdivideFromDialog();
34
	void schnappsClosing();
35 36 37 38

public slots:
	void loopSubdivision(
		const QString& mapName,
39 40
		const QString& positionAttributeName = "position");

41 42
	void CCSubdivision(
		const QString& mapName,
43 44 45 46 47 48 49
		const QString& positionAttributeName = "position",
		bool interp = false );

	void DoSabinSubdivision(
		const QString& mapName,
		const QString& positionAttributeName = "position");

50 51
	void trianguleFaces(
		const QString& mapName,
52 53 54 55 56
		const QString& positionAttributeName = "position");

	void quadranguleFaces(
		const QString& mapName,
		const QString& positionAttributeName = "position");
57 58 59 60 61 62 63 64 65 66 67 68

private:
	Dialog_Surface_Subdivision* m_subdivisionDialog;

	QAction* m_subdivisionAction;
};

} // namespace SCHNApps

} // namespace CGoGN

#endif