Merge branch 'clang_warnings' into 'master'
Clang warnings See merge request OpenMesh/OpenMesh!222
This commit is contained in:
@@ -30,7 +30,7 @@ echo "CPPCHECK Summary"
|
|||||||
echo "=============================================================================="
|
echo "=============================================================================="
|
||||||
echo -e "${NC}"
|
echo -e "${NC}"
|
||||||
|
|
||||||
MAX_COUNT=27
|
MAX_COUNT=26
|
||||||
|
|
||||||
if [ $COUNT -gt $MAX_COUNT ]; then
|
if [ $COUNT -gt $MAX_COUNT ]; then
|
||||||
echo -e ${WARNING}
|
echo -e ${WARNING}
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ if (UNIX)
|
|||||||
# add our standard flags for Template inclusion
|
# add our standard flags for Template inclusion
|
||||||
list(APPEND ADDITIONAL_CXX_FLAGS "-DINCLUDE_TEMPLATES" )
|
list(APPEND ADDITIONAL_CXX_FLAGS "-DINCLUDE_TEMPLATES" )
|
||||||
list(APPEND ADDITIONAL_C_FLAGS "-DINCLUDE_TEMPLATES" )
|
list(APPEND ADDITIONAL_C_FLAGS "-DINCLUDE_TEMPLATES" )
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# OS Defines
|
# OS Defines
|
||||||
################################################################################
|
################################################################################
|
||||||
@@ -108,9 +108,10 @@ if (UNIX)
|
|||||||
list(APPEND ADDITIONAL_C_FLAGS ${COMPILER_WARNINGS} )
|
list(APPEND ADDITIONAL_C_FLAGS ${COMPILER_WARNINGS} )
|
||||||
|
|
||||||
|
|
||||||
if ("${CMAKE_CXX_COMPILER}" MATCHES ".*clang.*")
|
if ("${CMAKE_CXX_COMPILER}" MATCHES "Clang")
|
||||||
list(APPEND ADDITIONAL_CXX_FLAGS "-Weverything")
|
list(APPEND ADDITIONAL_CXX_FLAGS "-Weverything")
|
||||||
list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-c++98-compat")
|
list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-c++98-compat")
|
||||||
|
list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-c++98-compat-pedantic")
|
||||||
list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-padded")
|
list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-padded")
|
||||||
list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-old-style-cast")
|
list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-old-style-cast")
|
||||||
list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-documentation-unknown-command")
|
list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-documentation-unknown-command")
|
||||||
@@ -120,7 +121,7 @@ if (UNIX)
|
|||||||
list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-deprecated")
|
list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-deprecated")
|
||||||
list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-weak-vtables")
|
list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-weak-vtables")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# STL Vector checks
|
# STL Vector checks
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ public:
|
|||||||
operator T () const { return val_; }
|
operator T () const { return val_; }
|
||||||
// operator const T& () const { return val_; }
|
// operator const T& () const { return val_; }
|
||||||
|
|
||||||
operator T* () const { return is_valid() ? &val_ : NULL; }
|
operator T* () const { return is_valid() ? &val_ : nullptr; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
if ( !QGLFormat::hasOpenGL() ) {
|
if ( !QGLFormat::hasOpenGL() ) {
|
||||||
QString msg = "System has no OpenGL support!";
|
QString msg = "System has no OpenGL support!";
|
||||||
QMessageBox::critical( NULL, "OpenGL", msg + argv[1] );
|
QMessageBox::critical( nullptr, "OpenGL", msg + argv[1] );
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,7 +103,7 @@ int main(int argc, char **argv)
|
|||||||
QString msg = "Cannot read mesh from file:\n '";
|
QString msg = "Cannot read mesh from file:\n '";
|
||||||
msg += argv[optind];
|
msg += argv[optind];
|
||||||
msg += "'";
|
msg += "'";
|
||||||
QMessageBox::critical( NULL, w.windowTitle(), msg );
|
QMessageBox::critical( nullptr, w.windowTitle(), msg );
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -118,7 +118,7 @@ int main(int argc, char **argv)
|
|||||||
msg += "- Mesh file didn't provide texture coordinates\n";
|
msg += "- Mesh file didn't provide texture coordinates\n";
|
||||||
msg += "- Texture file does not exist\n";
|
msg += "- Texture file does not exist\n";
|
||||||
msg += "- Texture file is not accessible.\n";
|
msg += "- Texture file is not accessible.\n";
|
||||||
QMessageBox::warning( NULL, w.windowTitle(), msg );
|
QMessageBox::warning( nullptr, w.windowTitle(), msg );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ MeshViewerWidget::MeshViewerWidget(QWidget* parent) : MeshViewerWidgetT<MyMesh>
|
|||||||
QString msg = "Cannot read mesh from file:\n '";
|
QString msg = "Cannot read mesh from file:\n '";
|
||||||
msg += fname;
|
msg += fname;
|
||||||
msg += "'";
|
msg += "'";
|
||||||
QMessageBox::critical( NULL, windowTitle(), msg);
|
QMessageBox::critical( nullptr, windowTitle(), msg);
|
||||||
}
|
}
|
||||||
t.stop();
|
t.stop();
|
||||||
std::cout << "Loaded mesh in ~" << t.as_string() << std::endl;
|
std::cout << "Loaded mesh in ~" << t.as_string() << std::endl;
|
||||||
@@ -80,7 +80,7 @@ void MeshViewerWidget::open_texture_gui(QString fname)
|
|||||||
msg += "- Mesh file didn't provide texture coordinates\n";
|
msg += "- Mesh file didn't provide texture coordinates\n";
|
||||||
msg += "- Texture file does not exist\n";
|
msg += "- Texture file does not exist\n";
|
||||||
msg += "- Texture file is not accessible.\n";
|
msg += "- Texture file is not accessible.\n";
|
||||||
QMessageBox::warning( NULL, windowTitle(), msg );
|
QMessageBox::warning( nullptr, windowTitle(), msg );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -131,7 +131,6 @@ MeshViewerWidgetT<M>::open_mesh(const char* _filename, IO::Options _opt)
|
|||||||
typename Mesh::ConstVertexIter vIt(mesh_.vertices_begin());
|
typename Mesh::ConstVertexIter vIt(mesh_.vertices_begin());
|
||||||
typename Mesh::ConstVertexIter vEnd(mesh_.vertices_end());
|
typename Mesh::ConstVertexIter vEnd(mesh_.vertices_end());
|
||||||
|
|
||||||
typedef typename Mesh::Point Point;
|
|
||||||
using OpenMesh::Vec3f;
|
using OpenMesh::Vec3f;
|
||||||
|
|
||||||
Vec3f bbMin, bbMax;
|
Vec3f bbMin, bbMax;
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ using namespace OpenMesh::Subdivider;
|
|||||||
SubdivideWidget::
|
SubdivideWidget::
|
||||||
SubdivideWidget(QWidget* _parent, const char* _name)
|
SubdivideWidget(QWidget* _parent, const char* _name)
|
||||||
: QWidget(_parent),
|
: QWidget(_parent),
|
||||||
timer_(NULL), animate_step_(0), max_animate_steps_(4), msecs_(0)
|
timer_(nullptr), animate_step_(0), max_animate_steps_(4), msecs_(0)
|
||||||
{
|
{
|
||||||
|
|
||||||
setWindowTitle( QString(_name) );
|
setWindowTitle( QString(_name) );
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
if ( !QGLFormat::hasOpenGL() ) {
|
if ( !QGLFormat::hasOpenGL() ) {
|
||||||
QString msg = "System has no OpenGL support!";
|
QString msg = "System has no OpenGL support!";
|
||||||
QMessageBox::critical( NULL, "OpenGL", msg + argv[1], QMessageBox::Ok );
|
QMessageBox::critical( nullptr, "OpenGL", msg + argv[1], QMessageBox::Ok );
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,7 +77,7 @@ int main(int argc, char **argv)
|
|||||||
if ( ! w->open_mesh(argv[1]) )
|
if ( ! w->open_mesh(argv[1]) )
|
||||||
{
|
{
|
||||||
QString msg = "Cannot read mesh from file ";
|
QString msg = "Cannot read mesh from file ";
|
||||||
QMessageBox::critical( NULL, argv[1], msg + argv[1], QMessageBox::Ok );
|
QMessageBox::critical( nullptr, argv[1], msg + argv[1], QMessageBox::Ok );
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,9 +78,9 @@ PRIVATE_NODE_TYPESYSTEM_SOURCE(_class_); \
|
|||||||
SO_NODE_SOURCE_TEMPLATE \
|
SO_NODE_SOURCE_TEMPLATE \
|
||||||
unsigned int _class_::classinstances = 0; \
|
unsigned int _class_::classinstances = 0; \
|
||||||
SO_NODE_SOURCE_TEMPLATE \
|
SO_NODE_SOURCE_TEMPLATE \
|
||||||
const SoFieldData ** _class_::parentFieldData = NULL; \
|
const SoFieldData ** _class_::parentFieldData = nullptr; \
|
||||||
SO_NODE_SOURCE_TEMPLATE \
|
SO_NODE_SOURCE_TEMPLATE \
|
||||||
SoFieldData * _class_::fieldData = NULL; \
|
SoFieldData * _class_::fieldData = nullptr; \
|
||||||
\
|
\
|
||||||
SO_NODE_SOURCE_TEMPLATE \
|
SO_NODE_SOURCE_TEMPLATE \
|
||||||
const SoFieldData ** \
|
const SoFieldData ** \
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
if ( !QGLFormat::hasOpenGL() ) {
|
if ( !QGLFormat::hasOpenGL() ) {
|
||||||
QString msg = "System has no OpenGL support!";
|
QString msg = "System has no OpenGL support!";
|
||||||
QMessageBox::critical( NULL, "OpenGL", msg + argv[1], 0 );
|
QMessageBox::critical( nullptr, "OpenGL", msg + argv[1], 0 );
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -115,7 +115,7 @@ int main(int argc, char **argv)
|
|||||||
QString msg = "Cannot read mesh from file:\n '";
|
QString msg = "Cannot read mesh from file:\n '";
|
||||||
msg += argv[optind];
|
msg += argv[optind];
|
||||||
msg += "'";
|
msg += "'";
|
||||||
QMessageBox::critical( NULL, w->caption(), msg, 0 );
|
QMessageBox::critical( nullptr, w->caption(), msg, 0 );
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -130,7 +130,7 @@ int main(int argc, char **argv)
|
|||||||
msg += "- Mesh file didn't provide texture coordinates\n";
|
msg += "- Mesh file didn't provide texture coordinates\n";
|
||||||
msg += "- Texture file does not exist\n";
|
msg += "- Texture file does not exist\n";
|
||||||
msg += "- Texture file is not accessible.\n";
|
msg += "- Texture file is not accessible.\n";
|
||||||
QMessageBox::warning( NULL, w->caption(), msg, 0 );
|
QMessageBox::warning( nullptr, w->caption(), msg, 0 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -325,7 +325,7 @@ void mouse(int button, int state, int x, int y)
|
|||||||
{
|
{
|
||||||
g.mgr->mouseButtonRelease(button, x, y);
|
g.mgr->mouseButtonRelease(button, x, y);
|
||||||
// if ( g.mode & FLYMODE )
|
// if ( g.mode & FLYMODE )
|
||||||
// glutIdleFunc(NULL);
|
// glutIdleFunc(nullptr);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ set_vdpm(const char _vdpm_name[256])
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
vdpm_ = ((VDPMServerViewerWidget *) ((VDPMServerSocket *) parent())->parent())->get_vdpm(_vdpm_name);
|
vdpm_ = ((VDPMServerViewerWidget *) ((VDPMServerSocket *) parent())->parent())->get_vdpm(_vdpm_name);
|
||||||
if (vdpm_ == NULL)
|
if (vdpm_ == nullptr)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
vhierarchy_ = &vdpm_->vhierarchy();
|
vhierarchy_ = &vdpm_->vhierarchy();
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ get_vdpm(const char _vdpm_name[256])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ set_vdpm(const char _vdpm_name[256])
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
vdpm_ = ((VDPMServerViewerWidget *) ((VDPMServerSocket *) parent())->parent())->get_vdpm(_vdpm_name);
|
vdpm_ = ((VDPMServerViewerWidget *) ((VDPMServerSocket *) parent())->parent())->get_vdpm(_vdpm_name);
|
||||||
if (vdpm_ == NULL)
|
if (vdpm_ == nullptr)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
vhierarchy_ = &vdpm_->vhierarchy();
|
vhierarchy_ = &vdpm_->vhierarchy();
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ get_vdpm(const char _vdpm_name[256])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ public: // inherited
|
|||||||
n_roots_ = calc_bits_for_roots(n_vertices_);
|
n_roots_ = calc_bits_for_roots(n_vertices_);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual float collapse_priority(const CollapseInfo& _ci)
|
virtual float collapse_priority(const CollapseInfo& _ci) override
|
||||||
{
|
{
|
||||||
level_t newlevel = std::max( BaseModQ::mesh().property( level_, _ci.v0 ),
|
level_t newlevel = std::max( BaseModQ::mesh().property( level_, _ci.v0 ),
|
||||||
BaseModQ::mesh().property( level_, _ci.v1 ) )+1;
|
BaseModQ::mesh().property( level_, _ci.v1 ) )+1;
|
||||||
@@ -135,7 +135,7 @@ public: // inherited
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// post-process halfedge collapse (accumulate quadrics)
|
/// post-process halfedge collapse (accumulate quadrics)
|
||||||
void postprocess_collapse(const CollapseInfo& _ci)
|
void postprocess_collapse(const CollapseInfo& _ci) override
|
||||||
{
|
{
|
||||||
BaseModQ::postprocess_collapse( _ci );
|
BaseModQ::postprocess_collapse( _ci );
|
||||||
|
|
||||||
|
|||||||
@@ -258,7 +258,7 @@ find_writer(const std::string& _format)
|
|||||||
if ((*it)->can_u_write(filename))
|
if ((*it)->can_u_write(filename))
|
||||||
return *it;
|
return *it;
|
||||||
|
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -135,7 +135,7 @@ namespace OMFormat {
|
|||||||
default:
|
default:
|
||||||
std::clog << "as_string(Chunk::Entity): Invalid value!";
|
std::clog << "as_string(Chunk::Entity): Invalid value!";
|
||||||
}
|
}
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -153,7 +153,7 @@ namespace OMFormat {
|
|||||||
case Chunk::Type_Custom: return "Custom";
|
case Chunk::Type_Custom: return "Custom";
|
||||||
case Chunk::Type_Topology: return "Topology";
|
case Chunk::Type_Topology: return "Topology";
|
||||||
}
|
}
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -172,7 +172,7 @@ namespace OMFormat {
|
|||||||
case Chunk::Dim_7D: return "7D";
|
case Chunk::Dim_7D: return "7D";
|
||||||
case Chunk::Dim_8D: return "8D";
|
case Chunk::Dim_8D: return "8D";
|
||||||
}
|
}
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -187,7 +187,7 @@ namespace OMFormat {
|
|||||||
case Chunk::Integer_32 : return "32";
|
case Chunk::Integer_32 : return "32";
|
||||||
case Chunk::Integer_64 : return "64";
|
case Chunk::Integer_64 : return "64";
|
||||||
}
|
}
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *as_string(Chunk::Float_Size d)
|
const char *as_string(Chunk::Float_Size d)
|
||||||
@@ -198,7 +198,7 @@ namespace OMFormat {
|
|||||||
case Chunk::Float_64 : return "64";
|
case Chunk::Float_64 : return "64";
|
||||||
case Chunk::Float_128: return "128";
|
case Chunk::Float_128: return "128";
|
||||||
}
|
}
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ public:
|
|||||||
virtual OpenMesh::Attributes::StatusInfo status(HalfedgeHandle _heh) const = 0;
|
virtual OpenMesh::Attributes::StatusInfo status(HalfedgeHandle _heh) const = 0;
|
||||||
|
|
||||||
// get reference to base kernel
|
// get reference to base kernel
|
||||||
virtual const BaseKernel* kernel() { return 0; }
|
virtual const BaseKernel* kernel() { return nullptr; }
|
||||||
|
|
||||||
|
|
||||||
// query number of faces, vertices, normals, texcoords
|
// query number of faces, vertices, normals, texcoords
|
||||||
|
|||||||
@@ -196,7 +196,7 @@ public:
|
|||||||
virtual void add_texture_information( int _id , std::string _name ) = 0;
|
virtual void add_texture_information( int _id , std::string _name ) = 0;
|
||||||
|
|
||||||
// get reference to base kernel
|
// get reference to base kernel
|
||||||
virtual BaseKernel* kernel() { return 0; }
|
virtual BaseKernel* kernel() { return nullptr; }
|
||||||
|
|
||||||
virtual bool is_triangle_mesh() const { return false; }
|
virtual bool is_triangle_mesh() const { return false; }
|
||||||
|
|
||||||
|
|||||||
@@ -48,10 +48,7 @@
|
|||||||
//
|
//
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
|
||||||
|
#pragma once
|
||||||
#ifndef __BASEREADER_HH__
|
|
||||||
#define __BASEREADER_HH__
|
|
||||||
|
|
||||||
|
|
||||||
//=== INCLUDES ================================================================
|
//=== INCLUDES ================================================================
|
||||||
|
|
||||||
@@ -91,7 +88,7 @@ class OPENMESHDLLEXPORT BaseReader
|
|||||||
public:
|
public:
|
||||||
|
|
||||||
/// Destructor
|
/// Destructor
|
||||||
virtual ~BaseReader() {};
|
virtual ~BaseReader() {}
|
||||||
|
|
||||||
/// Returns a brief description of the file type that can be parsed.
|
/// Returns a brief description of the file type that can be parsed.
|
||||||
virtual std::string get_description() const = 0;
|
virtual std::string get_description() const = 0;
|
||||||
@@ -204,5 +201,3 @@ static inline std::string &trim(std::string &_string) {
|
|||||||
} // namespace IO
|
} // namespace IO
|
||||||
} // namespace OpenMesh
|
} // namespace OpenMesh
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
#endif
|
|
||||||
//=============================================================================
|
|
||||||
|
|||||||
@@ -48,10 +48,7 @@
|
|||||||
//
|
//
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
|
||||||
|
#pragma once
|
||||||
#ifndef __OFFREADER_HH__
|
|
||||||
#define __OFFREADER_HH__
|
|
||||||
|
|
||||||
|
|
||||||
//=== INCLUDES ================================================================
|
//=== INCLUDES ================================================================
|
||||||
|
|
||||||
@@ -162,5 +159,3 @@ OPENMESHDLLEXPORT _OFFReader_& OFFReader();
|
|||||||
} // namespace IO
|
} // namespace IO
|
||||||
} // namespace OpenMesh
|
} // namespace OpenMesh
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
#endif
|
|
||||||
//=============================================================================
|
|
||||||
|
|||||||
@@ -64,27 +64,27 @@ void BaseKernel::property_stats(std::ostream& _ostr) const
|
|||||||
_ostr << vprops_.size() << " vprops:\n";
|
_ostr << vprops_.size() << " vprops:\n";
|
||||||
for (it=vps.begin(); it!=vps.end(); ++it)
|
for (it=vps.begin(); it!=vps.end(); ++it)
|
||||||
{
|
{
|
||||||
*it == NULL ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
*it == nullptr ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
||||||
}
|
}
|
||||||
_ostr << hprops_.size() << " hprops:\n";
|
_ostr << hprops_.size() << " hprops:\n";
|
||||||
for (it=hps.begin(); it!=hps.end(); ++it)
|
for (it=hps.begin(); it!=hps.end(); ++it)
|
||||||
{
|
{
|
||||||
*it == NULL ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
*it == nullptr ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
||||||
}
|
}
|
||||||
_ostr << eprops_.size() << " eprops:\n";
|
_ostr << eprops_.size() << " eprops:\n";
|
||||||
for (it=eps.begin(); it!=eps.end(); ++it)
|
for (it=eps.begin(); it!=eps.end(); ++it)
|
||||||
{
|
{
|
||||||
*it == NULL ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
*it == nullptr ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
||||||
}
|
}
|
||||||
_ostr << fprops_.size() << " fprops:\n";
|
_ostr << fprops_.size() << " fprops:\n";
|
||||||
for (it=fps.begin(); it!=fps.end(); ++it)
|
for (it=fps.begin(); it!=fps.end(); ++it)
|
||||||
{
|
{
|
||||||
*it == NULL ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
*it == nullptr ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
||||||
}
|
}
|
||||||
_ostr << mprops_.size() << " mprops:\n";
|
_ostr << mprops_.size() << " mprops:\n";
|
||||||
for (it=mps.begin(); it!=mps.end(); ++it)
|
for (it=mps.begin(); it!=mps.end(); ++it)
|
||||||
{
|
{
|
||||||
*it == NULL ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
*it == nullptr ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -97,7 +97,7 @@ void BaseKernel::vprop_stats( std::string& _string ) const
|
|||||||
PropertyContainer::Properties::const_iterator it;
|
PropertyContainer::Properties::const_iterator it;
|
||||||
const PropertyContainer::Properties& vps = vprops_.properties();
|
const PropertyContainer::Properties& vps = vprops_.properties();
|
||||||
for (it=vps.begin(); it!=vps.end(); ++it)
|
for (it=vps.begin(); it!=vps.end(); ++it)
|
||||||
if ( *it == NULL )
|
if ( *it == nullptr )
|
||||||
_string += "[deleted] \n";
|
_string += "[deleted] \n";
|
||||||
else {
|
else {
|
||||||
_string += (*it)->name();
|
_string += (*it)->name();
|
||||||
@@ -113,7 +113,7 @@ void BaseKernel::hprop_stats( std::string& _string ) const
|
|||||||
PropertyContainer::Properties::const_iterator it;
|
PropertyContainer::Properties::const_iterator it;
|
||||||
const PropertyContainer::Properties& hps = hprops_.properties();
|
const PropertyContainer::Properties& hps = hprops_.properties();
|
||||||
for (it=hps.begin(); it!=hps.end(); ++it)
|
for (it=hps.begin(); it!=hps.end(); ++it)
|
||||||
if ( *it == NULL )
|
if ( *it == nullptr )
|
||||||
_string += "[deleted] \n";
|
_string += "[deleted] \n";
|
||||||
else {
|
else {
|
||||||
_string += (*it)->name();
|
_string += (*it)->name();
|
||||||
@@ -129,7 +129,7 @@ void BaseKernel::eprop_stats( std::string& _string ) const
|
|||||||
PropertyContainer::Properties::const_iterator it;
|
PropertyContainer::Properties::const_iterator it;
|
||||||
const PropertyContainer::Properties& eps = eprops_.properties();
|
const PropertyContainer::Properties& eps = eprops_.properties();
|
||||||
for (it=eps.begin(); it!=eps.end(); ++it)
|
for (it=eps.begin(); it!=eps.end(); ++it)
|
||||||
if ( *it == NULL )
|
if ( *it == nullptr )
|
||||||
_string += "[deleted] \n";
|
_string += "[deleted] \n";
|
||||||
else {
|
else {
|
||||||
_string += (*it)->name();
|
_string += (*it)->name();
|
||||||
@@ -144,7 +144,7 @@ void BaseKernel::fprop_stats( std::string& _string ) const
|
|||||||
PropertyContainer::Properties::const_iterator it;
|
PropertyContainer::Properties::const_iterator it;
|
||||||
const PropertyContainer::Properties& fps = fprops_.properties();
|
const PropertyContainer::Properties& fps = fprops_.properties();
|
||||||
for (it=fps.begin(); it!=fps.end(); ++it)
|
for (it=fps.begin(); it!=fps.end(); ++it)
|
||||||
if ( *it == NULL )
|
if ( *it == nullptr )
|
||||||
_string += "[deleted] \n";
|
_string += "[deleted] \n";
|
||||||
else {
|
else {
|
||||||
_string += (*it)->name();
|
_string += (*it)->name();
|
||||||
@@ -160,7 +160,7 @@ void BaseKernel::mprop_stats( std::string& _string ) const
|
|||||||
PropertyContainer::Properties::const_iterator it;
|
PropertyContainer::Properties::const_iterator it;
|
||||||
const PropertyContainer::Properties& mps = mprops_.properties();
|
const PropertyContainer::Properties& mps = mprops_.properties();
|
||||||
for (it=mps.begin(); it!=mps.end(); ++it)
|
for (it=mps.begin(); it!=mps.end(); ++it)
|
||||||
if ( *it == NULL )
|
if ( *it == nullptr )
|
||||||
_string += "[deleted] \n";
|
_string += "[deleted] \n";
|
||||||
else {
|
else {
|
||||||
_string += (*it)->name();
|
_string += (*it)->name();
|
||||||
@@ -178,7 +178,7 @@ void BaseKernel::vprop_stats(std::ostream& _ostr ) const
|
|||||||
PropertyContainer::Properties::const_iterator it;
|
PropertyContainer::Properties::const_iterator it;
|
||||||
const PropertyContainer::Properties& vps = vprops_.properties();
|
const PropertyContainer::Properties& vps = vprops_.properties();
|
||||||
for (it=vps.begin(); it!=vps.end(); ++it)
|
for (it=vps.begin(); it!=vps.end(); ++it)
|
||||||
*it == NULL ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
*it == nullptr ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
||||||
|
|
||||||
}
|
}
|
||||||
void BaseKernel::hprop_stats() const
|
void BaseKernel::hprop_stats() const
|
||||||
@@ -190,7 +190,7 @@ void BaseKernel::hprop_stats(std::ostream& _ostr ) const
|
|||||||
PropertyContainer::Properties::const_iterator it;
|
PropertyContainer::Properties::const_iterator it;
|
||||||
const PropertyContainer::Properties& hps = hprops_.properties();
|
const PropertyContainer::Properties& hps = hprops_.properties();
|
||||||
for (it=hps.begin(); it!=hps.end(); ++it)
|
for (it=hps.begin(); it!=hps.end(); ++it)
|
||||||
*it == NULL ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
*it == nullptr ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
||||||
|
|
||||||
}
|
}
|
||||||
void BaseKernel::eprop_stats() const
|
void BaseKernel::eprop_stats() const
|
||||||
@@ -202,7 +202,7 @@ void BaseKernel::eprop_stats(std::ostream& _ostr ) const
|
|||||||
PropertyContainer::Properties::const_iterator it;
|
PropertyContainer::Properties::const_iterator it;
|
||||||
const PropertyContainer::Properties& eps = eprops_.properties();
|
const PropertyContainer::Properties& eps = eprops_.properties();
|
||||||
for (it=eps.begin(); it!=eps.end(); ++it)
|
for (it=eps.begin(); it!=eps.end(); ++it)
|
||||||
*it == NULL ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
*it == nullptr ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
||||||
|
|
||||||
}
|
}
|
||||||
void BaseKernel::fprop_stats() const
|
void BaseKernel::fprop_stats() const
|
||||||
@@ -214,7 +214,7 @@ void BaseKernel::fprop_stats(std::ostream& _ostr ) const
|
|||||||
PropertyContainer::Properties::const_iterator it;
|
PropertyContainer::Properties::const_iterator it;
|
||||||
const PropertyContainer::Properties& fps = fprops_.properties();
|
const PropertyContainer::Properties& fps = fprops_.properties();
|
||||||
for (it=fps.begin(); it!=fps.end(); ++it)
|
for (it=fps.begin(); it!=fps.end(); ++it)
|
||||||
*it == NULL ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
*it == nullptr ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
||||||
|
|
||||||
}
|
}
|
||||||
void BaseKernel::mprop_stats() const
|
void BaseKernel::mprop_stats() const
|
||||||
@@ -226,7 +226,7 @@ void BaseKernel::mprop_stats(std::ostream& _ostr ) const
|
|||||||
PropertyContainer::Properties::const_iterator it;
|
PropertyContainer::Properties::const_iterator it;
|
||||||
const PropertyContainer::Properties& mps = mprops_.properties();
|
const PropertyContainer::Properties& mps = mprops_.properties();
|
||||||
for (it=mps.begin(); it!=mps.end(); ++it)
|
for (it=mps.begin(); it!=mps.end(); ++it)
|
||||||
*it == NULL ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
*it == nullptr ? (void)(_ostr << "[deleted]" << "\n") : (*it)->stats(_ostr);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -285,7 +285,7 @@ class mostream : public std::ostream
|
|||||||
public:
|
public:
|
||||||
|
|
||||||
/// Explicit constructor
|
/// Explicit constructor
|
||||||
explicit mostream() : std::ostream(NULL) { init(&streambuffer_); }
|
explicit mostream() : std::ostream(nullptr) { init(&streambuffer_); }
|
||||||
|
|
||||||
|
|
||||||
/// Connect target to multiplexer
|
/// Connect target to multiplexer
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ protected:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
AutoPropertyHandleT()
|
AutoPropertyHandleT()
|
||||||
: m_(NULL), own_property_(false)
|
: m_(nullptr), own_property_(false)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
AutoPropertyHandleT(const Self& _other)
|
AutoPropertyHandleT(const Self& _other)
|
||||||
|
|||||||
@@ -363,7 +363,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Make a copy of self.
|
/// Make a copy of self.
|
||||||
PropertyT<bool>* clone() const
|
PropertyT<bool>* clone() const override
|
||||||
{
|
{
|
||||||
PropertyT<bool>* p = new PropertyT<bool>( *this );
|
PropertyT<bool>* p = new PropertyT<bool>( *this );
|
||||||
return p;
|
return p;
|
||||||
@@ -434,7 +434,7 @@ public:
|
|||||||
|
|
||||||
const value_type* data() const {
|
const value_type* data() const {
|
||||||
if( data_.empty() )
|
if( data_.empty() )
|
||||||
return 0;
|
return nullptr;
|
||||||
|
|
||||||
return (value_type*) &data_[0];
|
return (value_type*) &data_[0];
|
||||||
}
|
}
|
||||||
@@ -451,7 +451,7 @@ public:
|
|||||||
return ((value_type*) &data_[0])[_idx];
|
return ((value_type*) &data_[0])[_idx];
|
||||||
}
|
}
|
||||||
|
|
||||||
PropertyT<value_type>* clone() const {
|
PropertyT<value_type>* clone() const override {
|
||||||
PropertyT<value_type>* p = new PropertyT<value_type>( *this );
|
PropertyT<value_type>* p = new PropertyT<value_type>( *this );
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -102,8 +102,8 @@ public:
|
|||||||
{
|
{
|
||||||
Properties::iterator p_it=properties_.begin(), p_end=properties_.end();
|
Properties::iterator p_it=properties_.begin(), p_end=properties_.end();
|
||||||
int idx=0;
|
int idx=0;
|
||||||
for ( ; p_it!=p_end && *p_it!=NULL; ++p_it, ++idx ) {};
|
for ( ; p_it!=p_end && *p_it!=nullptr; ++p_it, ++idx ) {};
|
||||||
if (p_it==p_end) properties_.push_back(NULL);
|
if (p_it==p_end) properties_.push_back(nullptr);
|
||||||
properties_[idx] = new PropertyT<T>(_name);
|
properties_[idx] = new PropertyT<T>(_name);
|
||||||
return BasePropHandleT<T>(idx);
|
return BasePropHandleT<T>(idx);
|
||||||
}
|
}
|
||||||
@@ -115,11 +115,11 @@ public:
|
|||||||
Properties::const_iterator p_it = properties_.begin();
|
Properties::const_iterator p_it = properties_.begin();
|
||||||
for (int idx=0; p_it != properties_.end(); ++p_it, ++idx)
|
for (int idx=0; p_it != properties_.end(); ++p_it, ++idx)
|
||||||
{
|
{
|
||||||
if (*p_it != NULL &&
|
if (*p_it != nullptr &&
|
||||||
(*p_it)->name() == _name //skip deleted properties
|
(*p_it)->name() == _name //skip deleted properties
|
||||||
// Skip type check
|
// Skip type check
|
||||||
#ifndef OM_FORCE_STATIC_CAST
|
#ifndef OM_FORCE_STATIC_CAST
|
||||||
&& dynamic_cast<PropertyT<T>*>(properties_[idx]) != NULL //check type
|
&& dynamic_cast<PropertyT<T>*>(properties_[idx]) != nullptr //check type
|
||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
@@ -134,23 +134,23 @@ public:
|
|||||||
Properties::const_iterator p_it = properties_.begin();
|
Properties::const_iterator p_it = properties_.begin();
|
||||||
for (int idx=0; p_it != properties_.end(); ++p_it, ++idx)
|
for (int idx=0; p_it != properties_.end(); ++p_it, ++idx)
|
||||||
{
|
{
|
||||||
if (*p_it != NULL && (*p_it)->name() == _name) //skip deleted properties
|
if (*p_it != nullptr && (*p_it)->name() == _name) //skip deleted properties
|
||||||
{
|
{
|
||||||
return *p_it;
|
return *p_it;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class T> PropertyT<T>& property(BasePropHandleT<T> _h)
|
template <class T> PropertyT<T>& property(BasePropHandleT<T> _h)
|
||||||
{
|
{
|
||||||
assert(_h.idx() >= 0 && _h.idx() < (int)properties_.size());
|
assert(_h.idx() >= 0 && _h.idx() < (int)properties_.size());
|
||||||
assert(properties_[_h.idx()] != NULL);
|
assert(properties_[_h.idx()] != nullptr);
|
||||||
#ifdef OM_FORCE_STATIC_CAST
|
#ifdef OM_FORCE_STATIC_CAST
|
||||||
return *static_cast <PropertyT<T>*> (properties_[_h.idx()]);
|
return *static_cast <PropertyT<T>*> (properties_[_h.idx()]);
|
||||||
#else
|
#else
|
||||||
PropertyT<T>* p = dynamic_cast<PropertyT<T>*>(properties_[_h.idx()]);
|
PropertyT<T>* p = dynamic_cast<PropertyT<T>*>(properties_[_h.idx()]);
|
||||||
assert(p != NULL);
|
assert(p != nullptr);
|
||||||
return *p;
|
return *p;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -159,12 +159,12 @@ public:
|
|||||||
template <class T> const PropertyT<T>& property(BasePropHandleT<T> _h) const
|
template <class T> const PropertyT<T>& property(BasePropHandleT<T> _h) const
|
||||||
{
|
{
|
||||||
assert(_h.idx() >= 0 && _h.idx() < (int)properties_.size());
|
assert(_h.idx() >= 0 && _h.idx() < (int)properties_.size());
|
||||||
assert(properties_[_h.idx()] != NULL);
|
assert(properties_[_h.idx()] != nullptr);
|
||||||
#ifdef OM_FORCE_STATIC_CAST
|
#ifdef OM_FORCE_STATIC_CAST
|
||||||
return *static_cast<PropertyT<T>*>(properties_[_h.idx()]);
|
return *static_cast<PropertyT<T>*>(properties_[_h.idx()]);
|
||||||
#else
|
#else
|
||||||
PropertyT<T>* p = dynamic_cast<PropertyT<T>*>(properties_[_h.idx()]);
|
PropertyT<T>* p = dynamic_cast<PropertyT<T>*>(properties_[_h.idx()]);
|
||||||
assert(p != NULL);
|
assert(p != nullptr);
|
||||||
return *p;
|
return *p;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -174,7 +174,7 @@ public:
|
|||||||
{
|
{
|
||||||
assert(_h.idx() >= 0 && _h.idx() < (int)properties_.size());
|
assert(_h.idx() >= 0 && _h.idx() < (int)properties_.size());
|
||||||
delete properties_[_h.idx()];
|
delete properties_[_h.idx()];
|
||||||
properties_[_h.idx()] = NULL;
|
properties_[_h.idx()] = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -281,8 +281,8 @@ protected: // generic add/get
|
|||||||
{
|
{
|
||||||
Properties::iterator p_it=properties_.begin(), p_end=properties_.end();
|
Properties::iterator p_it=properties_.begin(), p_end=properties_.end();
|
||||||
size_t idx=0;
|
size_t idx=0;
|
||||||
for (; p_it!=p_end && *p_it!=NULL; ++p_it, ++idx) {};
|
for (; p_it!=p_end && *p_it!=nullptr; ++p_it, ++idx) {};
|
||||||
if (p_it==p_end) properties_.push_back(NULL);
|
if (p_it==p_end) properties_.push_back(nullptr);
|
||||||
properties_[idx] = _bp;
|
properties_[idx] = _bp;
|
||||||
return idx;
|
return idx;
|
||||||
}
|
}
|
||||||
@@ -290,18 +290,18 @@ protected: // generic add/get
|
|||||||
BaseProperty& _property( size_t _idx )
|
BaseProperty& _property( size_t _idx )
|
||||||
{
|
{
|
||||||
assert( _idx < properties_.size());
|
assert( _idx < properties_.size());
|
||||||
assert( properties_[_idx] != NULL);
|
assert( properties_[_idx] != nullptr);
|
||||||
BaseProperty *p = properties_[_idx];
|
BaseProperty *p = properties_[_idx];
|
||||||
assert( p != NULL );
|
assert( p != nullptr );
|
||||||
return *p;
|
return *p;
|
||||||
}
|
}
|
||||||
|
|
||||||
const BaseProperty& _property( size_t _idx ) const
|
const BaseProperty& _property( size_t _idx ) const
|
||||||
{
|
{
|
||||||
assert( _idx < properties_.size());
|
assert( _idx < properties_.size());
|
||||||
assert( properties_[_idx] != NULL);
|
assert( properties_[_idx] != nullptr);
|
||||||
BaseProperty *p = properties_[_idx];
|
BaseProperty *p = properties_[_idx];
|
||||||
assert( p != NULL );
|
assert( p != nullptr );
|
||||||
return *p;
|
return *p;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -48,10 +48,7 @@
|
|||||||
//
|
//
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
|
||||||
|
#pragma once
|
||||||
#ifndef __SINGLETON_HH__
|
|
||||||
#define __SINGLETON_HH__
|
|
||||||
|
|
||||||
|
|
||||||
//=== INCLUDES ================================================================
|
//=== INCLUDES ================================================================
|
||||||
|
|
||||||
@@ -145,5 +142,3 @@ private:
|
|||||||
# include "SingletonT_impl.hh"
|
# include "SingletonT_impl.hh"
|
||||||
#endif
|
#endif
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
#endif // __SINGLETON_HH__
|
|
||||||
//=============================================================================
|
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ namespace Decimater {
|
|||||||
|
|
||||||
template<class Mesh>
|
template<class Mesh>
|
||||||
BaseDecimaterT<Mesh>::BaseDecimaterT(Mesh& _mesh) :
|
BaseDecimaterT<Mesh>::BaseDecimaterT(Mesh& _mesh) :
|
||||||
mesh_(_mesh), cmodule_(NULL), initialized_(false), observer_(NULL) {
|
mesh_(_mesh), cmodule_(nullptr), initialized_(false), observer_(nullptr) {
|
||||||
// default properties
|
// default properties
|
||||||
mesh_.request_vertex_status();
|
mesh_.request_vertex_status();
|
||||||
mesh_.request_edge_status();
|
mesh_.request_edge_status();
|
||||||
@@ -249,8 +249,8 @@ bool BaseDecimaterT<Mesh>::initialize() {
|
|||||||
// priority module explicitly.
|
// priority module explicitly.
|
||||||
|
|
||||||
// find the priority module: either the only non-binary module in the list, or "Quadric"
|
// find the priority module: either the only non-binary module in the list, or "Quadric"
|
||||||
Module *quadric = NULL;
|
Module *quadric = nullptr;
|
||||||
Module *pmodule = NULL;
|
Module *pmodule = nullptr;
|
||||||
for (ModuleListIterator m_it = all_modules_.begin(), m_end =
|
for (ModuleListIterator m_it = all_modules_.begin(), m_end =
|
||||||
all_modules_.end(); m_it != m_end; ++m_it) {
|
all_modules_.end(); m_it != m_end; ++m_it) {
|
||||||
if ((*m_it)->name() == "Quadric")
|
if ((*m_it)->name() == "Quadric")
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ DecimaterT<Mesh>::DecimaterT(Mesh& _mesh) :
|
|||||||
#if (defined(_MSC_VER) && (_MSC_VER >= 1800)) || __cplusplus > 199711L || defined( __GXX_EXPERIMENTAL_CXX0X__ )
|
#if (defined(_MSC_VER) && (_MSC_VER >= 1800)) || __cplusplus > 199711L || defined( __GXX_EXPERIMENTAL_CXX0X__ )
|
||||||
heap_(nullptr)
|
heap_(nullptr)
|
||||||
#else
|
#else
|
||||||
heap_(NULL)
|
heap_(nullptr)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -111,16 +111,16 @@ class ModAspectRatioT: public ModBaseT<MeshT> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// precompute face aspect ratio
|
/// precompute face aspect ratio
|
||||||
void initialize();
|
void initialize() override;
|
||||||
|
|
||||||
/// Returns the collapse priority
|
/// Returns the collapse priority
|
||||||
float collapse_priority(const CollapseInfo& _ci);
|
float collapse_priority(const CollapseInfo& _ci) override;
|
||||||
|
|
||||||
/// update aspect ratio of one-ring
|
/// update aspect ratio of one-ring
|
||||||
void preprocess_collapse(const CollapseInfo& _ci);
|
void preprocess_collapse(const CollapseInfo& _ci) override;
|
||||||
|
|
||||||
/// set percentage of aspect ratio
|
/// set percentage of aspect ratio
|
||||||
void set_error_tolerance_factor(double _factor);
|
void set_error_tolerance_factor(double _factor) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|||||||
@@ -90,14 +90,14 @@ public:
|
|||||||
public:
|
public:
|
||||||
|
|
||||||
/// Default constructor
|
/// Default constructor
|
||||||
ModHandleT() : mod_(NULL) {}
|
ModHandleT() : mod_(nullptr) {}
|
||||||
|
|
||||||
/// Destructor
|
/// Destructor
|
||||||
~ModHandleT() { /* don't delete mod_, since handle is not owner! */ }
|
~ModHandleT() { /* don't delete mod_, since handle is not owner! */ }
|
||||||
|
|
||||||
/// Check handle status
|
/// Check handle status
|
||||||
/// \return \c true, if handle is valid, else \c false.
|
/// \return \c true, if handle is valid, else \c false.
|
||||||
bool is_valid() const { return mod_ != NULL; }
|
bool is_valid() const { return mod_ != nullptr; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
@@ -107,7 +107,7 @@ private:
|
|||||||
template <typename Mesh> friend class BaseDecimaterT;
|
template <typename Mesh> friend class BaseDecimaterT;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void clear() { mod_ = NULL; }
|
void clear() { mod_ = nullptr; }
|
||||||
void init(Module* _m) { mod_ = _m; }
|
void init(Module* _m) { mod_ = _m; }
|
||||||
Module* module() { return mod_; }
|
Module* module() { return mod_; }
|
||||||
|
|
||||||
@@ -128,7 +128,7 @@ private:
|
|||||||
/// Macro that sets up the name() function
|
/// Macro that sets up the name() function
|
||||||
/// \internal
|
/// \internal
|
||||||
#define DECIMATER_MODNAME(_mod_name) \
|
#define DECIMATER_MODNAME(_mod_name) \
|
||||||
virtual const std::string& name() const { \
|
virtual const std::string& name() const override { \
|
||||||
static std::string _s_modname_(#_mod_name); return _s_modname_; \
|
static std::string _s_modname_(#_mod_name); return _s_modname_; \
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -212,8 +212,8 @@ public:
|
|||||||
/// Virtual desctructor
|
/// Virtual desctructor
|
||||||
virtual ~ModBaseT() { }
|
virtual ~ModBaseT() { }
|
||||||
|
|
||||||
/// Set module's name (using DECIMATER_MODNAME macro)
|
/// Set module's name
|
||||||
DECIMATER_MODNAME(ModBase);
|
virtual const std::string& name() const { static std::string _s_modname_("ModBase"); return _s_modname_; }
|
||||||
|
|
||||||
|
|
||||||
/// Returns true if criteria returns a binary value.
|
/// Returns true if criteria returns a binary value.
|
||||||
|
|||||||
@@ -98,10 +98,10 @@ class ModEdgeLengthT: public ModBaseT<MeshT> {
|
|||||||
Cont. mode: Collapse smallest edge first, but
|
Cont. mode: Collapse smallest edge first, but
|
||||||
don't collapse edges longer as edge_length_
|
don't collapse edges longer as edge_length_
|
||||||
*/
|
*/
|
||||||
float collapse_priority(const CollapseInfo& _ci);
|
float collapse_priority(const CollapseInfo& _ci) override;
|
||||||
|
|
||||||
/// set the percentage of edge length
|
/// set the percentage of edge length
|
||||||
void set_error_tolerance_factor(double _factor);
|
void set_error_tolerance_factor(double _factor) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ class ModHausdorffT: public ModBaseT<MeshT> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// reset per-face point lists
|
/// reset per-face point lists
|
||||||
virtual void initialize();
|
virtual void initialize() override;
|
||||||
|
|
||||||
/** \brief compute Hausdorff error for one-ring
|
/** \brief compute Hausdorff error for one-ring
|
||||||
*
|
*
|
||||||
@@ -120,13 +120,13 @@ class ModHausdorffT: public ModBaseT<MeshT> {
|
|||||||
* @return Binary return, if collapse is legal or illegal
|
* @return Binary return, if collapse is legal or illegal
|
||||||
*/
|
*/
|
||||||
|
|
||||||
virtual float collapse_priority(const CollapseInfo& _ci);
|
virtual float collapse_priority(const CollapseInfo& _ci) override;
|
||||||
|
|
||||||
/// re-distribute points
|
/// re-distribute points
|
||||||
virtual void postprocess_collapse(const CollapseInfo& _ci);
|
virtual void postprocess_collapse(const CollapseInfo& _ci) override;
|
||||||
|
|
||||||
/// set the percentage of tolerance
|
/// set the percentage of tolerance
|
||||||
void set_error_tolerance_factor(double _factor);
|
void set_error_tolerance_factor(double _factor) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ class ModIndependentSetsT: public ModBaseT<MeshT> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// override
|
/// override
|
||||||
void postprocess_collapse(const CollapseInfo& _ci) {
|
void postprocess_collapse(const CollapseInfo& _ci) override {
|
||||||
typename Mesh::VertexVertexIter vv_it;
|
typename Mesh::VertexVertexIter vv_it;
|
||||||
|
|
||||||
Base::mesh().status(_ci.v1).set_locked(true);
|
Base::mesh().status(_ci.v1).set_locked(true);
|
||||||
|
|||||||
@@ -140,7 +140,7 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
/// Allocate and init normal cones
|
/// Allocate and init normal cones
|
||||||
void initialize() {
|
void initialize() override {
|
||||||
if (!normal_cones_.is_valid())
|
if (!normal_cones_.is_valid())
|
||||||
mesh_.add_property(normal_cones_);
|
mesh_.add_property(normal_cones_);
|
||||||
|
|
||||||
@@ -165,7 +165,7 @@ public:
|
|||||||
* @param _ci Collapse info data
|
* @param _ci Collapse info data
|
||||||
* @return Half of the normal cones size (radius in radians)
|
* @return Half of the normal cones size (radius in radians)
|
||||||
*/
|
*/
|
||||||
float collapse_priority(const CollapseInfo& _ci) {
|
float collapse_priority(const CollapseInfo& _ci) override {
|
||||||
// simulate collapse
|
// simulate collapse
|
||||||
mesh_.set_point(_ci.v0, _ci.p1);
|
mesh_.set_point(_ci.v0, _ci.p1);
|
||||||
|
|
||||||
@@ -203,7 +203,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// set the percentage of normal deviation
|
/// set the percentage of normal deviation
|
||||||
void set_error_tolerance_factor(double _factor) {
|
void set_error_tolerance_factor(double _factor) override {
|
||||||
if (_factor >= 0.0 && _factor <= 1.0) {
|
if (_factor >= 0.0 && _factor <= 1.0) {
|
||||||
// the smaller the factor, the smaller normal_deviation_ gets
|
// the smaller the factor, the smaller normal_deviation_ gets
|
||||||
// thus creating a stricter constraint
|
// thus creating a stricter constraint
|
||||||
@@ -216,7 +216,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void postprocess_collapse(const CollapseInfo& _ci) {
|
void postprocess_collapse(const CollapseInfo& _ci) override {
|
||||||
// account for changed normals
|
// account for changed normals
|
||||||
typename Mesh::VertexFaceIter vf_it(mesh_, _ci.v1);
|
typename Mesh::VertexFaceIter vf_it(mesh_, _ci.v1);
|
||||||
for (; vf_it.is_valid(); ++vf_it)
|
for (; vf_it.is_valid(); ++vf_it)
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ public:
|
|||||||
*
|
*
|
||||||
* \see set_max_normal_deviation()
|
* \see set_max_normal_deviation()
|
||||||
*/
|
*/
|
||||||
float collapse_priority(const CollapseInfo& _ci)
|
float collapse_priority(const CollapseInfo& _ci) override
|
||||||
{
|
{
|
||||||
// simulate collapse
|
// simulate collapse
|
||||||
Base::mesh().set_point(_ci.v0, _ci.p1);
|
Base::mesh().set_point(_ci.v0, _ci.p1);
|
||||||
@@ -154,7 +154,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// set the percentage of maximum normal deviation
|
/// set the percentage of maximum normal deviation
|
||||||
void set_error_tolerance_factor(double _factor) {
|
void set_error_tolerance_factor(double _factor) override {
|
||||||
if (_factor >= 0.0 && _factor <= 1.0) {
|
if (_factor >= 0.0 && _factor <= 1.0) {
|
||||||
// the smaller the factor, the smaller max_deviation_ gets
|
// the smaller the factor, the smaller max_deviation_ gets
|
||||||
// thus creating a stricter constraint
|
// thus creating a stricter constraint
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ public: // inherited
|
|||||||
|
|
||||||
/// Stores collapse information in a queue.
|
/// Stores collapse information in a queue.
|
||||||
/// \see infolist()
|
/// \see infolist()
|
||||||
void postprocess_collapse(const CollapseInfo& _ci)
|
void postprocess_collapse(const CollapseInfo& _ci) override
|
||||||
{
|
{
|
||||||
pmi_.push_back( Info( _ci ) );
|
pmi_.push_back( Info( _ci ) );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ public: // inherited
|
|||||||
* \see ModBaseT::collapse_priority() for return values
|
* \see ModBaseT::collapse_priority() for return values
|
||||||
* \see set_max_err()
|
* \see set_max_err()
|
||||||
*/
|
*/
|
||||||
virtual float collapse_priority(const CollapseInfo& _ci)
|
virtual float collapse_priority(const CollapseInfo& _ci) override
|
||||||
{
|
{
|
||||||
using namespace OpenMesh;
|
using namespace OpenMesh;
|
||||||
|
|
||||||
@@ -131,7 +131,7 @@ public: // inherited
|
|||||||
|
|
||||||
|
|
||||||
/// Post-process halfedge collapse (accumulate quadrics)
|
/// Post-process halfedge collapse (accumulate quadrics)
|
||||||
virtual void postprocess_collapse(const CollapseInfo& _ci)
|
virtual void postprocess_collapse(const CollapseInfo& _ci) override
|
||||||
{
|
{
|
||||||
Base::mesh().property(quadrics_, _ci.v1) +=
|
Base::mesh().property(quadrics_, _ci.v1) +=
|
||||||
Base::mesh().property(quadrics_, _ci.v0);
|
Base::mesh().property(quadrics_, _ci.v0);
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ class ModRoundnessT : public ModBaseT<MeshT>
|
|||||||
* \return LEGAL_COLLAPSE or ILLEGAL_COLLAPSE in binary mode
|
* \return LEGAL_COLLAPSE or ILLEGAL_COLLAPSE in binary mode
|
||||||
* \see set_min_roundness()
|
* \see set_min_roundness()
|
||||||
*/
|
*/
|
||||||
float collapse_priority(const CollapseInfo& _ci)
|
float collapse_priority(const CollapseInfo& _ci) override
|
||||||
{
|
{
|
||||||
// using namespace OpenMesh;
|
// using namespace OpenMesh;
|
||||||
|
|
||||||
@@ -174,7 +174,7 @@ class ModRoundnessT : public ModBaseT<MeshT>
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// set the percentage of minimum roundness
|
/// set the percentage of minimum roundness
|
||||||
void set_error_tolerance_factor(double _factor) {
|
void set_error_tolerance_factor(double _factor) override {
|
||||||
if (this->is_binary()) {
|
if (this->is_binary()) {
|
||||||
if (_factor >= 0.0 && _factor <= 1.0) {
|
if (_factor >= 0.0 && _factor <= 1.0) {
|
||||||
// the smaller the factor, the smaller min_r_ gets
|
// the smaller the factor, the smaller min_r_ gets
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ public:
|
|||||||
|
|
||||||
//
|
//
|
||||||
oPropertyT( const std::string& _name = "<unknown>" )
|
oPropertyT( const std::string& _name = "<unknown>" )
|
||||||
: BaseProperty(_name), data_(NULL)
|
: BaseProperty(_name), data_(nullptr)
|
||||||
{
|
{
|
||||||
data_ = property_t::create();
|
data_ = property_t::create();
|
||||||
|
|
||||||
|
|||||||
@@ -148,7 +148,7 @@ public:
|
|||||||
/// Constructor
|
/// Constructor
|
||||||
explicit CompositeT(Mesh& _mesh)
|
explicit CompositeT(Mesh& _mesh)
|
||||||
: subdiv_type_(0),
|
: subdiv_type_(0),
|
||||||
subdiv_rule_(NULL), /*first_rule_(NULL), last_rule_(NULL),*/ mesh_(_mesh)
|
subdiv_rule_(nullptr), /*first_rule_(nullptr), last_rule_(nullptr),*/ mesh_(_mesh)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
///
|
///
|
||||||
@@ -161,7 +161,7 @@ public:
|
|||||||
void cleanup(void)
|
void cleanup(void)
|
||||||
{
|
{
|
||||||
subdiv_type_ = 0;
|
subdiv_type_ = 0;
|
||||||
subdiv_rule_ = NULL;
|
subdiv_rule_ = nullptr;
|
||||||
|
|
||||||
std::for_each(rule_sequence_.begin(),
|
std::for_each(rule_sequence_.begin(),
|
||||||
rule_sequence_.end(), DeleteRule() );
|
rule_sequence_.end(), DeleteRule() );
|
||||||
|
|||||||
@@ -101,8 +101,8 @@ public:
|
|||||||
|
|
||||||
explicit Tvv3(M& _mesh) : Inherited(_mesh) { Base::set_subdiv_type(3); };
|
explicit Tvv3(M& _mesh) : Inherited(_mesh) { Base::set_subdiv_type(3); };
|
||||||
|
|
||||||
void raise(typename M::FaceHandle& _fh, state_t _target_state);
|
void raise(typename M::FaceHandle& _fh, state_t _target_state) override;
|
||||||
void raise(typename M::VertexHandle& _vh, state_t _target_state);
|
void raise(typename M::VertexHandle& _vh, state_t _target_state) override;
|
||||||
MIPS_WARN_WA(Edge) // avoid warning
|
MIPS_WARN_WA(Edge) // avoid warning
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -126,9 +126,9 @@ public:
|
|||||||
|
|
||||||
explicit Tvv4(M& _mesh) : Inherited(_mesh) { Base::set_subdiv_type(4); };
|
explicit Tvv4(M& _mesh) : Inherited(_mesh) { Base::set_subdiv_type(4); };
|
||||||
|
|
||||||
void raise(typename M::FaceHandle& _fh, state_t _target_state);
|
void raise(typename M::FaceHandle& _fh, state_t _target_state) override;
|
||||||
void raise(typename M::VertexHandle& _vh, state_t _target_state);
|
void raise(typename M::VertexHandle& _vh, state_t _target_state) override;
|
||||||
void raise(typename M::EdgeHandle& _eh, state_t _target_state);
|
void raise(typename M::EdgeHandle& _eh, state_t _target_state) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
@@ -154,7 +154,7 @@ public:
|
|||||||
|
|
||||||
explicit VF(M& _mesh) : Inherited(_mesh) {}
|
explicit VF(M& _mesh) : Inherited(_mesh) {}
|
||||||
|
|
||||||
void raise(typename M::FaceHandle& _fh, state_t _target_state);
|
void raise(typename M::FaceHandle& _fh, state_t _target_state) override;
|
||||||
MIPS_WARN_WA(Edge)
|
MIPS_WARN_WA(Edge)
|
||||||
MIPS_WARN_WA(Vertex)
|
MIPS_WARN_WA(Vertex)
|
||||||
};
|
};
|
||||||
@@ -176,7 +176,7 @@ public:
|
|||||||
|
|
||||||
explicit FF(M& _mesh) : Inherited(_mesh) {}
|
explicit FF(M& _mesh) : Inherited(_mesh) {}
|
||||||
|
|
||||||
void raise(typename M::FaceHandle& _fh, state_t _target_state);
|
void raise(typename M::FaceHandle& _fh, state_t _target_state) override;
|
||||||
MIPS_WARN_WA(Vertex) // avoid warning
|
MIPS_WARN_WA(Vertex) // avoid warning
|
||||||
MIPS_WARN_WA(Edge ) // avoid warning
|
MIPS_WARN_WA(Edge ) // avoid warning
|
||||||
};
|
};
|
||||||
@@ -198,7 +198,7 @@ public:
|
|||||||
|
|
||||||
explicit FFc(M& _mesh) : Inherited(_mesh) {}
|
explicit FFc(M& _mesh) : Inherited(_mesh) {}
|
||||||
|
|
||||||
void raise(typename M::FaceHandle& _fh, state_t _target_state);
|
void raise(typename M::FaceHandle& _fh, state_t _target_state) override;
|
||||||
MIPS_WARN_WA(Vertex) // avoid warning
|
MIPS_WARN_WA(Vertex) // avoid warning
|
||||||
MIPS_WARN_WA(Edge ) // avoid warning
|
MIPS_WARN_WA(Edge ) // avoid warning
|
||||||
};
|
};
|
||||||
@@ -220,7 +220,7 @@ public:
|
|||||||
|
|
||||||
explicit FV(M& _mesh) : Inherited(_mesh) {}
|
explicit FV(M& _mesh) : Inherited(_mesh) {}
|
||||||
|
|
||||||
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
|
||||||
};
|
};
|
||||||
@@ -279,7 +279,7 @@ public:
|
|||||||
|
|
||||||
explicit VV(M& _mesh) : Inherited(_mesh) {}
|
explicit VV(M& _mesh) : Inherited(_mesh) {}
|
||||||
|
|
||||||
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
|
||||||
};
|
};
|
||||||
@@ -301,7 +301,7 @@ public:
|
|||||||
|
|
||||||
explicit VVc(M& _mesh) : Inherited(_mesh) {}
|
explicit VVc(M& _mesh) : Inherited(_mesh) {}
|
||||||
|
|
||||||
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
|
||||||
};
|
};
|
||||||
@@ -323,7 +323,7 @@ public:
|
|||||||
|
|
||||||
explicit VE(M& _mesh) : Inherited(_mesh) {}
|
explicit VE(M& _mesh) : Inherited(_mesh) {}
|
||||||
|
|
||||||
void raise(typename M::EdgeHandle& _eh, state_t _target_state);
|
void raise(typename M::EdgeHandle& _eh, state_t _target_state) override;
|
||||||
MIPS_WARN_WA(Face ) // avoid warning
|
MIPS_WARN_WA(Face ) // avoid warning
|
||||||
MIPS_WARN_WA(Vertex) // avoid warning
|
MIPS_WARN_WA(Vertex) // avoid warning
|
||||||
};
|
};
|
||||||
@@ -345,7 +345,7 @@ public:
|
|||||||
|
|
||||||
explicit VdE(M& _mesh) : Inherited(_mesh) {}
|
explicit VdE(M& _mesh) : Inherited(_mesh) {}
|
||||||
|
|
||||||
void raise(typename M::EdgeHandle& _eh, state_t _target_state);
|
void raise(typename M::EdgeHandle& _eh, state_t _target_state) override;
|
||||||
MIPS_WARN_WA(Face ) // avoid warning
|
MIPS_WARN_WA(Face ) // avoid warning
|
||||||
MIPS_WARN_WA(Vertex) // avoid warning
|
MIPS_WARN_WA(Vertex) // avoid warning
|
||||||
};
|
};
|
||||||
@@ -367,7 +367,7 @@ public:
|
|||||||
|
|
||||||
explicit VdEc(M& _mesh) : Inherited(_mesh) {}
|
explicit VdEc(M& _mesh) : Inherited(_mesh) {}
|
||||||
|
|
||||||
void raise(typename M::EdgeHandle& _eh, state_t _target_state);
|
void raise(typename M::EdgeHandle& _eh, state_t _target_state) override;
|
||||||
MIPS_WARN_WA(Face ) // avoid warning
|
MIPS_WARN_WA(Face ) // avoid warning
|
||||||
MIPS_WARN_WA(Vertex) // avoid warning
|
MIPS_WARN_WA(Vertex) // avoid warning
|
||||||
};
|
};
|
||||||
@@ -389,7 +389,7 @@ public:
|
|||||||
|
|
||||||
explicit EV(M& _mesh) : Inherited(_mesh) {}
|
explicit EV(M& _mesh) : Inherited(_mesh) {}
|
||||||
|
|
||||||
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
|
||||||
};
|
};
|
||||||
@@ -448,7 +448,7 @@ public:
|
|||||||
|
|
||||||
explicit EF(M& _mesh) : Inherited(_mesh) {}
|
explicit EF(M& _mesh) : Inherited(_mesh) {}
|
||||||
|
|
||||||
void raise(typename M::FaceHandle& _fh, state_t _target_state);
|
void raise(typename M::FaceHandle& _fh, state_t _target_state) override;
|
||||||
MIPS_WARN_WA(Edge ) // avoid warning
|
MIPS_WARN_WA(Edge ) // avoid warning
|
||||||
MIPS_WARN_WA(Vertex) // avoid warning
|
MIPS_WARN_WA(Vertex) // avoid warning
|
||||||
};
|
};
|
||||||
@@ -470,7 +470,7 @@ public:
|
|||||||
|
|
||||||
explicit FE(M& _mesh) : Inherited(_mesh) {}
|
explicit FE(M& _mesh) : Inherited(_mesh) {}
|
||||||
|
|
||||||
void raise(typename M::EdgeHandle& _eh, state_t _target_state);
|
void raise(typename M::EdgeHandle& _eh, state_t _target_state) override;
|
||||||
MIPS_WARN_WA(Face ) // avoid warning
|
MIPS_WARN_WA(Face ) // avoid warning
|
||||||
MIPS_WARN_WA(Vertex) // avoid warning
|
MIPS_WARN_WA(Vertex) // avoid warning
|
||||||
};
|
};
|
||||||
@@ -492,7 +492,7 @@ public:
|
|||||||
|
|
||||||
explicit EdE(M& _mesh) : Inherited(_mesh) {}
|
explicit EdE(M& _mesh) : Inherited(_mesh) {}
|
||||||
|
|
||||||
void raise(typename M::EdgeHandle& _eh, state_t _target_state);
|
void raise(typename M::EdgeHandle& _eh, state_t _target_state) override;
|
||||||
MIPS_WARN_WA(Face ) // avoid warning
|
MIPS_WARN_WA(Face ) // avoid warning
|
||||||
MIPS_WARN_WA(Vertex) // avoid warning
|
MIPS_WARN_WA(Vertex) // avoid warning
|
||||||
};
|
};
|
||||||
@@ -514,7 +514,7 @@ public:
|
|||||||
|
|
||||||
explicit EdEc(M& _mesh) : Inherited(_mesh) {}
|
explicit EdEc(M& _mesh) : Inherited(_mesh) {}
|
||||||
|
|
||||||
void raise(typename M::EdgeHandle& _eh, state_t _target_state);
|
void raise(typename M::EdgeHandle& _eh, state_t _target_state) override;
|
||||||
MIPS_WARN_WA(Face ) // avoid warning
|
MIPS_WARN_WA(Face ) // avoid warning
|
||||||
MIPS_WARN_WA(Vertex) // avoid warning
|
MIPS_WARN_WA(Vertex) // avoid warning
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -333,7 +333,6 @@ CatmullClarkT<MeshType,RealType>::update_vertex( MeshType& _m, const VertexHandl
|
|||||||
// and http://www.cs.utah.edu/~lacewell/subdeval
|
// and http://www.cs.utah.edu/~lacewell/subdeval
|
||||||
if ( _m.is_boundary( _vh))
|
if ( _m.is_boundary( _vh))
|
||||||
{
|
{
|
||||||
Normal Vec;
|
|
||||||
pos = _m.point(_vh);
|
pos = _m.point(_vh);
|
||||||
VertexEdgeIter ve_itr;
|
VertexEdgeIter ve_itr;
|
||||||
for ( ve_itr = _m.ve_iter( _vh); ve_itr.is_valid(); ++ve_itr)
|
for ( ve_itr = _m.ve_iter( _vh); ve_itr.is_valid(); ++ve_itr)
|
||||||
|
|||||||
@@ -96,8 +96,8 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
CompositeT(void) : parent_t(), p_mesh_(NULL) {}
|
CompositeT(void) : parent_t(), p_mesh_(nullptr) {}
|
||||||
explicit CompositeT(MeshType& _mesh) : parent_t(_mesh), p_mesh_(NULL) {};
|
explicit CompositeT(MeshType& _mesh) : parent_t(_mesh), p_mesh_(nullptr) {};
|
||||||
virtual ~CompositeT() { }
|
virtual ~CompositeT() { }
|
||||||
|
|
||||||
public: // inherited interface
|
public: // inherited interface
|
||||||
@@ -122,13 +122,13 @@ protected: // inherited interface
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef NDEBUG
|
#ifdef NDEBUG
|
||||||
bool cleanup( MeshType& )
|
bool cleanup( MeshType& ) override
|
||||||
#else
|
#else
|
||||||
bool cleanup( MeshType& _m ) override
|
bool cleanup( MeshType& _m ) override
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
assert( p_mesh_ == &_m );
|
assert( p_mesh_ == &_m );
|
||||||
p_mesh_=NULL;
|
p_mesh_=nullptr;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -409,7 +409,7 @@ private:
|
|||||||
|
|
||||||
typename MeshType::HalfedgeHandle heh;
|
typename MeshType::HalfedgeHandle heh;
|
||||||
typename MeshType::VertexHandle vh1, vh2, vh3, vh4, vhl, vhr;
|
typename MeshType::VertexHandle vh1, vh2, vh3, vh4, vhl, vhr;
|
||||||
typename MeshType::Point zero(0,0,0), P1, P2, P3, P4;
|
typename MeshType::Point P1, P2, P3, P4;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
// *---------*---------*
|
// *---------*---------*
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ public:
|
|||||||
|
|
||||||
/// Constructor to be used with interface 1 (calls attach())
|
/// Constructor to be used with interface 1 (calls attach())
|
||||||
/// \see operator()( MeshType&, size_t )
|
/// \see operator()( MeshType&, size_t )
|
||||||
explicit SubdividerT( MeshType &_m ) : attached_(NULL) { attach(_m); }
|
explicit SubdividerT( MeshType &_m ) : attached_(nullptr) { attach(_m); }
|
||||||
|
|
||||||
//@}
|
//@}
|
||||||
|
|
||||||
@@ -157,7 +157,7 @@ public: /// \name Interface 2
|
|||||||
if ( attached_ )
|
if ( attached_ )
|
||||||
{
|
{
|
||||||
cleanup( *attached_ );
|
cleanup( *attached_ );
|
||||||
attached_ = NULL;
|
attached_ = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//@}
|
//@}
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
# define access _access
|
# define access _access
|
||||||
# define ACCESS_OK 0
|
# define ACCESS_OK 0
|
||||||
# define PATH_SEP ";"
|
# define PATH_SEP ";"
|
||||||
# define MKTEMP_AND_CHECK_FAILED(name) (_mktemp(name) == NULL)
|
# define MKTEMP_AND_CHECK_FAILED(name) (_mktemp(name) == nullptr)
|
||||||
#else
|
#else
|
||||||
# define ACCESS_OK X_OK
|
# define ACCESS_OK X_OK
|
||||||
# define PATH_SEP ":"
|
# define PATH_SEP ":"
|
||||||
@@ -368,7 +368,7 @@ void Gnuplot::plot_x(vector<double> d, const string &title)
|
|||||||
//
|
//
|
||||||
//open temporary files for output
|
//open temporary files for output
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
if ( _mktemp(name) == NULL)
|
if ( _mktemp(name) == nullptr)
|
||||||
#else
|
#else
|
||||||
if ( mkstemp(name) == -1 )
|
if ( mkstemp(name) == -1 )
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ int kbhit(void)
|
|||||||
error += tcsetattr(0, TCSANOW, &Otty);
|
error += tcsetattr(0, TCSANOW, &Otty);
|
||||||
tv.tv_sec = 0;
|
tv.tv_sec = 0;
|
||||||
tv.tv_usec = 100; /* insert at least a minimal delay */
|
tv.tv_usec = 100; /* insert at least a minimal delay */
|
||||||
select(1, NULL, NULL, NULL, &tv);
|
select(1, nullptr, nullptr, nullptr, &tv);
|
||||||
}
|
}
|
||||||
return (error == 0 ? cnt : -1 );
|
return (error == 0 ? cnt : -1 );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ namespace VDPM {
|
|||||||
|
|
||||||
VHierarchyWindow::
|
VHierarchyWindow::
|
||||||
VHierarchyWindow() :
|
VHierarchyWindow() :
|
||||||
vhierarchy_(NULL), buffer_(NULL),buffer_min_ (0), buffer_max_(0), current_pos_(0) , window_min_(0), window_max_(0), n_shift_(0)
|
vhierarchy_(nullptr), buffer_(nullptr),buffer_min_ (0), buffer_max_(0), current_pos_(0) , window_min_(0), window_max_(0), n_shift_(0)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -81,7 +81,7 @@ VHierarchyWindow() :
|
|||||||
|
|
||||||
VHierarchyWindow::
|
VHierarchyWindow::
|
||||||
VHierarchyWindow(VHierarchy &_vhierarchy) :
|
VHierarchyWindow(VHierarchy &_vhierarchy) :
|
||||||
vhierarchy_(&_vhierarchy),buffer_(NULL),buffer_min_ (0), buffer_max_(0), current_pos_(0) , window_min_(0), window_max_(0) ,n_shift_(0)
|
vhierarchy_(&_vhierarchy),buffer_(nullptr),buffer_min_ (0), buffer_max_(0), current_pos_(0) , window_min_(0), window_max_(0) ,n_shift_(0)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,7 +89,7 @@ VHierarchyWindow(VHierarchy &_vhierarchy) :
|
|||||||
VHierarchyWindow::
|
VHierarchyWindow::
|
||||||
~VHierarchyWindow(void)
|
~VHierarchyWindow(void)
|
||||||
{
|
{
|
||||||
if (buffer_ != NULL)
|
if (buffer_ != nullptr)
|
||||||
free(buffer_);
|
free(buffer_);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -138,7 +138,7 @@ update_buffer(VHierarchyNodeHandle _node_handle)
|
|||||||
void
|
void
|
||||||
VHierarchyWindow::init(VHierarchyNodeHandleContainer &_roots)
|
VHierarchyWindow::init(VHierarchyNodeHandleContainer &_roots)
|
||||||
{
|
{
|
||||||
if (buffer_ != NULL)
|
if (buffer_ != nullptr)
|
||||||
free(buffer_);
|
free(buffer_);
|
||||||
|
|
||||||
buffer_min_ = 0;
|
buffer_min_ = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user