mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-05-13 05:54:59 -05:00
296 lines
6.8 KiB
C#
296 lines
6.8 KiB
C#
// This file is generated from JsonSchema. Don't modify this source code.
|
|
using UniJSON;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace UniGLTF.Extensions.VRMC_node_constraint {
|
|
|
|
public static class GltfDeserializer
|
|
{
|
|
|
|
public static bool TryGet(UniGLTF.glTFExtension src, out VRMC_node_constraint extension)
|
|
{
|
|
if(src is UniGLTF.glTFExtensionImport extensions)
|
|
{
|
|
foreach(var kv in extensions.ObjectItems())
|
|
{
|
|
if(kv.Key.GetUtf8String() == VRMC_node_constraint.ExtensionNameUtf8)
|
|
{
|
|
extension = Deserialize(kv.Value);
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
|
|
extension = default;
|
|
return false;
|
|
}
|
|
|
|
|
|
public static VRMC_node_constraint Deserialize(JsonNode parsed)
|
|
{
|
|
var value = new VRMC_node_constraint();
|
|
|
|
foreach(var kv in parsed.ObjectItems())
|
|
{
|
|
var key = kv.Key.GetString();
|
|
|
|
if(key=="extensions"){
|
|
value.Extensions = new glTFExtensionImport(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="extras"){
|
|
value.Extras = new glTFExtensionImport(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="constraint"){
|
|
value.Constraint = Deserialize_Constraint(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
}
|
|
return value;
|
|
}
|
|
|
|
public static Constraint Deserialize_Constraint(JsonNode parsed)
|
|
{
|
|
var value = new Constraint();
|
|
|
|
foreach(var kv in parsed.ObjectItems())
|
|
{
|
|
var key = kv.Key.GetString();
|
|
|
|
if(key=="extensions"){
|
|
value.Extensions = new glTFExtensionImport(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="extras"){
|
|
value.Extras = new glTFExtensionImport(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="position"){
|
|
value.Position = Deserialize_Position(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="rotation"){
|
|
value.Rotation = Deserialize_Rotation(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="aim"){
|
|
value.Aim = Deserialize_Aim(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
}
|
|
return value;
|
|
}
|
|
|
|
public static PositionConstraint Deserialize_Position(JsonNode parsed)
|
|
{
|
|
var value = new PositionConstraint();
|
|
|
|
foreach(var kv in parsed.ObjectItems())
|
|
{
|
|
var key = kv.Key.GetString();
|
|
|
|
if(key=="extensions"){
|
|
value.Extensions = new glTFExtensionImport(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="extras"){
|
|
value.Extras = new glTFExtensionImport(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="name"){
|
|
value.Name = kv.Value.GetString();
|
|
continue;
|
|
}
|
|
|
|
if(key=="source"){
|
|
value.Source = kv.Value.GetInt32();
|
|
continue;
|
|
}
|
|
|
|
if(key=="sourceSpace"){
|
|
value.SourceSpace = (ObjectSpace)Enum.Parse(typeof(ObjectSpace), kv.Value.GetString(), true);
|
|
continue;
|
|
}
|
|
|
|
if(key=="destinationSpace"){
|
|
value.DestinationSpace = (ObjectSpace)Enum.Parse(typeof(ObjectSpace), kv.Value.GetString(), true);
|
|
continue;
|
|
}
|
|
|
|
if(key=="freezeAxes"){
|
|
value.FreezeAxes = Deserialize_FreezeAxes(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="weight"){
|
|
value.Weight = kv.Value.GetSingle();
|
|
continue;
|
|
}
|
|
|
|
}
|
|
return value;
|
|
}
|
|
|
|
public static bool[] Deserialize_FreezeAxes(JsonNode parsed)
|
|
{
|
|
var value = new bool[parsed.GetArrayCount()];
|
|
int i=0;
|
|
foreach(var x in parsed.ArrayItems())
|
|
{
|
|
value[i++] = x.GetBoolean();
|
|
}
|
|
return value;
|
|
}
|
|
|
|
public static RotationConstraint Deserialize_Rotation(JsonNode parsed)
|
|
{
|
|
var value = new RotationConstraint();
|
|
|
|
foreach(var kv in parsed.ObjectItems())
|
|
{
|
|
var key = kv.Key.GetString();
|
|
|
|
if(key=="extensions"){
|
|
value.Extensions = new glTFExtensionImport(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="extras"){
|
|
value.Extras = new glTFExtensionImport(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="name"){
|
|
value.Name = kv.Value.GetString();
|
|
continue;
|
|
}
|
|
|
|
if(key=="source"){
|
|
value.Source = kv.Value.GetInt32();
|
|
continue;
|
|
}
|
|
|
|
if(key=="sourceSpace"){
|
|
value.SourceSpace = (ObjectSpace)Enum.Parse(typeof(ObjectSpace), kv.Value.GetString(), true);
|
|
continue;
|
|
}
|
|
|
|
if(key=="destinationSpace"){
|
|
value.DestinationSpace = (ObjectSpace)Enum.Parse(typeof(ObjectSpace), kv.Value.GetString(), true);
|
|
continue;
|
|
}
|
|
|
|
if(key=="freezeAxes"){
|
|
value.FreezeAxes = Deserialize_FreezeAxes(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="weight"){
|
|
value.Weight = kv.Value.GetSingle();
|
|
continue;
|
|
}
|
|
|
|
}
|
|
return value;
|
|
}
|
|
|
|
public static AimConstraint Deserialize_Aim(JsonNode parsed)
|
|
{
|
|
var value = new AimConstraint();
|
|
|
|
foreach(var kv in parsed.ObjectItems())
|
|
{
|
|
var key = kv.Key.GetString();
|
|
|
|
if(key=="extensions"){
|
|
value.Extensions = new glTFExtensionImport(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="extras"){
|
|
value.Extras = new glTFExtensionImport(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="name"){
|
|
value.Name = kv.Value.GetString();
|
|
continue;
|
|
}
|
|
|
|
if(key=="source"){
|
|
value.Source = kv.Value.GetInt32();
|
|
continue;
|
|
}
|
|
|
|
if(key=="sourceSpace"){
|
|
value.SourceSpace = (ObjectSpace)Enum.Parse(typeof(ObjectSpace), kv.Value.GetString(), true);
|
|
continue;
|
|
}
|
|
|
|
if(key=="destinationSpace"){
|
|
value.DestinationSpace = (ObjectSpace)Enum.Parse(typeof(ObjectSpace), kv.Value.GetString(), true);
|
|
continue;
|
|
}
|
|
|
|
if(key=="aimVector"){
|
|
value.AimVector = Deserialize_AimVector(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="upVector"){
|
|
value.UpVector = Deserialize_UpVector(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="freezeAxes"){
|
|
value.FreezeAxes = Deserialize_FreezeAxes(kv.Value);
|
|
continue;
|
|
}
|
|
|
|
if(key=="weight"){
|
|
value.Weight = kv.Value.GetSingle();
|
|
continue;
|
|
}
|
|
|
|
}
|
|
return value;
|
|
}
|
|
|
|
public static float[] Deserialize_AimVector(JsonNode parsed)
|
|
{
|
|
var value = new float[parsed.GetArrayCount()];
|
|
int i=0;
|
|
foreach(var x in parsed.ArrayItems())
|
|
{
|
|
value[i++] = x.GetSingle();
|
|
}
|
|
return value;
|
|
}
|
|
|
|
public static float[] Deserialize_UpVector(JsonNode parsed)
|
|
{
|
|
var value = new float[parsed.GetArrayCount()];
|
|
int i=0;
|
|
foreach(var x in parsed.ArrayItems())
|
|
{
|
|
value[i++] = x.GetSingle();
|
|
}
|
|
return value;
|
|
}
|
|
|
|
} // GltfDeserializer
|
|
} // UniGLTF
|