51#ifndef OPENMESH_VDPROGMESH_VDPMSYNTHESIZERVIEWERWIDGET_HH
52#define OPENMESH_VDPROGMESH_VDPMSYNTHESIZERVIEWERWIDGET_HH
60#include <OpenMesh/Core/IO/MeshIO.hh>
61#include <OpenMesh/Core/Mesh/TriMesh_ArrayKernelT.hh>
62#include <OpenMesh/Apps/QtViewer/MeshViewerWidgetT.hh>
64#include <OpenMesh/Tools/VDPM/MeshTraits.hh>
65#include <OpenMesh/Tools/VDPM/StreamingDef.hh>
66#include <OpenMesh/Tools/VDPM/ViewingParameters.hh>
67#include <OpenMesh/Tools/VDPM/VHierarchy.hh>
68#include <OpenMesh/Tools/VDPM/VFront.hh>
82typedef TriMesh_ArrayKernelT<VDPM::MeshTraits> VDPMMesh;
90 using VDPM::VHierarchy;
91 using VDPM::VHierarchyNode;
92 using VDPM::VHierarchyNodeIndex;
93 using VDPM::VHierarchyNodeHandle;
95 using VDPM::ViewingParameters;
126 unsigned int n_base_vertices_;
127 unsigned int n_base_edges_;
128 unsigned int n_base_faces_;
129 unsigned int n_details_;
136 bool oriented_away(
float sin_square,
137 float distance_square,
138 float product_value);
140 bool screen_space_error(
float mue_square,
142 float distance_square,
143 float product_value);
145 void update_viewing_parameters();
147 virtual void keyPressEvent(QKeyEvent* _event)
override;
152 virtual void draw_scene(
const std::string& _draw_mode)
override;
156 void adaptive_refinement();
Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels ...
Definition: MeshItems.hh:59
std::vector< VHierarchyNodeHandle > VHierarchyNodeHandleContainer
Container for vertex hierarchy node handles.
Definition: VHierarchyNode.hh:183
Definition: MeshViewerWidget.hh:76
Definition: MeshViewerWidgetT.hh:71
Definition: VDPMSynthesizerViewerWidget.hh:102
void open_vd_prog_mesh(const char *_filename)
open view-dependent progressive mesh
Definition: VDPMSynthesizerViewerWidget.cc:383
virtual void draw_scene(const std::string &_draw_mode) override
inherited drawing method
Definition: VDPMSynthesizerViewerWidget.cc:100
Kernel::VertexHandle VertexHandle
Handle for referencing the corresponding item.
Definition: PolyMeshT.hh:136
Kernel::HalfedgeHandle HalfedgeHandle
Scalar type.
Definition: PolyMeshT.hh:137
Active nodes in vertex hierarchy.
Definition: VFront.hh:76
Keeps the vertex hierarchy build during analyzing a progressive mesh.
Definition: VHierarchy.hh:74
Handle for vertex hierarchy nodes
Definition: VHierarchyNode.hh:78
Definition: ViewingParameters.hh:75