From 68d10a2fe15ca4d90bdaad66a9cb772c555b4077 Mon Sep 17 00:00:00 2001 From: Dale Glass Date: Sat, 18 Jan 2020 20:48:00 +0100 Subject: [PATCH 1/2] Make default copy constructors explicit Recent versions of gcc generate a warning without this --- interface/src/raypick/StylusPick.h | 2 ++ libraries/animation/src/AnimInverseKinematics.h | 1 + libraries/entities/src/EntityItemProperties.h | 2 ++ libraries/entities/src/SimulationOwner.h | 1 + libraries/shared/src/CubicHermiteSpline.h | 4 ++++ 5 files changed, 10 insertions(+) diff --git a/interface/src/raypick/StylusPick.h b/interface/src/raypick/StylusPick.h index 27514efefa..89444149d8 100644 --- a/interface/src/raypick/StylusPick.h +++ b/interface/src/raypick/StylusPick.h @@ -31,6 +31,8 @@ public: surfaceNormal = stylusPickResult.surfaceNormal; } + StylusPickResult& operator=(const StylusPickResult &right) = default; + IntersectionType type { NONE }; bool intersects { false }; QUuid objectID; diff --git a/libraries/animation/src/AnimInverseKinematics.h b/libraries/animation/src/AnimInverseKinematics.h index bcad7867cc..aa7e8fb69e 100644 --- a/libraries/animation/src/AnimInverseKinematics.h +++ b/libraries/animation/src/AnimInverseKinematics.h @@ -162,6 +162,7 @@ protected: const QString& typeVarIn, const QString& weightVarIn, float weightIn, const std::vector& flexCoefficientsIn, const QString& poleVectorEnabledVar, const QString& poleReferenceVectorVar, const QString& poleVectorVar); IKTargetVar(const IKTargetVar& orig); + AnimInverseKinematics::IKTargetVar& operator=(const AnimInverseKinematics::IKTargetVar&) = default; QString jointName; QString positionVar; diff --git a/libraries/entities/src/EntityItemProperties.h b/libraries/entities/src/EntityItemProperties.h index 63d8183899..7ee6742e7f 100644 --- a/libraries/entities/src/EntityItemProperties.h +++ b/libraries/entities/src/EntityItemProperties.h @@ -121,6 +121,8 @@ public: static void propertiesToBlob(QScriptEngine& scriptEngine, const QUuid& myAvatarID, const EntityItemProperties& properties, QByteArray& blob); EntityItemProperties(EntityPropertyFlags desiredProperties = EntityPropertyFlags()); + EntityItemProperties(const EntityItemProperties&) = default; + virtual ~EntityItemProperties() = default; void merge(const EntityItemProperties& other); diff --git a/libraries/entities/src/SimulationOwner.h b/libraries/entities/src/SimulationOwner.h index 6f37066e47..4039719cd3 100644 --- a/libraries/entities/src/SimulationOwner.h +++ b/libraries/entities/src/SimulationOwner.h @@ -112,6 +112,7 @@ public: SimulationOwner(); SimulationOwner(const QUuid& id, uint8_t priority); + SimulationOwner(const SimulationOwner &) = default; const QUuid& getID() const { return _id; } const uint64_t& getExpiry() const { return _expiry; } diff --git a/libraries/shared/src/CubicHermiteSpline.h b/libraries/shared/src/CubicHermiteSpline.h index c83000996b..f91b25aa7a 100644 --- a/libraries/shared/src/CubicHermiteSpline.h +++ b/libraries/shared/src/CubicHermiteSpline.h @@ -19,6 +19,8 @@ public: CubicHermiteSplineFunctor(const CubicHermiteSplineFunctor& orig) : _p0(orig._p0), _m0(orig._m0), _p1(orig._p1), _m1(orig._m1) {} + CubicHermiteSplineFunctor& operator=(const CubicHermiteSplineFunctor&) = default; + virtual ~CubicHermiteSplineFunctor() {} // evalute the hermite curve at parameter t (0..1) @@ -85,6 +87,8 @@ public: memcpy(_values, orig._values, sizeof(float) * (NUM_SUBDIVISIONS + 1)); } + CubicHermiteSplineFunctorWithArcLength& operator=(const CubicHermiteSplineFunctorWithArcLength&) = default; + // given the spline parameter (0..1) output the arcLength of the spline up to that point. float arcLength(float t) const { float index = t * NUM_SUBDIVISIONS; From d0dc041275ae9b0eae64a5776159bfbcdba35bc5 Mon Sep 17 00:00:00 2001 From: Dale Glass Date: Sun, 19 Jan 2020 11:24:51 +0100 Subject: [PATCH 2/2] Another default operator= and copy constructor --- libraries/image/src/image/Image.h | 2 +- libraries/shared/src/shared/MediaTypeLibrary.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/image/src/image/Image.h b/libraries/image/src/image/Image.h index dd39383dfb..14aa12d11a 100644 --- a/libraries/image/src/image/Image.h +++ b/libraries/image/src/image/Image.h @@ -59,7 +59,7 @@ namespace image { Image() : _dims(0,0) {} Image(int width, int height, Format format); Image(const QImage& data) : _packedData(data), _dims(data.width(), data.height()), _format((Format)data.format()) {} - + Image(const Image &other) = default; void operator=(const QImage& other) { _packedData = other; _floatData.clear(); diff --git a/libraries/shared/src/shared/MediaTypeLibrary.h b/libraries/shared/src/shared/MediaTypeLibrary.h index c87da01fa1..d4931c1601 100644 --- a/libraries/shared/src/shared/MediaTypeLibrary.h +++ b/libraries/shared/src/shared/MediaTypeLibrary.h @@ -48,6 +48,7 @@ public: webMediaTypes(mediaType.webMediaTypes), fileSignatures(mediaType.fileSignatures) { } + MediaType& operator=(const MediaType&) = default; static MediaType NONE;