Raw File
geometry_morph.h
#pragma once

#include "qglviewer/qglviewer.h"
#include "SurfaceMeshPlugins.h"
#include "SurfaceMeshHelper.h"
#include "geometry_morph_widget.h"

#include "NURBSCurve.h"
//#include "../topo-blend/topo/DynamicGraph.h"
#include "StructureGraph.h"
#include "StructureNode.h"
//#include "CurveskelHelper.h"


class geometry_morph : public SurfaceMeshModePlugin{
    Q_OBJECT
    Q_INTERFACES(ModePlugin)

public:
	geometry_morph();

	/// Functions part of the EditPlugin system
	void create();
	void destroy(){}

	void decorate();

	bool keyPressEvent( QKeyEvent* event );

	public slots:
		void setSceneBounds();
		
		void loadSourceModel();
		void loadTargetModel();

		void loadSourceGraph();
		void loadTargetGraph();

		void doMorph();

signals:

private:
	geometry_morph_widget * widget;

public:
	QVector<SurfaceMeshModel*> sourceModels;
	QVector<SurfaceMeshModel*> targetModels;

	QVector<Structure::Graph> sourceGraphs;
	QVector<Structure::Graph> targetGraphs;

	std::vector<SurfaceMeshModel*> resampledSourceModels;
	std::vector<SurfaceMeshModel*> resampledTargetModels;

	QVector<SurfaceMeshModel*> blendedModels;
};
back to top