// This source code is property of the Computer Graphics and Visualization // chair of the TU Dresden. Do not distribute! // Copyright (C) CGV TU Dresden - All Rights Reserved #pragma once #include #include #include #include "Registration.h" #include class Viewer : public nse::gui::AbstractViewer { public: Viewer(); void drawContents(); virtual bool resizeEvent(const Eigen::Vector2i&); private: void SetupGUI(); void MeshUpdated(); void BuildCorrVBOs(); nse::math::BoundingBox meshBbox, expandedBbox; nanogui::ComboBox* shadingBtn; nanogui::CheckBox* chkRenderTextureMap; nanogui::CheckBox* chkRenderSecondMesh; HEMesh polymesh; MeshRenderer renderer; bool hasParametrization = false; Eigen::Matrix4f texMapProjectionMatrix; Eigen::Affine3f secondMeshTransform; std::mt19937 rnd; std::vector correspondences; size_t corrCount; nse::gui::GLBuffer corrPositions; nse::gui::GLVertexArray corrVAO; };