This commit is contained in:
Jan Möbius
2019-05-28 13:39:03 +02:00
parent bd0901caa8
commit 87d2161c5d
26 changed files with 85 additions and 72 deletions

View File

@@ -95,7 +95,11 @@ public:
public: public:
/// default constructor /// default constructor
ProgViewerWidget(QWidget* _parent=0) ProgViewerWidget(QWidget* _parent=0)
: MeshViewerWidget(_parent) : MeshViewerWidget(_parent),
n_base_vertices_(0),
n_base_faces_(0),
n_detail_vertices_(0),
n_max_vertices_(0)
{ {
timer_ = new QTimer(this); timer_ = new QTimer(this);

View File

@@ -74,7 +74,7 @@ public:
typedef QGLWidget Super; typedef QGLWidget Super;
// Default constructor. // Default constructor.
QGLViewerWidget( QWidget* _parent=0 ); explicit QGLViewerWidget( QWidget* _parent=0 );
// //
QGLViewerWidget( QGLFormat& _fmt, QWidget* _parent=0 ); QGLViewerWidget( QGLFormat& _fmt, QWidget* _parent=0 );

View File

@@ -80,7 +80,7 @@ public:
~MeshViewerWidget() {} ~MeshViewerWidget() {}
/// open mesh /// open mesh
inline bool open_mesh(const char* _filename, OpenMesh::IO::Options _opt) inline bool open_mesh(const char* _filename, OpenMesh::IO::Options _opt) override
{ {
if ( Base::open_mesh( _filename, _opt ) ) if ( Base::open_mesh( _filename, _opt ) )
{ {

View File

@@ -78,7 +78,14 @@ namespace OpenMesh {
//== IMPLEMENTATION ========================================================== //== IMPLEMENTATION ==========================================================
VDPMSynthesizerViewerWidget::VDPMSynthesizerViewerWidget(QWidget* _parent, const char* _name) VDPMSynthesizerViewerWidget::VDPMSynthesizerViewerWidget(QWidget* _parent, const char* _name)
: MeshViewerWidget(_parent) : MeshViewerWidget(_parent),
kappa_square_(0.0),
adaptive_mode_(false),
n_base_vertices_(0),
n_base_edges_(0),
n_base_faces_(0),
n_details_(0)
{ {
adaptive_mode_ = true; adaptive_mode_ = true;
} }

View File

@@ -252,7 +252,7 @@ namespace OMFormat {
PropertyName( ) { } PropertyName( ) { }
PropertyName( const std::string& _name ) { *this = _name; } explicit PropertyName( const std::string& _name ) { *this = _name; }
bool is_valid() const { return is_valid( size() ); } bool is_valid() const { return is_valid( size() ); }

View File

@@ -84,7 +84,7 @@ class ExporterT : public BaseExporter
public: public:
// Constructor // Constructor
ExporterT(const Mesh& _mesh) : mesh_(_mesh) {} explicit ExporterT(const Mesh& _mesh) : mesh_(_mesh) {}
// get vertex data // get vertex data

View File

@@ -89,7 +89,7 @@ public:
typedef std::vector<VertexHandle> VHandles; typedef std::vector<VertexHandle> VHandles;
ImporterT(Mesh& _mesh) : mesh_(_mesh), halfedgeNormals_() {} explicit ImporterT(Mesh& _mesh) : mesh_(_mesh), halfedgeNormals_() {}
virtual VertexHandle add_vertex(const Vec3f& _point) override virtual VertexHandle add_vertex(const Vec3f& _point) override

View File

@@ -387,10 +387,12 @@ bool _OMReader_::read_binary_vertex_chunk(std::istream &_is, BaseImporter &_bi,
default: // skip unknown chunks default: // skip unknown chunks
{ {
omerr() << "Unknown chunk type ignored!\n"; omerr() << "Unknown chunk type ignored!\n";
size_t size_of = header_.n_vertices_ * OMFormat::vector_size(chunk_header_); size_t chunk_size = header_.n_vertices_ * OMFormat::vector_size(chunk_header_);
_is.ignore(size_of); _is.ignore(chunk_size);
bytes_ += size_of; bytes_ += chunk_size;
break;
} }
} }
// all chunk data has been read..?! // all chunk data has been read..?!
@@ -505,9 +507,9 @@ bool _OMReader_::read_binary_face_chunk(std::istream &_is, BaseImporter &_bi, Op
default: // skip unknown chunks default: // skip unknown chunks
{ {
omerr() << "Unknown chunk type ignore!\n"; omerr() << "Unknown chunk type ignore!\n";
size_t size_of = OMFormat::chunk_data_size(header_, chunk_header_); size_t chunk_size = OMFormat::chunk_data_size(header_, chunk_header_);
_is.ignore(size_of); _is.ignore(chunk_size);
bytes_ += size_of; bytes_ += chunk_size;
} }
} }
return fidx == header_.n_faces_; return fidx == header_.n_faces_;
@@ -549,9 +551,9 @@ bool _OMReader_::read_binary_edge_chunk(std::istream &_is, BaseImporter &_bi, Op
default: default:
// skip unknown type // skip unknown type
size_t size_of = OMFormat::chunk_data_size(header_, chunk_header_); size_t chunk_size = OMFormat::chunk_data_size(header_, chunk_header_);
_is.ignore(size_of); _is.ignore(chunk_size);
bytes_ += size_of; bytes_ += chunk_size;
} }
return b < bytes_; return b < bytes_;
@@ -627,9 +629,9 @@ bool _OMReader_::read_binary_halfedge_chunk(std::istream &_is, BaseImporter &_bi
default: default:
// skip unknown chunk // skip unknown chunk
omerr() << "Unknown chunk type ignored!\n"; omerr() << "Unknown chunk type ignored!\n";
size_t size_of = OMFormat::chunk_data_size(header_, chunk_header_); size_t chunk_size = OMFormat::chunk_data_size(header_, chunk_header_);
_is.ignore(size_of); _is.ignore(chunk_size);
bytes_ += size_of; bytes_ += chunk_size;
} }
return b < bytes_; return b < bytes_;
@@ -655,9 +657,9 @@ bool _OMReader_::read_binary_mesh_chunk(std::istream &_is, BaseImporter &_bi, Op
default: default:
// skip unknown chunk // skip unknown chunk
size_t size_of = OMFormat::chunk_data_size(header_, chunk_header_); size_t chunk_size = OMFormat::chunk_data_size(header_, chunk_header_);
_is.ignore(size_of); _is.ignore(chunk_size);
bytes_ += size_of; bytes_ += chunk_size;
} }
return b < bytes_; return b < bytes_;

View File

@@ -120,7 +120,7 @@ private:
{ {
ValueType type; ValueType type;
const BaseProperty* property; const BaseProperty* property;
CustomProperty(const BaseProperty* const _p):type(Unsupported),property(_p){} explicit CustomProperty(const BaseProperty* const _p):type(Unsupported),property(_p){}
}; };
const char* nameOfType_[12]; const char* nameOfType_[12];

View File

@@ -340,10 +340,10 @@ public:
void clean_keep_reservation(); void clean_keep_reservation();
// --- number of items --- // --- number of items ---
size_t n_vertices() const { return vertices_.size(); } size_t n_vertices() const override { return vertices_.size(); }
size_t n_halfedges() const { return 2*edges_.size(); } size_t n_halfedges() const override { return 2*edges_.size(); }
size_t n_edges() const { return edges_.size(); } size_t n_edges() const override { return edges_.size(); }
size_t n_faces() const { return faces_.size(); } size_t n_faces() const override { return faces_.size(); }
bool vertices_empty() const { return vertices_.empty(); } bool vertices_empty() const { return vertices_.empty(); }
bool halfedges_empty() const { return edges_.empty(); } bool halfedges_empty() const { return edges_.empty(); }
@@ -697,7 +697,7 @@ public:
typedef StatusSetT<Handle> Base; typedef StatusSetT<Handle> Base;
public: public:
AutoStatusSetT(ArrayKernel& _kernel) explicit AutoStatusSetT(ArrayKernel& _kernel)
: StatusSetT<Handle>(_kernel, _kernel.pop_bit_mask(Handle())) : StatusSetT<Handle>(_kernel, _kernel.pop_bit_mask(Handle()))
{ /*assert(size() == 0);*/ } //the set should be empty on creation { /*assert(size() == 0);*/ } //the set should be empty on creation

View File

@@ -1121,7 +1121,7 @@ public:
typedef ITER_TYPE iterator; typedef ITER_TYPE iterator;
typedef ITER_TYPE const_iterator; typedef ITER_TYPE const_iterator;
EntityRange(CONTAINER_TYPE &container) : container_(container) {} explicit EntityRange(CONTAINER_TYPE &container) : container_(container) {}
ITER_TYPE begin() const { return (container_.*begin_fn)(); } ITER_TYPE begin() const { return (container_.*begin_fn)(); }
ITER_TYPE end() const { return (container_.*end_fn)(); } ITER_TYPE end() const { return (container_.*end_fn)(); }

View File

@@ -230,7 +230,7 @@ public:
public: public:
PropertyT(const std::string& _name = "<unknown>") explicit PropertyT(const std::string& _name = "<unknown>")
: BaseProperty(_name) : BaseProperty(_name)
{ } { }
@@ -394,7 +394,7 @@ public:
public: public:
PropertyT(const std::string& _name = "<unknown>") explicit PropertyT(const std::string& _name = "<unknown>")
: BaseProperty(_name) : BaseProperty(_name)
{ } { }

View File

@@ -322,21 +322,21 @@ private:
#ifndef DOXY_IGNORE_THIS #ifndef DOXY_IGNORE_THIS
struct Reserve struct Reserve
{ {
Reserve(size_t _n) : n_(_n) {} explicit Reserve(size_t _n) : n_(_n) {}
void operator()(BaseProperty* _p) const { if (_p) _p->reserve(n_); } void operator()(BaseProperty* _p) const { if (_p) _p->reserve(n_); }
size_t n_; size_t n_;
}; };
struct Resize struct Resize
{ {
Resize(size_t _n) : n_(_n) {} explicit Resize(size_t _n) : n_(_n) {}
void operator()(BaseProperty* _p) const { if (_p) _p->resize(n_); } void operator()(BaseProperty* _p) const { if (_p) _p->resize(n_); }
size_t n_; size_t n_;
}; };
struct ResizeIfSmaller struct ResizeIfSmaller
{ {
ResizeIfSmaller(size_t _n) : n_(_n) {} explicit ResizeIfSmaller(size_t _n) : n_(_n) {}
void operator()(BaseProperty* _p) const { if (_p && _p->n_elements() < n_) _p->resize(n_); } void operator()(BaseProperty* _p) const { if (_p && _p->n_elements() < n_) _p->resize(n_); }
size_t n_; size_t n_;
}; };

View File

@@ -85,7 +85,7 @@ public:
/** Constructor /** Constructor
* \internal * \internal
*/ */
ModQuadricT( MeshT &_mesh ) explicit ModQuadricT( MeshT &_mesh )
: Base(_mesh, false) : Base(_mesh, false)
{ {
unset_max_err(); unset_max_err();
@@ -103,7 +103,7 @@ public:
public: // inherited public: // inherited
/// Initalize the module and prepare the mesh for decimation. /// Initalize the module and prepare the mesh for decimation.
virtual void initialize(void); virtual void initialize(void) override;
/** Compute collapse priority based on error quadrics. /** Compute collapse priority based on error quadrics.
* *
@@ -138,7 +138,7 @@ public: // inherited
} }
/// set the percentage of maximum quadric error /// set the percentage of maximum quadric error
void set_error_tolerance_factor(double _factor); void set_error_tolerance_factor(double _factor) override;

View File

@@ -96,7 +96,7 @@ struct RuleHandleT : public BaseHandle
protected:\ protected:\
friend class CompositeT<mesh_type>; \ friend class CompositeT<mesh_type>; \
public: \ public: \
const char *type() const { return #classname; } \ const char *type() const override { return #classname; } \
typedef classname<mesh_type> Self; \ typedef classname<mesh_type> Self; \
typedef RuleHandleT< Self > Handle typedef RuleHandleT< Self > Handle

View File

@@ -242,7 +242,7 @@ public:
explicit FVc(M& _mesh) : Inherited(_mesh) { init_coeffs(50); } explicit FVc(M& _mesh) : Inherited(_mesh) { init_coeffs(50); }
void raise(typename M::VertexHandle& _vh, state_t _target_state); void raise(typename M::VertexHandle& _vh, state_t _target_state) override;
MIPS_WARN_WA(Face) // avoid warning MIPS_WARN_WA(Face) // avoid warning
MIPS_WARN_WA(Edge) // avoid warning MIPS_WARN_WA(Edge) // avoid warning
@@ -412,7 +412,7 @@ public:
explicit EVc(M& _mesh) : Inherited(_mesh) { init_coeffs(50); } explicit EVc(M& _mesh) : Inherited(_mesh) { init_coeffs(50); }
void raise(typename M::VertexHandle& _vh, state_t _target_state); void raise(typename M::VertexHandle& _vh, state_t _target_state) override;
MIPS_WARN_WA(Face) // avoid warning MIPS_WARN_WA(Face) // avoid warning
MIPS_WARN_WA(Edge) // avoid warning MIPS_WARN_WA(Edge) // avoid warning

View File

@@ -114,15 +114,15 @@ public:
public: public:
const char *name() const { return "Uniform CatmullClark"; } const char *name() const override { return "Uniform CatmullClark"; }
protected: protected:
/// Initialize properties and weights /// Initialize properties and weights
virtual bool prepare( MeshType& _m ); virtual bool prepare( MeshType& _m ) override;
/// Remove properties and weights /// Remove properties and weights
virtual bool cleanup( MeshType& _m ); virtual bool cleanup( MeshType& _m ) override;
/** \brief Execute n subdivision steps /** \brief Execute n subdivision steps
* *
@@ -131,7 +131,7 @@ protected:
* @param _update_points Unused here * @param _update_points Unused here
* @return successful? * @return successful?
*/ */
virtual bool subdivide( MeshType& _m, size_t _n , const bool _update_points = true); virtual bool subdivide( MeshType& _m, size_t _n , const bool _update_points = true) override;
private: private:

View File

@@ -102,13 +102,13 @@ public:
public: // inherited interface public: // inherited interface
virtual const char *name( void ) const = 0; virtual const char *name( void ) const override = 0;
protected: // inherited interface protected: // inherited interface
bool prepare( MeshType& _m ); bool prepare( MeshType& _m ) override;
bool subdivide( MeshType& _m, size_t _n, const bool _update_points = true ) bool subdivide( MeshType& _m, size_t _n, const bool _update_points = true ) override
{ {
assert( p_mesh_ == &_m ); assert( p_mesh_ == &_m );
@@ -124,7 +124,7 @@ protected: // inherited interface
#ifdef NDEBUG #ifdef NDEBUG
bool cleanup( MeshType& ) bool cleanup( MeshType& )
#else #else
bool cleanup( MeshType& _m ) bool cleanup( MeshType& _m ) override
#endif #endif
{ {
assert( p_mesh_ == &_m ); assert( p_mesh_ == &_m );

View File

@@ -87,11 +87,11 @@ public:
public: public:
const char *name() const { return "Uniform Composite Loop"; } const char *name() const override { return "Uniform Composite Loop"; }
protected: // inherited interface protected: // inherited interface
void apply_rules(void) void apply_rules(void) override
{ {
Inherited::Tvv4(); Inherited::Tvv4();
Inherited::VdE(); Inherited::VdE();
@@ -119,7 +119,7 @@ protected:
weights_.end(), compute_weight() ); weights_.end(), compute_weight() );
} }
double operator()(size_t _valence) { return weights_[_valence]; } double operator()(size_t _valence) override { return weights_[_valence]; }
/// \internal /// \internal
struct compute_weight struct compute_weight

View File

@@ -87,11 +87,11 @@ public:
public: public:
const char *name() const { return "Uniform Composite Sqrt3"; } const char *name() const override { return "Uniform Composite Sqrt3"; }
protected: // inherited interface protected: // inherited interface
void apply_rules(void) void apply_rules(void) override
{ {
Inherited::Tvv3(); Inherited::Tvv3();
Inherited::VF(); Inherited::VF();
@@ -117,7 +117,7 @@ protected:
weights_.end(), compute_weight() ); weights_.end(), compute_weight() );
} }
double operator()(size_t _valence) { return weights_[_valence]; } double operator()(size_t _valence) override { return weights_[_valence]; }
/** \internal /** \internal
*/ */

View File

@@ -116,7 +116,7 @@ public:
public: public:
const char *name() const { return "Uniform Loop"; } const char *name() const override { return "Uniform Loop"; }
/// Pre-compute weights /// Pre-compute weights
@@ -130,7 +130,7 @@ public:
protected: protected:
bool prepare( mesh_t& _m ) bool prepare( mesh_t& _m ) override
{ {
_m.add_property( vp_pos_ ); _m.add_property( vp_pos_ );
_m.add_property( ep_pos_ ); _m.add_property( ep_pos_ );
@@ -138,7 +138,7 @@ protected:
} }
bool cleanup( mesh_t& _m ) bool cleanup( mesh_t& _m ) override
{ {
_m.remove_property( vp_pos_ ); _m.remove_property( vp_pos_ );
_m.remove_property( ep_pos_ ); _m.remove_property( ep_pos_ );
@@ -146,7 +146,7 @@ protected:
} }
bool subdivide( mesh_t& _m, size_t _n, const bool _update_points = true) bool subdivide( mesh_t& _m, size_t _n, const bool _update_points = true) override
{ {
///TODO:Implement fixed positions ///TODO:Implement fixed positions

View File

@@ -117,7 +117,7 @@ public:
public: public:
const char *name() const { return "Uniform Spectral"; } const char *name() const override { return "Uniform Spectral"; }
/// Pre-compute weights /// Pre-compute weights
@@ -158,7 +158,7 @@ public:
protected: protected:
bool prepare( mesh_t& _m ) bool prepare( mesh_t& _m ) override
{ {
_m.add_property( vp_pos_ ); _m.add_property( vp_pos_ );
_m.add_property( ep_pos_ ); _m.add_property( ep_pos_ );
@@ -166,7 +166,7 @@ protected:
} }
bool cleanup( mesh_t& _m ) bool cleanup( mesh_t& _m ) override
{ {
_m.remove_property( vp_pos_ ); _m.remove_property( vp_pos_ );
_m.remove_property( ep_pos_ ); _m.remove_property( ep_pos_ );
@@ -174,7 +174,7 @@ protected:
} }
bool subdivide( MeshType& _m, size_t _n , const bool _update_points = true) bool subdivide( MeshType& _m, size_t _n , const bool _update_points = true) override
{ {
///TODO:Implement fixed positions ///TODO:Implement fixed positions

View File

@@ -128,7 +128,7 @@ public:
public: public:
const char *name() const { return "Uniform Interpolating Sqrt3"; } const char *name() const override { return "Uniform Interpolating Sqrt3"; }
/// Pre-compute weights /// Pre-compute weights
void init_weights(size_t _max_valence=50) void init_weights(size_t _max_valence=50)
@@ -170,7 +170,7 @@ public:
protected: protected:
bool prepare( MeshType& _m ) bool prepare( MeshType& _m ) override
{ {
_m.request_edge_status(); _m.request_edge_status();
_m.add_property( fp_pos_ ); _m.add_property( fp_pos_ );
@@ -183,7 +183,7 @@ protected:
} }
bool cleanup( MeshType& _m ) bool cleanup( MeshType& _m ) override
{ {
_m.release_edge_status(); _m.release_edge_status();
_m.remove_property( fp_pos_ ); _m.remove_property( fp_pos_ );
@@ -193,7 +193,7 @@ protected:
} }
bool subdivide( MeshType& _m, size_t _n , const bool _update_points = true) bool subdivide( MeshType& _m, size_t _n , const bool _update_points = true) override
{ {
///TODO:Implement fixed positions ///TODO:Implement fixed positions

View File

@@ -121,7 +121,7 @@ public:
public: public:
const char *name() const { return "Uniform Sqrt3"; } const char *name() const override { return "Uniform Sqrt3"; }
/// Pre-compute weights /// Pre-compute weights
@@ -135,7 +135,7 @@ public:
protected: protected:
bool prepare( MeshType& _m ) bool prepare( MeshType& _m ) override
{ {
_m.request_edge_status(); _m.request_edge_status();
_m.add_property( vp_pos_ ); _m.add_property( vp_pos_ );
@@ -148,7 +148,7 @@ protected:
} }
bool cleanup( MeshType& _m ) bool cleanup( MeshType& _m ) override
{ {
_m.release_edge_status(); _m.release_edge_status();
_m.remove_property( vp_pos_ ); _m.remove_property( vp_pos_ );
@@ -157,7 +157,7 @@ protected:
return true; return true;
} }
bool subdivide( MeshType& _m, size_t _n , const bool _update_points = true) bool subdivide( MeshType& _m, size_t _n , const bool _update_points = true) override
{ {
///TODO:Implement fixed positions ///TODO:Implement fixed positions

View File

@@ -152,7 +152,7 @@ public:
{} {}
#else #else
/// Construct with a given \c HeapIterface. /// Construct with a given \c HeapIterface.
HeapT(const HeapInterface &_interface) explicit HeapT(const HeapInterface &_interface)
: HeapVector(), interface_(_interface) : HeapVector(), interface_(_interface)
{} {}
#endif #endif

View File

@@ -88,7 +88,7 @@ public:
/// Default constructor /// Default constructor
StripifierT(Mesh& _mesh); explicit StripifierT(Mesh& _mesh);
/// Destructor /// Destructor
~StripifierT(); ~StripifierT();