This commit is contained in:
MuHua-123
2024-11-25 18:32:05 +08:00
parent 72d1f89b54
commit 84243e75a8
353 changed files with 17666 additions and 3206 deletions
@@ -0,0 +1,34 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DataSuture {
/// <summary> 核心模块 </summary>
private ModuleCore ModuleCore => ModuleCore.I;
/// <summary> 简单多边形算法模块 </summary>
private ModuleAlgorithm<DataSutureSide> AlgorithmSutureSide => ModuleCore.AlgorithmSutureSide;
public readonly DataSutureSide a;
public readonly DataSutureSide b;
public DataSuture(DataSide aSide, DataSide bSide) {
a = new DataSutureSide(aSide, this);
b = new DataSutureSide(bSide, this);
Update();
}
public void Update() {
AlgorithmSutureSide.Compute(a);
AlgorithmSutureSide.Compute(b);
}
/// <summary> 缝合长度 </summary>
public float length => this.SutureLength();
#region
/// <summary> 可视化内容 </summary>
public ModulePrefab<DataSuture> design;
/// <summary> 可视化对象 </summary>
public ModulePrefab<DataSuture> baking;
#endregion
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: db7180cdc51fba54ebc54927eaa2c246
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,59 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 缝合边
/// </summary>
public class DataSutureSide {
/// <summary> 关联的边 </summary>
public readonly DataSide side;
/// <summary> 关联的缝合数据 </summary>
public readonly DataSuture suture;
/// <summary> 缝合边 </summary>
public DataSutureSide(DataSide side, DataSuture suture) {
this.side = side;
this.suture = suture;
}
#region
/// <summary> 是否反转 </summary>
public bool isReversal;
#endregion
#region
/// <summary> 边最大长度 </summary>
public float MaxLength => side.length;
/// <summary> 边缘顶点数据 </summary>
public DataVertex[] Vertices => side.vertices;
/// <summary> 设计视图板片位置 </summary>
public Vector3 PlateDesignPosition => side.plate.designPosition;
/// <summary> 烘焙视图板片位置 </summary>
public Vector3 PlateBakingPosition => side.plate.bakingPosition;
/// <summary> 烘焙视图板片位置 </summary>
public Vector3 PlateBakingEulerAngles => side.plate.bakingEulerAngles;
/// <summary> 设计视图顶点位置 </summary>
public Vector3[] designPositions;
/// <summary> 设计视图A点位置 </summary>
public Vector3 DesignPosintA => designPositions[0];
/// <summary> 设计视图B点位置 </summary>
public Vector3 DesignPosintB => designPositions[designPositions.Length - 1];
/// <summary> 烘焙视图顶点位置 </summary>
public Vector3[] bakingPositions;
/// <summary> 烘焙视图A点位置 </summary>
public Vector3 BakingPosintA => bakingPositions[0];
/// <summary> 烘焙视图B点位置 </summary>
public Vector3 BakingPosintB => bakingPositions[bakingPositions.Length - 1];
#endregion
#region
/// <summary> 可视化对象 </summary>
public ModulePrefab<DataSutureSide> design;
/// <summary> 可视化对象 </summary>
public ModulePrefab<DataSutureSide> baking;
#endregion
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: cd87f3680da7d114ca6d49384e0212a4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: