Developer Documentation
ProgViewerWidget Class Reference
Inheritance diagram for ProgViewerWidget:
MeshViewerWidgetT< MyMesh > QGLViewerWidget

Classes

struct  PMInfo
 

Public Types

typedef MeshViewerWidgetProgBase Base
 
typedef ProgViewerWidget This
 
- Public Types inherited from MeshViewerWidgetT< MyMesh >
typedef MyMesh Mesh
 
typedef OpenMesh::StripifierT< MeshMyStripifier
 
- Public Types inherited from QGLViewerWidget
typedef QGLWidget Super
 

Public Member Functions

 ProgViewerWidget (QWidget *_parent=0)
 default constructor More...
 
 ~ProgViewerWidget ()
 destructor More...
 
void open_prog_mesh (const char *_filename)
 open progressive mesh More...
 
- Public Member Functions inherited from MeshViewerWidgetT< MyMesh >
 MeshViewerWidgetT (QWidget *_parent=0)
 default constructor More...
 
 ~MeshViewerWidgetT ()
 destructor More...
 
virtual bool open_mesh (const char *_filename, OpenMesh::IO::Options _opt)
 open mesh More...
 
virtual bool open_texture (const char *_filename)
 load texture More...
 
bool set_texture (QImage &_texsrc)
 
void enable_strips ()
 
void disable_strips ()
 
Meshmesh ()
 
const Meshmesh () const
 
- Public Member Functions inherited from QGLViewerWidget
 QGLViewerWidget (QWidget *_parent=0)
 
void set_scene_pos (const OpenMesh::Vec3f &_center, float _radius)
 
void view_all ()
 
QAction * add_draw_mode (const std::string &_s)
 add draw mode to popup menu, and return the QAction created More...
 
void del_draw_mode (const std::string &_s)
 delete draw mode from popup menu More...
 
const std::string & current_draw_mode () const
 
float radius () const
 
const OpenMesh::Vec3fcenter () const
 
const GLdouble * modelview_matrix () const
 
const GLdouble * projection_matrix () const
 
float fovy () const
 
QAction * findAction (const char *name)
 
void addAction (QAction *action, const char *name)
 
void removeAction (const char *name)
 
void removeAction (QAction *action)
 

Protected Slots

void animate (void)
 

Private Types

typedef std::vector< PMInfoPMInfoContainer
 
typedef PMInfoContainer::iterator PMInfoIter
 

Private Member Functions

void refine (unsigned int _n)
 refine mesh up to _n vertices More...
 
void coarsen (unsigned int _n)
 coarsen mesh down to _n vertices More...
 
virtual void keyPressEvent (QKeyEvent *_event) override
 

Private Attributes

QTimer * timer_
 
bool animateRefinement_
 
PMInfoContainer pminfos_
 
PMInfoIter pmiter_
 
size_t n_base_vertices_
 
size_t n_base_faces_
 
size_t n_detail_vertices_
 
size_t n_max_vertices_
 

Additional Inherited Members

- Protected Member Functions inherited from MeshViewerWidgetT< MyMesh >
virtual void draw_scene (const std::string &_draw_mode) override
 inherited drawing method More...
 
virtual void draw_openmesh (const std::string &_drawmode)
 draw the mesh More...
 
void glVertex (const typename Mesh::VertexHandle _vh)
 
void glVertex (const typename Mesh::Point &_p)
 
void glNormal (const typename Mesh::VertexHandle _vh)
 
void glNormal (const typename Mesh::FaceHandle _fh)
 
void glTexCoord (const typename Mesh::VertexHandle _vh)
 
void glColor (const typename Mesh::VertexHandle _vh)
 
void glColor (const typename Mesh::FaceHandle _fh)
 
void glMaterial (const typename Mesh::FaceHandle _fh, int _f=GL_FRONT_AND_BACK, int _m=GL_DIFFUSE)
 
void compute_strips (void)
 
virtual void keyPressEvent (QKeyEvent *_event) override
 
- Protected Member Functions inherited from QGLViewerWidget
virtual void draw_scene (const std::string &_draw_mode)
 
