mirror of
https://git.mirrors.martin98.com/https://github.com/syoyo/tinygltf.git
synced 2025-08-15 19:55:58 +08:00
Merge pull request #202 from Ybalrid/fix_copy_assignment_operator
Fix broken copy-assignment operators
This commit is contained in:
commit
8bb18fbd9c
69
tiny_gltf.h
69
tiny_gltf.h
@ -585,6 +585,7 @@ struct Sampler {
|
|||||||
wrapT(TINYGLTF_TEXTURE_WRAP_REPEAT),
|
wrapT(TINYGLTF_TEXTURE_WRAP_REPEAT),
|
||||||
wrapR(TINYGLTF_TEXTURE_WRAP_REPEAT) {}
|
wrapR(TINYGLTF_TEXTURE_WRAP_REPEAT) {}
|
||||||
Sampler(const Sampler &) = default;
|
Sampler(const Sampler &) = default;
|
||||||
|
Sampler &operator=(const Sampler &) = default;
|
||||||
Sampler(Sampler &&rhs) noexcept : name(std::move(rhs.name)),
|
Sampler(Sampler &&rhs) noexcept : name(std::move(rhs.name)),
|
||||||
minFilter(rhs.minFilter),
|
minFilter(rhs.minFilter),
|
||||||
magFilter(rhs.magFilter),
|
magFilter(rhs.magFilter),
|
||||||
@ -626,6 +627,7 @@ struct Image {
|
|||||||
component = -1;
|
component = -1;
|
||||||
}
|
}
|
||||||
Image(const Image &) = default;
|
Image(const Image &) = default;
|
||||||
|
Image &operator=(const Image &) = default;
|
||||||
Image(Image &&rhs) noexcept : name(std::move(rhs.name)),
|
Image(Image &&rhs) noexcept : name(std::move(rhs.name)),
|
||||||
width(rhs.width),
|
width(rhs.width),
|
||||||
height(rhs.height),
|
height(rhs.height),
|
||||||
@ -653,6 +655,7 @@ struct Texture {
|
|||||||
|
|
||||||
Texture() : sampler(-1), source(-1) {}
|
Texture() : sampler(-1), source(-1) {}
|
||||||
Texture(const Texture &) = default;
|
Texture(const Texture &) = default;
|
||||||
|
Texture &operator=(const Texture &) = default;
|
||||||
Texture(Texture &&rhs) noexcept : name(std::move(rhs.name)),
|
Texture(Texture &&rhs) noexcept : name(std::move(rhs.name)),
|
||||||
sampler(rhs.sampler),
|
sampler(rhs.sampler),
|
||||||
source(rhs.source),
|
source(rhs.source),
|
||||||
@ -672,6 +675,7 @@ struct TextureInfo {
|
|||||||
|
|
||||||
TextureInfo() : index(-1), texCoord(0) {}
|
TextureInfo() : index(-1), texCoord(0) {}
|
||||||
TextureInfo(const TextureInfo &) = default;
|
TextureInfo(const TextureInfo &) = default;
|
||||||
|
TextureInfo &operator=(const TextureInfo &) = default;
|
||||||
TextureInfo(TextureInfo &&rhs) noexcept
|
TextureInfo(TextureInfo &&rhs) noexcept
|
||||||
: index(rhs.index),
|
: index(rhs.index),
|
||||||
texCoord(rhs.texCoord),
|
texCoord(rhs.texCoord),
|
||||||
@ -692,6 +696,7 @@ struct NormalTextureInfo {
|
|||||||
|
|
||||||
NormalTextureInfo() : index(-1), texCoord(0), scale(1.0) {}
|
NormalTextureInfo() : index(-1), texCoord(0), scale(1.0) {}
|
||||||
NormalTextureInfo(const NormalTextureInfo &) = default;
|
NormalTextureInfo(const NormalTextureInfo &) = default;
|
||||||
|
NormalTextureInfo &operator=(const NormalTextureInfo &) = default;
|
||||||
NormalTextureInfo(NormalTextureInfo &&rhs) noexcept
|
NormalTextureInfo(NormalTextureInfo &&rhs) noexcept
|
||||||
: index(rhs.index),
|
: index(rhs.index),
|
||||||
texCoord(rhs.texCoord),
|
texCoord(rhs.texCoord),
|
||||||
@ -713,6 +718,7 @@ struct OcclusionTextureInfo {
|
|||||||
|
|
||||||
OcclusionTextureInfo() : index(-1), texCoord(0), strength(1.0) {}
|
OcclusionTextureInfo() : index(-1), texCoord(0), strength(1.0) {}
|
||||||
OcclusionTextureInfo(const OcclusionTextureInfo &) = default;
|
OcclusionTextureInfo(const OcclusionTextureInfo &) = default;
|
||||||
|
OcclusionTextureInfo &operator=(const OcclusionTextureInfo &) = default;
|
||||||
OcclusionTextureInfo(OcclusionTextureInfo &&rhs) noexcept
|
OcclusionTextureInfo(OcclusionTextureInfo &&rhs) noexcept
|
||||||
: index(rhs.index),
|
: index(rhs.index),
|
||||||
texCoord(rhs.texCoord),
|
texCoord(rhs.texCoord),
|
||||||
@ -735,6 +741,7 @@ struct PbrMetallicRoughness {
|
|||||||
|
|
||||||
PbrMetallicRoughness() : metallicFactor(1.0), roughnessFactor(1.0) {}
|
PbrMetallicRoughness() : metallicFactor(1.0), roughnessFactor(1.0) {}
|
||||||
PbrMetallicRoughness(const PbrMetallicRoughness &) = default;
|
PbrMetallicRoughness(const PbrMetallicRoughness &) = default;
|
||||||
|
PbrMetallicRoughness &operator=(const PbrMetallicRoughness &) = default;
|
||||||
PbrMetallicRoughness(PbrMetallicRoughness &&rhs) noexcept
|
PbrMetallicRoughness(PbrMetallicRoughness &&rhs) noexcept
|
||||||
: baseColorFactor(std::move(rhs.baseColorFactor)),
|
: baseColorFactor(std::move(rhs.baseColorFactor)),
|
||||||
baseColorTexture(std::move(rhs.baseColorTexture)),
|
baseColorTexture(std::move(rhs.baseColorTexture)),
|
||||||
@ -773,6 +780,7 @@ struct Material {
|
|||||||
|
|
||||||
Material() : alphaMode("OPAQUE"), alphaCutoff(0.5), doubleSided(false) {}
|
Material() : alphaMode("OPAQUE"), alphaCutoff(0.5), doubleSided(false) {}
|
||||||
Material(const Material &) = default;
|
Material(const Material &) = default;
|
||||||
|
Material &operator=(const Material &) = default;
|
||||||
Material(Material &&rhs) noexcept
|
Material(Material &&rhs) noexcept
|
||||||
: name(std::move(rhs.name)),
|
: name(std::move(rhs.name)),
|
||||||
emissiveFactor(std::move(rhs.emissiveFactor)),
|
emissiveFactor(std::move(rhs.emissiveFactor)),
|
||||||
@ -804,6 +812,7 @@ struct BufferView {
|
|||||||
|
|
||||||
BufferView() : byteOffset(0), byteStride(0), dracoDecoded(false) {}
|
BufferView() : byteOffset(0), byteStride(0), dracoDecoded(false) {}
|
||||||
BufferView(const BufferView &) = default;
|
BufferView(const BufferView &) = default;
|
||||||
|
BufferView &operator=(const BufferView &) = default;
|
||||||
BufferView(BufferView &&rhs) noexcept : name(std::move(rhs.name)),
|
BufferView(BufferView &&rhs) noexcept : name(std::move(rhs.name)),
|
||||||
buffer(rhs.buffer),
|
buffer(rhs.buffer),
|
||||||
byteOffset(rhs.byteOffset),
|
byteOffset(rhs.byteOffset),
|
||||||
@ -885,6 +894,7 @@ struct Accessor {
|
|||||||
sparse.isSparse = false;
|
sparse.isSparse = false;
|
||||||
}
|
}
|
||||||
Accessor(const Accessor &) = default;
|
Accessor(const Accessor &) = default;
|
||||||
|
Accessor &operator=(const Accessor &) = default;
|
||||||
Accessor(Accessor &&rhs) noexcept : bufferView(rhs.bufferView),
|
Accessor(Accessor &&rhs) noexcept : bufferView(rhs.bufferView),
|
||||||
name(std::move(rhs.name)),
|
name(std::move(rhs.name)),
|
||||||
byteOffset(rhs.byteOffset),
|
byteOffset(rhs.byteOffset),
|
||||||
@ -912,6 +922,7 @@ struct PerspectiveCamera {
|
|||||||
,
|
,
|
||||||
znear(0.0) {}
|
znear(0.0) {}
|
||||||
PerspectiveCamera(const PerspectiveCamera &) = default;
|
PerspectiveCamera(const PerspectiveCamera &) = default;
|
||||||
|
PerspectiveCamera &operator=(const PerspectiveCamera &) = default;
|
||||||
PerspectiveCamera(PerspectiveCamera &&rhs) noexcept
|
PerspectiveCamera(PerspectiveCamera &&rhs) noexcept
|
||||||
: aspectRatio(rhs.aspectRatio),
|
: aspectRatio(rhs.aspectRatio),
|
||||||
yfov(rhs.yfov),
|
yfov(rhs.yfov),
|
||||||
@ -933,6 +944,7 @@ struct OrthographicCamera {
|
|||||||
|
|
||||||
OrthographicCamera() : xmag(0.0), ymag(0.0), zfar(0.0), znear(0.0) {}
|
OrthographicCamera() : xmag(0.0), ymag(0.0), zfar(0.0), znear(0.0) {}
|
||||||
OrthographicCamera(const OrthographicCamera &) = default;
|
OrthographicCamera(const OrthographicCamera &) = default;
|
||||||
|
OrthographicCamera &operator=(const OrthographicCamera &) = default;
|
||||||
OrthographicCamera(OrthographicCamera &&rhs) noexcept
|
OrthographicCamera(OrthographicCamera &&rhs) noexcept
|
||||||
: xmag(rhs.xmag),
|
: xmag(rhs.xmag),
|
||||||
ymag(rhs.ymag),
|
ymag(rhs.ymag),
|
||||||
@ -955,6 +967,8 @@ struct Camera {
|
|||||||
|
|
||||||
Camera() {}
|
Camera() {}
|
||||||
Camera(const Camera &) = default;
|
Camera(const Camera &) = default;
|
||||||
|
Camera &operator=(const Camera &) = default;
|
||||||
|
|
||||||
Camera(Camera &&rhs) noexcept : type(std::move(rhs.type)),
|
Camera(Camera &&rhs) noexcept : type(std::move(rhs.type)),
|
||||||
name(std::move(rhs.name)),
|
name(std::move(rhs.name)),
|
||||||
perspective(std::move(rhs.perspective)),
|
perspective(std::move(rhs.perspective)),
|
||||||
@ -988,6 +1002,7 @@ struct Primitive {
|
|||||||
indices = -1;
|
indices = -1;
|
||||||
}
|
}
|
||||||
Primitive(const Primitive &) = default;
|
Primitive(const Primitive &) = default;
|
||||||
|
Primitive &operator=(const Primitive &) = default;
|
||||||
Primitive(Primitive &&rhs) noexcept : attributes(std::move(rhs.attributes)),
|
Primitive(Primitive &&rhs) noexcept : attributes(std::move(rhs.attributes)),
|
||||||
material(rhs.material),
|
material(rhs.material),
|
||||||
indices(rhs.indices),
|
indices(rhs.indices),
|
||||||
@ -1088,6 +1103,8 @@ class Node {
|
|||||||
|
|
||||||
struct Buffer {
|
struct Buffer {
|
||||||
Buffer() = default;
|
Buffer() = default;
|
||||||
|
Buffer(const Buffer &) = default;
|
||||||
|
Buffer &operator=(const Buffer &) = default;
|
||||||
Buffer(Buffer &&rhs) noexcept : name(std::move(rhs.name)),
|
Buffer(Buffer &&rhs) noexcept : name(std::move(rhs.name)),
|
||||||
data(std::move(rhs.data)),
|
data(std::move(rhs.data)),
|
||||||
uri(std::move(rhs.uri)),
|
uri(std::move(rhs.uri)),
|
||||||
@ -1138,6 +1155,8 @@ struct Scene {
|
|||||||
|
|
||||||
Scene() = default;
|
Scene() = default;
|
||||||
Scene(const Scene &) = default;
|
Scene(const Scene &) = default;
|
||||||
|
Scene &operator=(const Scene &) = default;
|
||||||
|
|
||||||
Scene(Scene &&rhs) noexcept : name(std::move(rhs.name)),
|
Scene(Scene &&rhs) noexcept : name(std::move(rhs.name)),
|
||||||
nodes(std::move(rhs.nodes)),
|
nodes(std::move(rhs.nodes)),
|
||||||
extensions(std::move(rhs.extensions)),
|
extensions(std::move(rhs.extensions)),
|
||||||
@ -1149,6 +1168,18 @@ struct SpotLight {
|
|||||||
double innerConeAngle;
|
double innerConeAngle;
|
||||||
double outerConeAngle;
|
double outerConeAngle;
|
||||||
|
|
||||||
|
SpotLight &operator=(const SpotLight &) = default;
|
||||||
|
|
||||||
|
SpotLight &operator=(SpotLight &&rhs) {
|
||||||
|
innerConeAngle = rhs.innerConeAngle;
|
||||||
|
outerConeAngle = rhs.outerConeAngle;
|
||||||
|
|
||||||
|
extensions = std::move(rhs.extensions);
|
||||||
|
extras = std::move(rhs.extras);
|
||||||
|
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
SpotLight() : innerConeAngle(0.0), outerConeAngle(0.7853981634) {}
|
SpotLight() : innerConeAngle(0.0), outerConeAngle(0.7853981634) {}
|
||||||
SpotLight(const SpotLight &) = default;
|
SpotLight(const SpotLight &) = default;
|
||||||
SpotLight(SpotLight &&rhs) noexcept : innerConeAngle(rhs.innerConeAngle),
|
SpotLight(SpotLight &&rhs) noexcept : innerConeAngle(rhs.innerConeAngle),
|
||||||
@ -1171,7 +1202,33 @@ struct Light {
|
|||||||
SpotLight spot;
|
SpotLight spot;
|
||||||
|
|
||||||
Light() : intensity(1.0), range(0.0) {}
|
Light() : intensity(1.0), range(0.0) {}
|
||||||
Light(const Light &) = default;
|
|
||||||
|
Light &operator=(Light &&rhs) {
|
||||||
|
name = std::move(rhs.name);
|
||||||
|
color = std::move(rhs.color);
|
||||||
|
intensity = rhs.intensity;
|
||||||
|
type = std::move(rhs.type);
|
||||||
|
range = rhs.range;
|
||||||
|
spot = std::move(rhs.spot);
|
||||||
|
extensions = std::move(rhs.extensions);
|
||||||
|
extras = std::move(rhs.extras);
|
||||||
|
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
Light &operator=(const Light &rhs) {
|
||||||
|
name = (rhs.name);
|
||||||
|
color = (rhs.color);
|
||||||
|
intensity = rhs.intensity;
|
||||||
|
type = (rhs.type);
|
||||||
|
range = rhs.range;
|
||||||
|
spot = (rhs.spot);
|
||||||
|
extensions = (rhs.extensions);
|
||||||
|
extras = (rhs.extras);
|
||||||
|
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
Light(Light &&rhs) noexcept : name(std::move(rhs.name)),
|
Light(Light &&rhs) noexcept : name(std::move(rhs.name)),
|
||||||
color(std::move(rhs.color)),
|
color(std::move(rhs.color)),
|
||||||
intensity(rhs.intensity),
|
intensity(rhs.intensity),
|
||||||
@ -1181,6 +1238,16 @@ struct Light {
|
|||||||
extensions(std::move(rhs.extensions)),
|
extensions(std::move(rhs.extensions)),
|
||||||
extras(std::move(rhs.extras)) {}
|
extras(std::move(rhs.extras)) {}
|
||||||
|
|
||||||
|
Light(const Light &rhs)
|
||||||
|
: name(rhs.name),
|
||||||
|
color(rhs.color),
|
||||||
|
intensity(rhs.intensity),
|
||||||
|
type(rhs.type),
|
||||||
|
range(rhs.range),
|
||||||
|
spot(rhs.spot),
|
||||||
|
extensions(rhs.extensions),
|
||||||
|
extras(rhs.extras) {}
|
||||||
|
|
||||||
bool operator==(const Light &) const;
|
bool operator==(const Light &) const;
|
||||||
|
|
||||||
ExtensionMap extensions;
|
ExtensionMap extensions;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user