Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions 3rdparty/convexdecomposition/NvFloatMath.h
Original file line number Diff line number Diff line change
Expand Up @@ -422,6 +422,7 @@ NxF64 fm_computeMeshVolume(const NxF64 *vertices,NxU32 tcount,const NxU32 *indic
class fm_VertexIndex
{
public:
virtual ~fm_VertexIndex() = default;
virtual NxU32 getIndex(const NxF32 pos[3],bool &newPos) = 0; // get welded index for this NxF32 vector[3]
virtual NxU32 getIndex(const NxF64 pos[3],bool &newPos) = 0; // get welded index for this NxF64 vector[3]
virtual const NxF32 * getVerticesFloat(void) const = 0;
Expand Down Expand Up @@ -482,6 +483,7 @@ void fm_releaseLineSweep(fm_LineSweep *sweep);
class fm_Triangulate
{
public:
virtual ~fm_Triangulate() = default;
virtual const NxF64 * triangulate3d(NxU32 pcount,
const NxF64 *points,
NxU32 vstride,
Expand Down Expand Up @@ -555,6 +557,7 @@ void fm_OBBtoAABB(const NxF32 obmin[3],const NxF32 obmax[3],const NxF32 matri
class fm_Tesselate
{
public:
virtual ~fm_Tesselate() = default;
virtual const NxU32 * tesselate(fm_VertexIndex *vindex,NxU32 tcount,const NxU32 *indices,NxF32 longEdge,NxU32 maxDepth,NxU32 &outcount) = 0;
};

Expand Down
1 change: 1 addition & 0 deletions 3rdparty/convexdecomposition/NvFloatMath.inl
Original file line number Diff line number Diff line change
Expand Up @@ -2279,6 +2279,7 @@ public:
class KdTreeInterface
{
public:
virtual ~KdTreeInterface() = default;
virtual const NxF64 * getPositionDouble(NxU32 index) const = 0;
virtual const NxF32 * getPositionFloat(NxU32 index) const = 0;
};
Expand Down
1 change: 1 addition & 0 deletions 3rdparty/convexdecomposition/NvMeshIslandGeneration.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ namespace CONVEX_DECOMPOSITION
class MeshIslandGeneration
{
public:
virtual ~MeshIslandGeneration() = default;

virtual NxU32 islandGenerate(NxU32 tcount,const NxU32 *indices,const NxF32 *vertices) = 0;
virtual NxU32 islandGenerate(NxU32 tcount,const NxU32 *indices,const NxF64 *vertices) = 0;
Expand Down
1 change: 1 addition & 0 deletions 3rdparty/convexdecomposition/NvRemoveTjunctions.h
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ class RemoveTjunctionsDesc
class RemoveTjunctions
{
public:
virtual ~RemoveTjunctions() = default;

virtual NxU32 removeTjunctions(RemoveTjunctionsDesc &desc) =0; // returns number of triangles output and the descriptor is filled with the appropriate results.

Expand Down
1 change: 1 addition & 0 deletions 3rdparty/convexdecomposition/NvStanHull.h
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ class ConvexHullVertex
class ConvexHullTriangleInterface
{
public:
virtual ~ConvexHullTriangleInterface() = default;
virtual void ConvexHullTriangle(const ConvexHullVertex &v1,const ConvexHullVertex &v2,const ConvexHullVertex &v3) = 0;
};

Expand Down
3 changes: 3 additions & 0 deletions 3rdparty/convexdecomposition/NvThreadConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ NxI32 tc_interlockedCompareExchange(void *dest, const NxI32 exchange1, cons
class ThreadMutex
{
public:
virtual ~ThreadMutex() = default;
virtual void lock(void) = 0;
virtual void unlock(void) = 0;
virtual bool tryLock(void) = 0;
Expand All @@ -91,6 +92,7 @@ void tc_releaseThreadMutex(ThreadMutex *tm);
class ThreadInterface
{
public:
virtual ~ThreadInterface() = default;
virtual void threadMain(void) = 0;
};

Expand All @@ -105,6 +107,7 @@ void tc_releaseThread(Thread *t);
class ThreadEvent
{
public:
virtual ~ThreadEvent() = default;
virtual void setEvent(void) = 0; // signal the event
virtual void resetEvent(void) = 0;
virtual void waitForSingleObject(NxU32 ms) = 0;
Expand Down
2 changes: 2 additions & 0 deletions 3rdparty/convexdecomposition/wavefront.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ namespace WAVEFRONT
class InPlaceParserInterface
{
public:
virtual ~InPlaceParserInterface() = default;
virtual NxI32 ParseLine(NxI32 lineno,NxI32 argc,const char **argv) =0; // return TRUE to continue parsing, return FALSE to abort parsing process
};

Expand Down Expand Up @@ -540,6 +541,7 @@ class GeometryVertex
class GeometryInterface
{
public:
virtual ~GeometryInterface() = default;

virtual void NodeTriangle(const GeometryVertex *v1,const GeometryVertex *v2,const GeometryVertex *v3, bool textured)
{
Expand Down
6 changes: 2 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE )

# Define here the needed parameters
set (OPENRAVE_VERSION_MAJOR 0)
set (OPENRAVE_VERSION_MINOR 173)
set (OPENRAVE_VERSION_MINOR 174)
set (OPENRAVE_VERSION_PATCH 0)
set (OPENRAVE_VERSION ${OPENRAVE_VERSION_MAJOR}.${OPENRAVE_VERSION_MINOR}.${OPENRAVE_VERSION_PATCH})
set (OPENRAVE_SOVERSION ${OPENRAVE_VERSION_MAJOR}.${OPENRAVE_VERSION_MINOR})
Expand Down Expand Up @@ -190,6 +190,7 @@ endif()
if( CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR COMPILER_IS_CLANG)
add_definitions("-fno-strict-aliasing -Wall -Werror=shadow")
add_definitions("-Werror=return-type")
add_definitions("-Werror=non-virtual-dtor")

set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}")
endif()
Expand All @@ -198,9 +199,6 @@ if( CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX )
add_definitions("-Werror=return-local-addr")
elseif( COMPILER_IS_CLANG )
add_definitions("-Werror=return-stack-address")
# prevents CLANG from "error: integer value -1 is outside the valid range of values [0, 3]
# for the enumeration type 'sign_mixture_enum' [-Wenum-constexpr-conversion]"
add_definitions("-Wno-error=enum-constexpr-conversion")
endif()

set(OPENRAVE_EXPORT_CXXFLAGS)
Expand Down
5 changes: 5 additions & 0 deletions docs/source/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@
ChangeLog
#########

Version 0.174.0
===============

Add virtual destructors

Version 0.173.0
===============

Expand Down
4 changes: 4 additions & 0 deletions plugins/ikfastsolvers/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ if( OPT_IKFAST_FLOAT32 )
set(PLUGIN_COMPILE_FLAGS "${PLUGIN_COMPILE_FLAGS} -DOPENRAVE_IKFAST_FLOAT32")
endif()

if( CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR COMPILER_IS_CLANG)
add_definitions("-Wno-error=non-virtual-dtor")
endif()

#file(GLOB ik_files "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")

include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../python) # for ikfast.h
Expand Down
1 change: 1 addition & 0 deletions plugins/ikfastsolvers/jacobianinverse.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ class JacobianInverseSolver
_lastiter = -1;
_nMaxIterations = 100;
}
virtual ~JacobianInverseSolver() = default;

/// \brief initializes with the manipulator, but doesn't store it!
///
Expand Down
2 changes: 2 additions & 0 deletions plugins/rmanipulation/taskmanipulation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,8 @@ Task-based manipulation planning involving target objects. A lot of the algorith
*it *= *it;
}
}
virtual ~ActiveDistMetric() = default;

virtual dReal Eval(const std::vector<dReal>& c0, const std::vector<dReal>& c1)
{
dReal out = 0;
Expand Down
3 changes: 3 additions & 0 deletions plugins/rplanners/ParabolicPathSmooth/DynamicPath.h
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,8 @@ class RampFeasibilityChecker
RampFeasibilityChecker(FeasibilityCheckerBase* feas);
RampFeasibilityChecker(FeasibilityCheckerBase* feas,DistanceCheckerBase* distance,int maxiters);

virtual ~RampFeasibilityChecker() = default;

/// \brief checks constraints given options
///
/// \return if non-zero then failed. The return code gives the cause of the failure. \see OpenRAVE::ConstraintFilterOptions enum.
Expand All @@ -132,6 +134,7 @@ class RampFeasibilityChecker
class RandomNumberGeneratorBase
{
public:
virtual ~RandomNumberGeneratorBase() = default;
virtual Real Rand() {
return ::ParabolicRampInternal::Rand();
}
Expand Down
2 changes: 1 addition & 1 deletion plugins/rplanners/piecewisepolynomials/cubicinterpolator.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class CubicInterpolator : public InterpolatorBase {
/*
*/
CubicInterpolator(size_t ndof, int envid=0);
~CubicInterpolator()
virtual ~CubicInterpolator()
{
}

Expand Down
2 changes: 1 addition & 1 deletion plugins/rplanners/piecewisepolynomials/interpolatorbase.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class InterpolatorBase {
{
}
InterpolatorBase(size_t ndof, int envid=0);
~InterpolatorBase()
virtual ~InterpolatorBase()
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ class Polynomial {
{
};
Polynomial(const dReal T, const std::vector<dReal>& c);
~Polynomial()
virtual ~Polynomial()
{
}

Expand Down
2 changes: 2 additions & 0 deletions plugins/rplanners/rampoptimizer/feasibilitychecker.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ class RampNDFeasibilityChecker {
public:
RampNDFeasibilityChecker(FeasibilityCheckerBase* feas);
RampNDFeasibilityChecker(FeasibilityCheckerBase* feas, DistanceCheckerBase* dist, int maxiter);
virtual ~RampNDFeasibilityChecker() = default;

virtual int Check(const std::vector<RampND>& rampsndVect, int options=0xffff);
virtual CheckReturn Check2(const RampND& rampnd, int options, std::vector<RampND>& rampsndVectOut)
Expand All @@ -103,6 +104,7 @@ class RampNDFeasibilityChecker {

class RandomNumberGeneratorBase {
public:
virtual ~RandomNumberGeneratorBase() = default;
virtual dReal Rand()
{
return ::OpenRAVE::RampOptimizerInternal::Rand();
Expand Down
1 change: 1 addition & 0 deletions plugins/rplanners/randomized-astar.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ class RandomizedAStarPlanner : public PlannerBase
public:
SimpleCostMetric(RobotBasePtr robot) {
}
virtual ~SimpleCostMetric() = default;
virtual float Eval(const vector<dReal>& pConfiguration) {
return 1;
}
Expand Down
2 changes: 2 additions & 0 deletions plugins/rplanners/rplanners.h
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,8 @@ class SimpleNode : public NodeBase
class SpatialTreeBase
{
public:
virtual ~SpatialTreeBase() = default;

virtual void Init(boost::weak_ptr<PlannerBase> planner, int dof, boost::function<dReal(const std::vector<dReal>&, const std::vector<dReal>&)>& distmetricfn, dReal fStepLength, dReal maxdistance) = 0;

/// inserts a node in the try
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ class OPENRAVEPY_API PyEnvironmentBase : public OPENRAVE_ENABLE_SHARED_FROM_THIS
public:
PyEnvironmentBaseInfo();
PyEnvironmentBaseInfo(const EnvironmentBase::EnvironmentBaseInfo& info);
virtual ~PyEnvironmentBaseInfo() = default;
py::dict SerializeJSON(dReal fUnitScale=1.0, py::object options=py::none_());
void DeserializeJSON(py::object obj, dReal fUnitScale=1.0, py::object options=py::none_());
EnvironmentBase::EnvironmentBaseInfoPtr GetEnvironmentBaseInfo() const;
Expand Down
1 change: 1 addition & 0 deletions python/bindings/include/openravepy/openravepy_jointinfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,7 @@ class OPENRAVEPY_API PyGeometry
KinBody::Link::GeometryPtr _pgeometry;
public:
PyGeometry(KinBody::Link::GeometryPtr pgeometry);
virtual ~PyGeometry() = default;

virtual void SetCollisionMesh(object pytrimesh);

Expand Down
1 change: 1 addition & 0 deletions python/bindings/include/openravepy/openravepy_kinbody.h
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ class OPENRAVEPY_API PyKinBody : public PyInterfaceBase
public:
PyKinBodyInfo();
PyKinBodyInfo(const KinBody::KinBodyInfo& info);
virtual ~PyKinBodyInfo() = default;
py::dict SerializeJSON(dReal fUnitScale=1.0, py::object options=py::none_());
void DeserializeJSON(py::object obj, dReal fUnitScale=1.0, py::object options=py::none_());
KinBody::KinBodyInfoPtr GetKinBodyInfo() const;
Expand Down
1 change: 1 addition & 0 deletions python/bindings/openravepy_global.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -289,6 +289,7 @@ class PyOrientedBox
}
PyOrientedBox(const OrientedBox& newobb) : obb(newobb) {
}
virtual ~PyOrientedBox() = default;

object extents() {
return toPyVector3(obb.extents);
Expand Down
Loading