diff --git a/dart/dynamics/BallJoint.h b/dart/dynamics/BallJoint.h index 577f0f6606520..b50b2dc2dee4a 100644 --- a/dart/dynamics/BallJoint.h +++ b/dart/dynamics/BallJoint.h @@ -55,6 +55,7 @@ class BallJoint : public MultiDofJoint<3> { Properties(const MultiDofJoint<3>::Properties& _properties = MultiDofJoint<3>::Properties()); + virtual ~Properties() = default; }; /// Constructor diff --git a/dart/dynamics/EulerJoint.h b/dart/dynamics/EulerJoint.h index 1707d16113df9..97a9d7129fd59 100644 --- a/dart/dynamics/EulerJoint.h +++ b/dart/dynamics/EulerJoint.h @@ -65,6 +65,8 @@ class EulerJoint : public MultiDofJoint<3> /// Constructor UniqueProperties(AxisOrder _axisOrder = AO_XYZ); + + virtual ~UniqueProperties() = default; }; struct Properties : MultiDofJoint<3>::Properties, EulerJoint::UniqueProperties @@ -75,6 +77,8 @@ class EulerJoint : public MultiDofJoint<3> MultiDofJoint<3>::Properties(), const EulerJoint::UniqueProperties& _eulerJointProperties = EulerJoint::UniqueProperties()); + + virtual ~Properties() = default; }; /// Constructor diff --git a/dart/dynamics/FreeJoint.h b/dart/dynamics/FreeJoint.h index 6a6c57e093d17..0bcc0ff3b26cc 100644 --- a/dart/dynamics/FreeJoint.h +++ b/dart/dynamics/FreeJoint.h @@ -57,6 +57,8 @@ class FreeJoint : public MultiDofJoint<6> { Properties(const MultiDofJoint<6>::Properties& _properties = MultiDofJoint<6>::Properties()); + + virtual ~Properties() = default; }; /// Constructor diff --git a/dart/dynamics/Joint.h b/dart/dynamics/Joint.h index 04fa197794a8f..990390491798c 100644 --- a/dart/dynamics/Joint.h +++ b/dart/dynamics/Joint.h @@ -145,6 +145,8 @@ class Joint : public virtual common::Subject Eigen::Isometry3d::Identity(), bool _isPositionLimited = false, ActuatorType _actuatorType = DefaultActuatorType); + + virtual ~Properties() = default; }; /// Default actuator type @@ -912,6 +914,8 @@ class TemplateJointPtr template friend class TemplateJointPtr; + typedef JointT element_type; + /// Default constructor TemplateJointPtr() = default; diff --git a/dart/dynamics/MultiDofJoint.h b/dart/dynamics/MultiDofJoint.h index f5c1d9c1d7de2..a47ee5a190e48 100644 --- a/dart/dynamics/MultiDofJoint.h +++ b/dart/dynamics/MultiDofJoint.h @@ -121,6 +121,8 @@ class MultiDofJoint : public Joint const Vector& _restPosition = Vector::Constant(0.0), const Vector& _dampingCoefficient = Vector::Constant(0.0), const Vector& _coulombFrictions = Vector::Constant(0.0)); + + virtual ~UniqueProperties() = default; }; struct Properties : Joint::Properties, UniqueProperties @@ -128,6 +130,8 @@ class MultiDofJoint : public Joint Properties( const Joint::Properties& _jointProperties = Joint::Properties(), const UniqueProperties& _multiDofProperties = UniqueProperties()); + + virtual ~Properties() = default; }; /// Constructor diff --git a/dart/dynamics/PlanarJoint.h b/dart/dynamics/PlanarJoint.h index bc51c18d8a872..59afefe891329 100644 --- a/dart/dynamics/PlanarJoint.h +++ b/dart/dynamics/PlanarJoint.h @@ -95,6 +95,8 @@ class PlanarJoint : public MultiDofJoint<3> UniqueProperties(const Eigen::Vector3d& _transAxis1, const Eigen::Vector3d& _transAxis2); + virtual ~UniqueProperties() = default; + /// Set plane type as XY-plane void setXYPlane(); @@ -115,6 +117,8 @@ class PlanarJoint : public MultiDofJoint<3> MultiDofJoint<3>::Properties(), const PlanarJoint::UniqueProperties& _planarProperties = PlanarJoint::UniqueProperties()); + + virtual ~Properties() = default; }; /// Constructor diff --git a/dart/dynamics/PrismaticJoint.h b/dart/dynamics/PrismaticJoint.h index 0793eaf6c95f7..a00cd7f9c9bed 100644 --- a/dart/dynamics/PrismaticJoint.h +++ b/dart/dynamics/PrismaticJoint.h @@ -58,6 +58,7 @@ class PrismaticJoint : public SingleDofJoint Eigen::Vector3d mAxis; UniqueProperties(const Eigen::Vector3d& _axis = Eigen::Vector3d::UnitZ()); + virtual ~UniqueProperties() = default; }; struct Properties : SingleDofJoint::Properties, @@ -68,6 +69,7 @@ class PrismaticJoint : public SingleDofJoint SingleDofJoint::Properties(), const PrismaticJoint::UniqueProperties& _prismaticProperties = PrismaticJoint::UniqueProperties()); + virtual ~Properties() = default; }; /// Constructor diff --git a/dart/dynamics/RevoluteJoint.h b/dart/dynamics/RevoluteJoint.h index 7c1a9311b564b..fdbd2d1c1bde0 100644 --- a/dart/dynamics/RevoluteJoint.h +++ b/dart/dynamics/RevoluteJoint.h @@ -58,6 +58,8 @@ class RevoluteJoint : public SingleDofJoint Eigen::Vector3d mAxis; UniqueProperties(const Eigen::Vector3d& _axis = Eigen::Vector3d::UnitZ()); + + virtual ~UniqueProperties() = default; }; struct Properties : SingleDofJoint::Properties, @@ -68,6 +70,8 @@ class RevoluteJoint : public SingleDofJoint SingleDofJoint::Properties(), const RevoluteJoint::UniqueProperties& _revoluteProperties = RevoluteJoint::UniqueProperties()); + + virtual ~Properties() = default; }; /// Constructor diff --git a/dart/dynamics/ScrewJoint.h b/dart/dynamics/ScrewJoint.h index 0b9264e251b39..9e983193dbfb6 100644 --- a/dart/dynamics/ScrewJoint.h +++ b/dart/dynamics/ScrewJoint.h @@ -63,6 +63,7 @@ class ScrewJoint : public SingleDofJoint UniqueProperties(const Eigen::Vector3d& _axis = Eigen::Vector3d::UnitZ(), double _pitch = 0.1); + virtual ~UniqueProperties() = default; }; struct Properties : SingleDofJoint::Properties, @@ -73,6 +74,7 @@ class ScrewJoint : public SingleDofJoint SingleDofJoint::Properties(), const ScrewJoint::UniqueProperties& _screwProperties = ScrewJoint::UniqueProperties()); + virtual ~Properties() = default; }; /// Constructor diff --git a/dart/dynamics/SingleDofJoint.h b/dart/dynamics/SingleDofJoint.h index d38bb16ef9a7c..5706a375463ef 100644 --- a/dart/dynamics/SingleDofJoint.h +++ b/dart/dynamics/SingleDofJoint.h @@ -112,6 +112,8 @@ class SingleDofJoint : public Joint double _coulombFriction = 0.0, bool _preserveDofName = false, std::string _dofName = ""); + + virtual ~UniqueProperties() = default; }; struct Properties : Joint::Properties, UniqueProperties @@ -119,6 +121,8 @@ class SingleDofJoint : public Joint Properties( const Joint::Properties& _jointProperties = Joint::Properties(), const UniqueProperties& _singleDofProperties = UniqueProperties()); + + virtual ~Properties() = default; }; /// Constructor diff --git a/dart/dynamics/TranslationalJoint.h b/dart/dynamics/TranslationalJoint.h index 13f1e8a2a3fb9..3ef5b3dce160e 100644 --- a/dart/dynamics/TranslationalJoint.h +++ b/dart/dynamics/TranslationalJoint.h @@ -55,6 +55,7 @@ class TranslationalJoint : public MultiDofJoint<3> { Properties(const MultiDofJoint<3>::Properties& _properties = MultiDofJoint<3>::Properties()); + virtual ~Properties() = default; }; /// Constructor diff --git a/dart/dynamics/UniversalJoint.h b/dart/dynamics/UniversalJoint.h index 1f722caabe03c..53a87dcd50a68 100644 --- a/dart/dynamics/UniversalJoint.h +++ b/dart/dynamics/UniversalJoint.h @@ -59,6 +59,8 @@ class UniversalJoint : public MultiDofJoint<2> UniqueProperties(const Eigen::Vector3d& _axis1 = Eigen::Vector3d::UnitX(), const Eigen::Vector3d& _axis2 = Eigen::Vector3d::UnitY()); + + virtual ~UniqueProperties() = default; }; struct Properties : MultiDofJoint<2>::Properties, @@ -68,6 +70,7 @@ class UniversalJoint : public MultiDofJoint<2> MultiDofJoint<2>::Properties(), const UniversalJoint::UniqueProperties& _universalProperties = UniversalJoint::UniqueProperties()); + virtual ~Properties() = default; }; /// Constructor diff --git a/dart/dynamics/WeldJoint.h b/dart/dynamics/WeldJoint.h index da1d307613d6a..383a7c0269f34 100644 --- a/dart/dynamics/WeldJoint.h +++ b/dart/dynamics/WeldJoint.h @@ -56,6 +56,7 @@ class WeldJoint : public ZeroDofJoint struct Properties : ZeroDofJoint::Properties { Properties(const Joint::Properties& _properties = Joint::Properties()); + virtual ~Properties() = default; }; /// Constructor diff --git a/dart/dynamics/ZeroDofJoint.h b/dart/dynamics/ZeroDofJoint.h index 801bfbbf17ec2..7d72ab3a7bed4 100644 --- a/dart/dynamics/ZeroDofJoint.h +++ b/dart/dynamics/ZeroDofJoint.h @@ -55,6 +55,7 @@ class ZeroDofJoint : public Joint struct Properties : Joint::Properties { Properties(const Joint::Properties& _properties = Joint::Properties()); + virtual ~Properties() = default; }; /// Constructor