From c54c85768a248386d5c120dced5d7e78fb33e1dd Mon Sep 17 00:00:00 2001 From: granzuglia Date: Sun, 22 May 2016 15:40:41 +0000 Subject: [PATCH] - fixed some minor bugs --- wrap/gl/gl_mesh_attributes_info.h | 14 ++++++++++++++ .../gl_mesh_attributes_multi_viewer_bo_manager.h | 10 +++++++++- wrap/io_trimesh/import_obj.h | 6 ++++-- ..._safe_mesh_attributes_multi_viewer_bo_manager.h | 2 +- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/wrap/gl/gl_mesh_attributes_info.h b/wrap/gl/gl_mesh_attributes_info.h index 5ae163a7..8fbd46ba 100644 --- a/wrap/gl/gl_mesh_attributes_info.h +++ b/wrap/gl/gl_mesh_attributes_info.h @@ -107,6 +107,20 @@ namespace vcg typedef unsigned int PRIMITIVE_MODALITY_MASK; + static PRIMITIVE_MODALITY_MASK addPrimitiveModality(const PRIMITIVE_MODALITY_MASK& mask,PRIMITIVE_MODALITY newpm) + { + PRIMITIVE_MODALITY_MASK res(mask); + res = res | newpm; + return res; + } + + static PRIMITIVE_MODALITY_MASK removePrimitiveModality(const PRIMITIVE_MODALITY_MASK& mask,PRIMITIVE_MODALITY removedpm) + { + PRIMITIVE_MODALITY_MASK res(mask); + res = res & ~(removedpm); + return res; + } + template class RenderingAtts { diff --git a/wrap/gl/gl_mesh_attributes_multi_viewer_bo_manager.h b/wrap/gl/gl_mesh_attributes_multi_viewer_bo_manager.h index 233b8c46..3cff7f51 100644 --- a/wrap/gl/gl_mesh_attributes_multi_viewer_bo_manager.h +++ b/wrap/gl/gl_mesh_attributes_multi_viewer_bo_manager.h @@ -44,14 +44,21 @@ namespace vcg { struct PerViewPerRenderingModalityGLOptions { + Color4b _permesh_color; + float _perpoint_pointsize; bool _perpoint_pointsmooth; bool _perpoint_pointattenuation; + bool _use_perpoint_fixedcolor; Color4b _perpoint_fixedcolor; float _peredge_linesize; + bool _use_peredge_fixedcolor; Color4b _peredge_fixedcolor; + bool _use_perface_fixedcolor; + Color4b _perface_fixedcolor; + PerViewPerRenderingModalityGLOptions() :_perpoint_pointsize(1.0f),_perpoint_pointsmooth(false),_perpoint_pointattenuation(true),_perpoint_fixedcolor(Color4b(Color4b::White)),_peredge_linesize(1.0f),_peredge_fixedcolor(Color4b(Color4b::DarkGray)) @@ -72,6 +79,7 @@ namespace vcg return (*this); } + private: void copyData(const PerViewPerRenderingModalityGLOptions& opts) { @@ -141,7 +149,7 @@ namespace vcg } } - bool getPerViewInfo(UNIQUE_VIEW_ID_TYPE viewid,PRIMITIVE_MODALITY_MASK* mask,RendAtts* rendatts,vcg::PerViewPerRenderingModalityGLOptions* opts) + bool getPerViewInfo(UNIQUE_VIEW_ID_TYPE viewid,PRIMITIVE_MODALITY_MASK* mask,RendAtts* rendatts,GL_OPTIONS_DERIVED_TYPE* opts) { typename ViewsMap::iterator it = _perviewreqatts.find(viewid); if (it == _perviewreqatts.end()) diff --git a/wrap/io_trimesh/import_obj.h b/wrap/io_trimesh/import_obj.h index be9abcfc..9bd421e0 100644 --- a/wrap/io_trimesh/import_obj.h +++ b/wrap/io_trimesh/import_obj.h @@ -692,8 +692,10 @@ namespace vcg { } // set faux edge flags according to internals faces - if (indexedFaces[i].edge[j]) m.face[i].SetF(j); - else m.face[i].ClearF(j); + if (indexedFaces[i].edge[j]) + m.face[i].SetF(j); + else + m.face[i].ClearF(j); } if (HasPerFaceNormal(m)) diff --git a/wrap/qt/qt_thread_safe_mesh_attributes_multi_viewer_bo_manager.h b/wrap/qt/qt_thread_safe_mesh_attributes_multi_viewer_bo_manager.h index 04e7e50a..ed84ae7c 100644 --- a/wrap/qt/qt_thread_safe_mesh_attributes_multi_viewer_bo_manager.h +++ b/wrap/qt/qt_thread_safe_mesh_attributes_multi_viewer_bo_manager.h @@ -49,7 +49,7 @@ namespace vcg vcg::NotThreadSafeGLMeshAttributesMultiViewerBOManager::meshAttributesUpdated(hasmeshconnectivitychanged,changedrendatts); } - bool getPerViewInfo(UNIQUE_VIEW_ID_TYPE viewid,vcg::GLMeshAttributesInfo::PRIMITIVE_MODALITY_MASK* mask,vcg::GLMeshAttributesInfo::RendAtts* rendatts,vcg::PerViewPerRenderingModalityGLOptions* opts) + bool getPerViewInfo(UNIQUE_VIEW_ID_TYPE viewid,vcg::GLMeshAttributesInfo::PRIMITIVE_MODALITY_MASK* mask,vcg::GLMeshAttributesInfo::RendAtts* rendatts,GL_OPTIONS_DERIVED_TYPE* opts) { QReadLocker locker(&_lock); return vcg::NotThreadSafeGLMeshAttributesMultiViewerBOManager::getPerViewInfo(viewid,mask,rendatts,opts);