56#ifndef OPENMESH_VDPROGMESH_VDPMSYNTHESIZERVIEWERWIDGET_HH
57#define OPENMESH_VDPROGMESH_VDPMSYNTHESIZERVIEWERWIDGET_HH
65#include <OpenMesh/Core/IO/MeshIO.hh>
66#include <OpenMesh/Core/Mesh/TriMesh_ArrayKernelT.hh>
67#include <OpenMesh/Apps/QtViewer/MeshViewerWidgetT.hh>
69#include <OpenMesh/Tools/VDPM/MeshTraits.hh>
70#include <OpenMesh/Tools/VDPM/StreamingDef.hh>
71#include <OpenMesh/Tools/VDPM/ViewingParameters.hh>
72#include <OpenMesh/Tools/VDPM/VHierarchy.hh>
73#include <OpenMesh/Tools/VDPM/VFront.hh>
96typedef TriMesh_ArrayKernelT<VDPM::MeshTraits> VDPMMesh;
104 using VDPM::VHierarchy;
105 using VDPM::VHierarchyNode;
106 using VDPM::VHierarchyNodeIndex;
107 using VDPM::VHierarchyNodeHandle;
109 using VDPM::ViewingParameters;
115class VDPMSynthesizerViewerWidget :
public MeshViewerWidget
119 typedef MeshViewerWidget Base;
123 VDPMSynthesizerViewerWidget(QWidget* _parent=0,
const char* _name=0);
125 ~VDPMSynthesizerViewerWidget();
140 unsigned int n_base_vertices_;
141 unsigned int n_base_edges_;
142 unsigned int n_base_faces_;
143 unsigned int n_details_;
150 bool oriented_away(
float sin_square,
151 float distance_square,
152 float product_value);
154 bool screen_space_error(
float mue_square,
156 float distance_square,
157 float product_value);
159 void update_viewing_parameters();
161 virtual void keyPressEvent(QKeyEvent* _event);
166 virtual void draw_scene(
const std::string& _draw_mode);
170 void adaptive_refinement();
Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels ...
Definition MeshItems.hh:64
VectorT< float, 3 > Vec3f
3-float vector
Definition Vector11T.hh:769
std::vector< VHierarchyNodeHandle > VHierarchyNodeHandleContainer
Container for vertex hierarchy node handles.
Definition VHierarchyNode.hh:188
Definition MeshViewerWidget.hh:81
Definition MeshViewerWidgetT.hh:77
void open_vd_prog_mesh(const char *_filename)
open view-dependent progressive mesh
Definition VDPMSynthesizerViewerWidget.cc:388
virtual void draw_scene(const std::string &_draw_mode)
inherited drawing method
Definition VDPMSynthesizerViewerWidget.cc:105
AttribKernel::VertexHandle VertexHandle
Definition PolyMeshT.hh:139
AttribKernel::HalfedgeHandle HalfedgeHandle
Definition PolyMeshT.hh:140
Active nodes in vertex hierarchy.
Definition VFront.hh:81
Keeps the vertex hierarchy build during analyzing a progressive mesh.
Definition VHierarchy.hh:79
Handle for vertex hierarchy nodes.
Definition VHierarchyNode.hh:83
Definition ViewingParameters.hh:80