Skip to content

Commit

Permalink
implemented PartialEq on Root and its attributes
Browse files Browse the repository at this point in the history
  • Loading branch information
rydb committed Dec 17, 2024
1 parent 5708ce9 commit 4c31468
Show file tree
Hide file tree
Showing 25 changed files with 66 additions and 66 deletions.
12 changes: 6 additions & 6 deletions gltf-json/src/accessor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ pub mod sparse {
use crate::extensions;

/// Indices of those attributes that deviate from their initialization value.
#[derive(Clone, Debug, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Deserialize, Serialize, Validate, PartialEq)]
pub struct Indices {
/// The parent buffer view containing the sparse indices.
///
Expand Down Expand Up @@ -112,7 +112,7 @@ pub mod sparse {
}

/// Sparse storage of attributes that deviate from their initialization value.
#[derive(Clone, Debug, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Deserialize, Serialize, Validate, PartialEq)]
pub struct Sparse {
/// The number of attributes encoded in this sparse accessor.
pub count: USize64,
Expand Down Expand Up @@ -143,7 +143,7 @@ pub mod sparse {

/// Array of size `count * number_of_components` storing the displaced
/// accessor attributes pointed by `accessor::sparse::Indices`.
#[derive(Clone, Debug, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Deserialize, Serialize, Validate, PartialEq)]
pub struct Values {
/// The parent buffer view containing the sparse indices.
///
Expand All @@ -169,7 +169,7 @@ pub mod sparse {
}

/// A typed view into a buffer view.
#[derive(Clone, Debug, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Deserialize, Serialize, Validate, PartialEq)]
#[gltf(validate_hook = "accessor_validate_hook")]
pub struct Accessor {
/// The parent buffer view this accessor reads from.
Expand Down Expand Up @@ -250,11 +250,11 @@ fn is_normalized_default(b: &bool) -> bool {
}

/// The data type of an index.
#[derive(Clone, Copy, Debug, Deserialize, Serialize)]
#[derive(Clone, Copy, Debug, Deserialize, Serialize, PartialEq)]
pub struct IndexComponentType(pub ComponentType);

/// The data type of a generic vertex attribute.
#[derive(Clone, Copy, Debug, Deserialize, Serialize)]
#[derive(Clone, Copy, Debug, Deserialize, Serialize, PartialEq)]
pub struct GenericComponentType(pub ComponentType);

impl<'de> de::Deserialize<'de> for Checked<GenericComponentType> {
Expand Down
8 changes: 4 additions & 4 deletions gltf-json/src/animation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ pub enum Property {
}

/// A keyframe animation.
#[derive(Clone, Debug, Deserialize, Serialize)]
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
pub struct Animation {
/// Extension specific data.
#[serde(default, skip_serializing_if = "Option::is_none")]
Expand Down Expand Up @@ -84,7 +84,7 @@ pub struct Animation {
}

/// Targets an animation's sampler at a node's property.
#[derive(Clone, Debug, Deserialize, Serialize)]
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
pub struct Channel {
/// The index of a sampler in this animation used to compute the value for the
/// target.
Expand All @@ -105,7 +105,7 @@ pub struct Channel {
}

/// The index of the node and TRS property that an animation channel targets.
#[derive(Clone, Debug, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Deserialize, Serialize, Validate, PartialEq)]
pub struct Target {
/// Extension specific data.
#[serde(default, skip_serializing_if = "Option::is_none")]
Expand All @@ -126,7 +126,7 @@ pub struct Target {
}

/// Defines a keyframe graph but not its target.
#[derive(Clone, Debug, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Deserialize, Serialize, Validate, PartialEq)]
pub struct Sampler {
/// Extension specific data.
#[serde(default, skip_serializing_if = "Option::is_none")]
Expand Down
2 changes: 1 addition & 1 deletion gltf-json/src/asset.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use gltf_derive::Validate;
use serde_derive::{Deserialize, Serialize};

/// Metadata about the glTF asset.
#[derive(Clone, Debug, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Deserialize, Serialize, Validate, PartialEq)]
pub struct Asset {
/// A copyright message suitable for display to credit the content creator.
#[serde(skip_serializing_if = "Option::is_none")]
Expand Down
4 changes: 2 additions & 2 deletions gltf-json/src/buffer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ impl Validate for Stride {
}

/// A buffer points to binary data representing geometry, animations, or skins.
#[derive(Clone, Debug, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Deserialize, Serialize, Validate, PartialEq)]
pub struct Buffer {
/// The length of the buffer in bytes.
#[serde(default, rename = "byteLength")]
Expand Down Expand Up @@ -90,7 +90,7 @@ pub struct Buffer {
///
/// <https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#reference-bufferview>
///
#[derive(Clone, Debug, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Deserialize, Serialize, Validate, PartialEq)]
pub struct View {
/// The parent `Buffer`.
pub buffer: Index<Buffer>,
Expand Down
6 changes: 3 additions & 3 deletions gltf-json/src/camera.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ pub enum Type {
///
/// A node can reference a camera to apply a transform to place the camera in the
/// scene.
#[derive(Clone, Debug, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Deserialize, Serialize, Validate, PartialEq)]
#[gltf(validate_hook = "camera_validate_hook")]
pub struct Camera {
/// Optional user-defined name for this object.
Expand Down Expand Up @@ -66,7 +66,7 @@ where
}

/// Values for an orthographic camera.
#[derive(Clone, Debug, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Deserialize, Serialize, Validate, PartialEq)]
pub struct Orthographic {
/// The horizontal magnification of the view.
pub xmag: f32,
Expand All @@ -92,7 +92,7 @@ pub struct Orthographic {
}

/// Values for a perspective camera.
#[derive(Clone, Debug, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Deserialize, Serialize, Validate, PartialEq)]
pub struct Perspective {
/// Aspect ratio of the field of view.
#[serde(rename = "aspectRatio")]
Expand Down
8 changes: 4 additions & 4 deletions gltf-json/src/extensions/accessor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,21 @@ pub mod sparse {
use super::*;

/// Indices of those attributes that deviate from their initialization value.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Indices {}

/// Sparse storage of attributes that deviate from their initialization value.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Sparse {}

/// Array of size `count * number_of_components` storing the displaced
/// accessor attributes pointed by `accessor::sparse::Indices`.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Values {}
}

/// A typed view into a buffer view.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Accessor {
#[cfg(feature = "extensions")]
#[serde(default, flatten)]
Expand Down
8 changes: 4 additions & 4 deletions gltf-json/src/extensions/animation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,21 @@ use serde_derive::{Deserialize, Serialize};
use serde_json::{Map, Value};

/// A keyframe animation.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Animation {
#[cfg(feature = "extensions")]
#[serde(default, flatten)]
pub others: Map<String, Value>,
}

/// Targets an animation's sampler at a node's property.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Channel {}

/// The index of the node and TRS property that an animation channel targets.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Target {}

/// Defines a keyframe graph but not its target.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Sampler {}
2 changes: 1 addition & 1 deletion gltf-json/src/extensions/asset.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ use gltf_derive::Validate;
use serde_derive::{Deserialize, Serialize};

/// Metadata about the glTF asset.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Asset {}
4 changes: 2 additions & 2 deletions gltf-json/src/extensions/buffer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ use serde_derive::{Deserialize, Serialize};
use serde_json::{Map, Value};

/// A buffer points to binary data representing geometry, animations, or skins.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Buffer {
#[cfg(feature = "extensions")]
#[serde(default, flatten)]
pub others: Map<String, Value>,
}

/// A view into a buffer generally representing a subset of the buffer.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct View {
#[cfg(feature = "extensions")]
#[serde(default, flatten)]
Expand Down
6 changes: 3 additions & 3 deletions gltf-json/src/extensions/camera.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,23 @@ use serde_json::{Map, Value};
///
/// A node can reference a camera to apply a transform to place the camera in the
/// scene.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Camera {
#[cfg(feature = "extensions")]
#[serde(default, flatten)]
pub others: Map<String, Value>,
}

/// Values for an orthographic camera.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Orthographic {
#[cfg(feature = "extensions")]
#[serde(default, flatten)]
pub others: Map<String, Value>,
}

/// Values for a perspective camera.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Perspective {
#[cfg(feature = "extensions")]
#[serde(default, flatten)]
Expand Down
2 changes: 1 addition & 1 deletion gltf-json/src/extensions/image.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use serde_derive::{Deserialize, Serialize};
use serde_json::{Map, Value};

/// Image data used to create a texture.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Image {
#[cfg(feature = "extensions")]
#[serde(default, flatten)]
Expand Down
8 changes: 4 additions & 4 deletions gltf-json/src/extensions/material.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use serde_derive::{Deserialize, Serialize};
use serde_json::{Map, Value};

/// The material appearance of a primitive.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Material {
#[cfg(feature = "KHR_materials_pbrSpecularGlossiness")]
#[serde(
Expand Down Expand Up @@ -71,7 +71,7 @@ pub struct Material {

/// A set of parameter values that are used to define the metallic-roughness
/// material model from Physically-Based Rendering (PBR) methodology.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct PbrMetallicRoughness {
#[cfg(feature = "extensions")]
#[serde(default, flatten)]
Expand Down Expand Up @@ -135,15 +135,15 @@ pub struct PbrSpecularGlossiness {
}

/// Defines the normal texture of a material.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct NormalTexture {
#[cfg(feature = "extensions")]
#[serde(default, flatten)]
pub others: Map<String, Value>,
}

/// Defines the occlusion texture of a material.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct OcclusionTexture {
#[cfg(feature = "extensions")]
#[serde(default, flatten)]
Expand Down
4 changes: 2 additions & 2 deletions gltf-json/src/extensions/mesh.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ use serde_json::{Map, Value};
///
/// A node can contain one or more meshes and its transform places the meshes in
/// the scene.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Mesh {
#[cfg(feature = "extensions")]
#[serde(default, flatten)]
pub others: Map<String, Value>,
}

/// Geometry to be rendered with the given material.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Primitive {
#[cfg(feature = "KHR_materials_variants")]
#[serde(
Expand Down
2 changes: 1 addition & 1 deletion gltf-json/src/extensions/root.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use serde_derive::{Deserialize, Serialize};
use serde_json::{Map, Value};

/// The root object of a glTF 2.0 asset.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Root {
#[cfg(feature = "KHR_lights_punctual")]
#[serde(
Expand Down
4 changes: 2 additions & 2 deletions gltf-json/src/extensions/scene.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ use serde_json::{Map, Value};
/// identity. When a node is targeted for animation (referenced by an
/// animation.channel.target), only TRS properties may be present; `matrix` will not
/// be present.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Node {
#[cfg(feature = "KHR_lights_punctual")]
#[serde(
Expand Down Expand Up @@ -222,7 +222,7 @@ pub mod khr_materials_variants {
}

/// The root `Node`s of a scene.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Scene {
#[cfg(feature = "extensions")]
#[serde(default, flatten)]
Expand Down
2 changes: 1 addition & 1 deletion gltf-json/src/extensions/skin.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use serde_derive::{Deserialize, Serialize};
use serde_json::{Map, Value};

/// Joints and matrices defining a skin.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Skin {
#[cfg(feature = "extensions")]
#[serde(default, flatten)]
Expand Down
6 changes: 3 additions & 3 deletions gltf-json/src/extensions/texture.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ use serde_derive::{Deserialize, Serialize};
use serde_json::{Map, Value};

/// Texture sampler properties for filtering and wrapping modes.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Sampler {
#[cfg(feature = "extensions")]
#[serde(default, flatten)]
pub others: Map<String, Value>,
}

/// A texture and its sampler.
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
pub struct Texture {
#[cfg(feature = "extensions")]
#[serde(default, flatten)]
Expand All @@ -39,7 +39,7 @@ pub struct TextureWebp {
pub source: Index<image::Image>,
}

#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate, PartialEq)]
/// Reference to a `Texture`.
pub struct Info {
#[cfg(feature = "KHR_texture_transform")]
Expand Down
2 changes: 1 addition & 1 deletion gltf-json/src/extras.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ pub type Extras = Option<::std::boxed::Box<RawValue>>;
pub type Extras = Void;

/// Type representing no user-defined data.
#[derive(Clone, Default, Serialize, Deserialize, Validate)]
#[derive(Clone, Default, Serialize, Deserialize, Validate, PartialEq)]
pub struct Void {
#[serde(default, skip_serializing)]
_allow_unknown_fields: (),
Expand Down
4 changes: 2 additions & 2 deletions gltf-json/src/image.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ pub const VALID_MIME_TYPES: &[&str] = &[
];

/// Image data used to create a texture.
#[derive(Clone, Debug, Deserialize, Serialize, Validate)]
#[derive(Clone, Debug, Deserialize, Serialize, Validate, PartialEq)]
pub struct Image {
/// The index of the buffer view that contains the image. Use this instead of
/// the image's uri property.
Expand Down Expand Up @@ -48,7 +48,7 @@ pub struct Image {
}

/// An image MIME type.
#[derive(Clone, Debug, Deserialize, Serialize)]
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
pub struct MimeType(pub String);

impl Validate for MimeType {}
Loading

0 comments on commit 4c31468

Please sign in to comment.