Commit 2f70e9a6 by Jan Möbius

Merge branch 'master' into ply_handle_extra_elements

parents 308a280c 7aee8c61
Pipeline #4260 passed with stage
in 42 minutes 3 seconds
......@@ -8,13 +8,13 @@ clang-c++11:
tags:
- Linux
gcc-c++98:
script: "CI/ci-linux.sh gcc C++98"
gcc-c++14:
script: "CI/ci-linux.sh gcc C++14"
tags:
- Linux
clang-c++98:
script: "CI/ci-linux.sh clang C++98"
clang-c++14:
script: "CI/ci-linux.sh clang C++14"
tags:
- Linux
......@@ -28,13 +28,13 @@ macos-c++11:
- build-release-cpp11/*.tar.gz
macos-c++98:
script: "CI/ci-mac.sh C++98"
script: "CI/ci-mac.sh C++14"
tags:
- Apple
artifacts:
paths:
- build-release-cpp98/*.dmg
- build-release-cpp98/*.tar.gz
- build-release-cpp14/*.dmg
- build-release-cpp14/*.tar.gz
cppcheck:
script: "CI/ci-cppcheck.sh"
......
......@@ -38,9 +38,11 @@ echo "CPPCHECK Summary"
echo "=============================================================================="
echo -e "${NC}"
if [ $COUNT -gt 0 ]; then
MAX_COUNT=6
if [ $COUNT -gt $MAX_COUNT ]; then
echo -e ${WARNING}
echo "Total CPPCHECK error Count is $COUNT, which is too High! CPPCHECK Run failed";
echo "Total CPPCHECK error Count is $COUNT, which is too High (max is $MAX_COUNT)! CPPCHECK Run failed";
echo -e "${NC}"
exit 1;
else
......
......@@ -33,6 +33,10 @@ elif [ "$LANGUAGE" == "C++11" ]; then
echo "Building with C++11";
OPTIONS="$OPTIONS -DCMAKE_CXX_FLAGS='-std=c++11' "
BUILDPATH="$BUILDPATH-cpp11"
elif [ "$LANGUAGE" == "C++14" ]; then
echo "Building with C++14";
OPTIONS="$OPTIONS -DCMAKE_CXX_FLAGS='-std=c++14' "
BUILDPATH="$BUILDPATH-cpp14"
fi
#=====================================
......
......@@ -18,6 +18,10 @@ elif [ "$LANGUAGE" == "C++11" ]; then
echo "Building with C++11";
OPTIONS="$OPTIONS -DCMAKE_CXX_FLAGS='-std=c++11' "
BUILDPATH="cpp11"
elif [ "$LANGUAGE" == "C++14" ]; then
echo "Building with C++14";
OPTIONS="$OPTIONS -DCMAKE_CXX_FLAGS='-std=c++14' "
BUILDPATH="cpp14"
fi
#=====================================
......
......@@ -8,6 +8,11 @@
<tr valign=top><td><b>7.0</b> (?/?/?)</td><td>
<b>Breaking changes</b>
<ul>
<li>The minimal standard for C++ has been raised to C++11. Compilers not supporting C++11 or higher are no longer supported</li>
</ul>
<b>Core</b>
<ul>
<li>Implemented a cast from polyMesh to Mesh and vice versa using static_cast(polymeshInstance) or static_cast(trimeshInstance)</li>
......@@ -43,6 +48,11 @@
<li>Added unittest to write and read faceTexcoords with a test obj file</li>
</ul>
<b>Python</b>
<ul>
<li>fix the stripping of the python libs version string</li>
</ul>
<b>General</b>
<ul>
<li>Updated Logo</li>
......
......@@ -42,6 +42,7 @@ else(GTEST_INCLUDE_DIRS AND GTEST_LIBRARIES AND GTEST_MAIN_LIBRARIES)
else(GTEST_PREFIX)
find_path(_GTEST_INCLUDE_DIR "gtest/gtest.h"
PATHS
~/sw/gtest-1.8.0/include
~/sw/gtest-1.7.0/include
~/sw/gtest/include
/ACG/acgdev/gcc-4.7-x86_64/gtest/include
......@@ -52,6 +53,7 @@ else(GTEST_INCLUDE_DIRS AND GTEST_LIBRARIES AND GTEST_MAIN_LIBRARIES)
NO_DEFAULT_PATH )
find_library(_GTEST_LIBRARY gtest
PATHS
~/sw/gtest-1.8.0/lib
~/sw/gtest-1.7.0/lib
~/sw/gtest/lib
/ACG/acgdev/gcc-4.7-x86_64/gtest/lib
......@@ -62,6 +64,7 @@ else(GTEST_INCLUDE_DIRS AND GTEST_LIBRARIES AND GTEST_MAIN_LIBRARIES)
NO_DEFAULT_PATH )
find_library(_GTEST_MAIN_LIBRARY gtest_main
PATHS
~/sw/gtest-1.8.0/lib
~/sw/gtest-1.7.0/lib
~/sw/gtest/lib
/ACG/acgdev/gcc-4.7-x86_64/gtest/lib
......
......@@ -85,7 +85,7 @@ class SoOpenMeshNodeT : public SoShape
public:
static void initClass();
SoOpenMeshNodeT(const Mesh* _mesh=0);
explicit SoOpenMeshNodeT(const Mesh* _mesh=0);
void setMesh(const Mesh* mesh) { d_mesh = mesh; }
......
......@@ -96,7 +96,7 @@ template <class T>
class multiplex_target : public basic_multiplex_target
{
public:
multiplex_target(T& _t) : target_(_t) {}
explicit multiplex_target(T& _t) : target_(_t) {}
virtual void operator<<(const std::string& _s) { target_ << _s; }
private:
T& target_;
......
......@@ -90,7 +90,7 @@ public:
*
* @param _resolution specifies the desired resolution for the random number generated
*/
RandomNumberGenerator(const size_t _resolution);
explicit RandomNumberGenerator(const size_t _resolution);
/// returns a random double between 0.0 and 1.0 with a guaranteed resolution
double getRand() const;
......
......@@ -87,7 +87,7 @@ public:
*
* @param _notificationInterval Interval of decimation steps between notifications.
*/
Observer(size_t _notificationInterval);
explicit Observer(size_t _notificationInterval);
/// Destructor
virtual ~Observer();
......
......@@ -115,7 +115,7 @@ public:
CatmullClarkT( ) : parent_t() { }
/// Constructor
CatmullClarkT(MeshType &_m) : parent_t(_m) { }
explicit CatmullClarkT(MeshType &_m) : parent_t(_m) { }
virtual ~CatmullClarkT() {}
......
......@@ -107,7 +107,7 @@ public:
/// Constructor to be used with interface 1 (calls attach())
/// \see operator()( MeshType&, size_t )
SubdividerT( MeshType &_m ) : attached_(NULL) { attach(_m); }
explicit SubdividerT( MeshType &_m ) : attached_(NULL) { attach(_m); }
//@}
......
......@@ -74,7 +74,7 @@ using namespace std;
class GnuplotException : public runtime_error
{
public:
GnuplotException(const string &msg) : runtime_error(msg){}
explicit GnuplotException(const string &msg) : runtime_error(msg){}
};
// ----------------------------------------------------------------------------
......@@ -113,7 +113,7 @@ public:
Gnuplot();
/// Set a style during construction.
Gnuplot(const string & _style);
explicit Gnuplot(const string & _style);
/// Constructor calling plot_xy().
Gnuplot(const string & _title,
......
......@@ -80,7 +80,7 @@ class MeshCheckerT
public:
/// constructor
MeshCheckerT(const Mesh& _mesh) : mesh_(_mesh) {}
explicit MeshCheckerT(const Mesh& _mesh) : mesh_(_mesh) {}
/// destructor
~MeshCheckerT() {}
......
......@@ -261,7 +261,8 @@ void TimerImplStd::stop(void)
// ----------------------------------------------------------------- Timer ----
Timer::Timer(void)
Timer::Timer(void) :
state_(Stopped)
{
#if defined(WIN32) && (defined(_MSC_VER) || defined(__INTEL_COMPILER) || defined(__MINGW32__))
impl_ = new TimerImplWin32;
......@@ -280,7 +281,7 @@ Timer::Timer(void)
#else
impl_ = new TimerImplStd;
#endif
state_ = Stopped;
}
Timer::~Timer(void)
......
......@@ -102,6 +102,9 @@ public:
};
Timer(void);
Timer(const Timer& _other) = delete;
~Timer(void);
/// Returns true if self is in a valid state!
......
......@@ -37,97 +37,97 @@
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
* *
* ========================================================================= */
/*===========================================================================*\
* *
* $Revision$ *
* $Date$ *
* *
\*===========================================================================*/
//=============================================================================
//
// CLASS newClass
//
//=============================================================================
#ifndef OPENMESH_VDPROGMESH_VHIERARCHYNODEINDEX_HH
#define OPENMESH_VDPROGMESH_VHIERARCHYNODEINDEX_HH
//== INCLUDES =================================================================
#include <vector>
#include <cassert>
//== FORWARDDECLARATIONS ======================================================
//== NAMESPACES ===============================================================
namespace OpenMesh {
namespace VDPM {
//== CLASS DEFINITION =========================================================
/** Index of vertex hierarchy node
*/
class VHierarchyNodeIndex
{
private:
unsigned int value_;
public:
static const VHierarchyNodeIndex InvalidIndex;
public:
VHierarchyNodeIndex()
{ value_ = 0; }
VHierarchyNodeIndex(unsigned int _value)
{ value_ = _value; }
VHierarchyNodeIndex(const VHierarchyNodeIndex &_other)
{ value_ = _other.value_; }
VHierarchyNodeIndex(unsigned int _tree_id,
unsigned int _node_id,
unsigned short _tree_id_bits)
{
assert(_tree_id < ((unsigned int) 0x00000001 << _tree_id_bits));
assert(_node_id < ((unsigned int) 0x00000001 << (32 - _tree_id_bits)));
value_ = (_tree_id << (32 - _tree_id_bits)) | _node_id;
}
bool is_valid(unsigned short _tree_id_bits) const
{ return node_id(_tree_id_bits) != 0 ? true : false; }
unsigned int tree_id(unsigned short _tree_id_bits) const
{ return value_ >> (32 - _tree_id_bits); }
unsigned int node_id(unsigned short _tree_id_bits) const
{ return value_ & ((unsigned int) 0xFFFFFFFF >> _tree_id_bits); }
bool operator< (const VHierarchyNodeIndex &other) const
{ return (value_ < other.value_) ? true : false; }
unsigned int value() const
{ return value_; }
};
/// Container for vertex hierarchy node indices
typedef std::vector<VHierarchyNodeIndex> VHierarchyNodeIndexContainer;
//=============================================================================
} // namespace VDPM
} // namespace OpenMesh
//=============================================================================
#endif // OPENMESH_VDPROGMESH_VHIERARCHYNODEINDEX_HH defined
//=============================================================================
* ========================================================================= */
/*===========================================================================*\
* *
* $Revision$ *
* $Date$ *
* *
\*===========================================================================*/
//=============================================================================
//
// CLASS newClass
//
//=============================================================================
#ifndef OPENMESH_VDPROGMESH_VHIERARCHYNODEINDEX_HH
#define OPENMESH_VDPROGMESH_VHIERARCHYNODEINDEX_HH
//== INCLUDES =================================================================
#include <vector>
#include <cassert>
//== FORWARDDECLARATIONS ======================================================
//== NAMESPACES ===============================================================
namespace OpenMesh {
namespace VDPM {
//== CLASS DEFINITION =========================================================
/** Index of vertex hierarchy node
*/
class VHierarchyNodeIndex
{
private:
unsigned int value_;
public:
static const VHierarchyNodeIndex InvalidIndex;
public:
VHierarchyNodeIndex()
{ value_ = 0; }
explicit VHierarchyNodeIndex(unsigned int _value)
{ value_ = _value; }
VHierarchyNodeIndex(const VHierarchyNodeIndex &_other)
{ value_ = _other.value_; }
VHierarchyNodeIndex(unsigned int _tree_id,
unsigned int _node_id,
unsigned short _tree_id_bits)
{
assert(_tree_id < ((unsigned int) 0x00000001 << _tree_id_bits));
assert(_node_id < ((unsigned int) 0x00000001 << (32 - _tree_id_bits)));
value_ = (_tree_id << (32 - _tree_id_bits)) | _node_id;
}
bool is_valid(unsigned short _tree_id_bits) const
{ return node_id(_tree_id_bits) != 0 ? true : false; }
unsigned int tree_id(unsigned short _tree_id_bits) const
{ return value_ >> (32 - _tree_id_bits); }
unsigned int node_id(unsigned short _tree_id_bits) const
{ return value_ & ((unsigned int) 0xFFFFFFFF >> _tree_id_bits); }
bool operator< (const VHierarchyNodeIndex &other) const
{ return (value_ < other.value_) ? true : false; }
unsigned int value() const
{ return value_; }
};
/// Container for vertex hierarchy node indices
typedef std::vector<VHierarchyNodeIndex> VHierarchyNodeIndexContainer;
//=============================================================================
} // namespace VDPM
} // namespace OpenMesh
//=============================================================================
#endif // OPENMESH_VDPROGMESH_VHIERARCHYNODEINDEX_HH defined
//=============================================================================
......@@ -66,8 +66,8 @@ IF(OPENMESH_BUILD_PYTHON_BINDINGS)
IF(COMPILE_WORKS)
# Look for the python interpreter to check if the example works
# strip version string of any characters (e.g. # '+') than 0-9 and .
STRING(REGEX REPLACE "[^ 0-9 | \\.]" "" PYTHONLIBS_VERSION_STRING_STRIPPED ${PYTHONLIBS_VERSION_STRING})
# strip version string of any characters (e.g. rc1 # '+') than 0-9 and .
STRING(REGEX REPLACE "(rc[0-9]+)|[^ 0-9 | \\.]" "" PYTHONLIBS_VERSION_STRING_STRIPPED ${PYTHONLIBS_VERSION_STRING})
FIND_PACKAGE(PythonInterp ${PYTHONLIBS_VERSION_STRING_STRIPPED} QUIET)
IF(PYTHONINTERP_FOUND)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment