use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct FileAnalysisAvatarStats {
#[serde(rename = "animatorCount")]
pub animator_count: i32,
#[serde(rename = "audioSourceCount")]
pub audio_source_count: i32,
#[serde(rename = "blendShapeCount")]
pub blend_shape_count: i32,
#[serde(rename = "boneCount")]
pub bone_count: i32,
#[serde(rename = "bounds")]
pub bounds: Vec<f64>,
#[serde(rename = "cameraCount", skip_serializing_if = "Option::is_none")]
pub camera_count: Option<i32>,
#[serde(rename = "clothCount")]
pub cloth_count: i32,
#[serde(rename = "constraintCount")]
pub constraint_count: i32,
#[serde(rename = "constraintDepth")]
pub constraint_depth: i32,
#[serde(rename = "contactCount")]
pub contact_count: i32,
#[serde(rename = "customExpressions")]
pub custom_expressions: bool,
#[serde(rename = "customizeAnimationLayers")]
pub customize_animation_layers: bool,
#[serde(rename = "enableEyeLook")]
pub enable_eye_look: bool,
#[serde(rename = "lightCount")]
pub light_count: i32,
#[serde(rename = "lineRendererCount")]
pub line_renderer_count: i32,
#[serde(rename = "lipSync")]
pub lip_sync: i32,
#[serde(rename = "materialCount")]
pub material_count: i32,
#[serde(rename = "materialSlotsUsed")]
pub material_slots_used: i32,
#[serde(rename = "meshCount")]
pub mesh_count: i32,
#[serde(rename = "meshIndices")]
pub mesh_indices: i32,
#[serde(rename = "meshParticleMaxPolygons")]
pub mesh_particle_max_polygons: i32,
#[serde(rename = "meshPolygons")]
pub mesh_polygons: i32,
#[serde(rename = "meshVertices")]
pub mesh_vertices: i32,
#[serde(rename = "particleCollisionEnabled")]
pub particle_collision_enabled: bool,
#[serde(rename = "particleSystemCount")]
pub particle_system_count: i32,
#[serde(rename = "particleTrailsEnabled")]
pub particle_trails_enabled: bool,
#[serde(rename = "physBoneColliderCount")]
pub phys_bone_collider_count: i32,
#[serde(rename = "physBoneCollisionCheckCount")]
pub phys_bone_collision_check_count: i32,
#[serde(rename = "physBoneComponentCount")]
pub phys_bone_component_count: i32,
#[serde(rename = "physBoneTransformCount")]
pub phys_bone_transform_count: i32,
#[serde(rename = "physicsColliders")]
pub physics_colliders: i32,
#[serde(rename = "physicsRigidbodies")]
pub physics_rigidbodies: i32,
#[serde(rename = "skinnedMeshCount")]
pub skinned_mesh_count: i32,
#[serde(rename = "skinnedMeshIndices")]
pub skinned_mesh_indices: i32,
#[serde(rename = "skinnedMeshPolygons")]
pub skinned_mesh_polygons: i32,
#[serde(rename = "skinnedMeshVertices")]
pub skinned_mesh_vertices: i32,
#[serde(rename = "totalClothVertices")]
pub total_cloth_vertices: i32,
#[serde(rename = "totalIndices")]
pub total_indices: i32,
#[serde(rename = "totalMaxParticles")]
pub total_max_particles: i32,
#[serde(rename = "totalPolygons")]
pub total_polygons: i32,
#[serde(rename = "totalTextureUsage")]
pub total_texture_usage: i32,
#[serde(rename = "totalVertices")]
pub total_vertices: i32,
#[serde(rename = "trailRendererCount")]
pub trail_renderer_count: i32,
#[serde(rename = "writeDefaultsUsed")]
pub write_defaults_used: bool,
}
impl FileAnalysisAvatarStats {
pub fn new(
animator_count: i32,
audio_source_count: i32,
blend_shape_count: i32,
bone_count: i32,
bounds: Vec<f64>,
cloth_count: i32,
constraint_count: i32,
constraint_depth: i32,
contact_count: i32,
custom_expressions: bool,
customize_animation_layers: bool,
enable_eye_look: bool,
light_count: i32,
line_renderer_count: i32,
lip_sync: i32,
material_count: i32,
material_slots_used: i32,
mesh_count: i32,
mesh_indices: i32,
mesh_particle_max_polygons: i32,
mesh_polygons: i32,
mesh_vertices: i32,
particle_collision_enabled: bool,
particle_system_count: i32,
particle_trails_enabled: bool,
phys_bone_collider_count: i32,
phys_bone_collision_check_count: i32,
phys_bone_component_count: i32,
phys_bone_transform_count: i32,
physics_colliders: i32,
physics_rigidbodies: i32,
skinned_mesh_count: i32,
skinned_mesh_indices: i32,
skinned_mesh_polygons: i32,
skinned_mesh_vertices: i32,
total_cloth_vertices: i32,
total_indices: i32,
total_max_particles: i32,
total_polygons: i32,
total_texture_usage: i32,
total_vertices: i32,
trail_renderer_count: i32,
write_defaults_used: bool,
) -> FileAnalysisAvatarStats {
FileAnalysisAvatarStats {
animator_count,
audio_source_count,
blend_shape_count,
bone_count,
bounds,
camera_count: None,
cloth_count,
constraint_count,
constraint_depth,
contact_count,
custom_expressions,
customize_animation_layers,
enable_eye_look,
light_count,
line_renderer_count,
lip_sync,
material_count,
material_slots_used,
mesh_count,
mesh_indices,
mesh_particle_max_polygons,
mesh_polygons,
mesh_vertices,
particle_collision_enabled,
particle_system_count,
particle_trails_enabled,
phys_bone_collider_count,
phys_bone_collision_check_count,
phys_bone_component_count,
phys_bone_transform_count,
physics_colliders,
physics_rigidbodies,
skinned_mesh_count,
skinned_mesh_indices,
skinned_mesh_polygons,
skinned_mesh_vertices,
total_cloth_vertices,
total_indices,
total_max_particles,
total_polygons,
total_texture_usage,
total_vertices,
trail_renderer_count,
write_defaults_used,
}
}
}