double performance (void)
 
void setDefaultMaterial (void)
 
void setDefaultLight (void)
 
virtual void mousePressEvent (QMouseEvent *)
 
virtual void mouseReleaseEvent (QMouseEvent *)
 
virtual void mouseMoveEvent (QMouseEvent *)
 
virtual void wheelEvent (QWheelEvent *)
 
virtual void keyPressEvent (QKeyEvent *)
 
- Protected Attributes inherited from MeshViewerWidgetT< MyMesh >
bool f_strips_
 
GLuint tex_id_
 
GLint tex_mode_
 
OpenMesh::IO::Options opt_
 
Mesh mesh_
 
MyStripifier strips_
 
bool use_color_
 
bool show_vnormals_
 
bool show_fnormals_
 
float normal_scale_
 
OpenMesh::FPropHandleT< typename Mesh::Pointfp_normal_base_
 

Detailed Description

Definition at line 85 of file ProgViewerWidget.hh.

Member Typedef Documentation

◆ Base

◆ PMInfoContainer

typedef std::vector<PMInfo> ProgViewerWidget::PMInfoContainer
private

Definition at line 132 of file ProgViewerWidget.hh.

◆ PMInfoIter

typedef PMInfoContainer::iterator ProgViewerWidget::PMInfoIter
private

Definition at line 133 of file ProgViewerWidget.hh.

◆ This

Definition at line 92 of file ProgViewerWidget.hh.

Constructor & Destructor Documentation

◆ ProgViewerWidget()

ProgViewerWidget::ProgViewerWidget ( QWidget *  _parent = 0)
inlineexplicit

default constructor

Definition at line 97 of file ProgViewerWidget.hh.

◆ ~ProgViewerWidget()

ProgViewerWidget::~ProgViewerWidget ( )
inline

destructor

Definition at line 111 of file ProgViewerWidget.hh.

Member Function Documentation

◆ animate

void ProgViewerWidget::animate ( void  )
protectedslot

Definition at line 316 of file ProgViewerWidget.cc.

◆ coarsen()

void ProgViewerWidget::coarsen ( unsigned int  _n)
private

coarsen mesh down to _n vertices

Definition at line 203 of file ProgViewerWidget.cc.

◆ keyPressEvent()

void ProgViewerWidget::keyPressEvent ( QKeyEvent *  _event)
overrideprivatevirtual

Reimplemented from MeshViewerWidgetT< MyMesh >.

Definition at line 229 of file ProgViewerWidget.cc.

◆ open_prog_mesh()

void ProgViewerWidget::open_prog_mesh ( const char *  _filename)

open progressive mesh

Definition at line 76 of file ProgViewerWidget.cc.

◆ refine()

void ProgViewerWidget::refine ( unsigned int  _n)
private

refine mesh up to _n vertices

Definition at line 178 of file ProgViewerWidget.cc.

Member Data Documentation

◆ animateRefinement_

bool ProgViewerWidget::animateRefinement_
private

Definition at line 144 of file ProgViewerWidget.hh.

◆ n_base_faces_

size_t ProgViewerWidget::n_base_faces_
private

Definition at line 147 of file ProgViewerWidget.hh.

◆ n_base_vertices_

size_t ProgViewerWidget::n_base_vertices_
private

Definition at line 147 of file ProgViewerWidget.hh.

◆ n_detail_vertices_

size_t ProgViewerWidget::n_detail_vertices_
private

Definition at line 147 of file ProgViewerWidget.hh.

◆ n_max_vertices_

size_t ProgViewerWidget::n_max_vertices_
private

Definition at line 148 of file ProgViewerWidget.hh.

◆ pminfos_

PMInfoContainer ProgViewerWidget::pminfos_
private

Definition at line 145 of file ProgViewerWidget.hh.

◆ pmiter_

PMInfoIter ProgViewerWidget::pmiter_
private

Definition at line 146 of file ProgViewerWidget.hh.

◆ timer_

QTimer* ProgViewerWidget::timer_
private

Definition at line 125 of file ProgViewerWidget.hh.


The documentation for this class was generated from the following files: