Switch-Toolbox/Switch_Toolbox_Library/Forms/Editors/Assimp Settings.cs
2019-07-14 14:39:02 -04:00

75 lines
2.4 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Assimp;
namespace Switch_Toolbox.Library.Forms
{
public partial class Assimp_Settings : STForm
{
public uint SkinLimitMax = 4;
public bool UseNodeTransform = true;
public bool RotateSkeleton = false;
public float RotateSkeletonAmount = 90;
public Assimp_Settings()
{
InitializeComponent();
}
public PostProcessSteps GetFlags()
{
RotateSkeleton = rotateBones.Checked;
RotateSkeletonAmount = (float)rotateBonesUD.Value;
UseNodeTransform = useNodeTransform.Checked;
SkinLimitMax = (uint)numericUpDown1.Value;
var Flags = PostProcessSteps.None;
// Flags |= PostProcessSteps.GlobalScale;
if (generateNormalsChk.Checked)
Flags |= PostProcessSteps.GenerateNormals;
if (smoothNormalsChk.Checked)
Flags |= PostProcessSteps.GenerateSmoothNormals;
if (generateTansBitansChk.Checked)
Flags |= PostProcessSteps.CalculateTangentSpace;
if (flipUVsChk.Checked)
Flags |= PostProcessSteps.FlipUVs;
if (limtBoneWeightChk.Checked)
Flags |= PostProcessSteps.LimitBoneWeights;
if (joinDupedVertsSk.Checked)
Flags |= PostProcessSteps.JoinIdenticalVertices;
if (preTransformVerticesChk.Checked)
Flags |= PostProcessSteps.PreTransformVertices;
if (leftHandedChk.Checked)
Flags |= PostProcessSteps.MakeLeftHanded;
if (triangulateChk.Checked)
Flags |= PostProcessSteps.Triangulate;
return Flags;
}
private void limtBoneWeightChk_CheckedChanged(object sender, EventArgs e) {
numericUpDown1.Enabled = limtBoneWeightChk.Checked;
}
private void rotateBonesY90_CheckedChanged(object sender, EventArgs e)
{
RotateSkeleton = rotateBones.Checked;
rotateBonesUD.Enabled = RotateSkeleton;
}
private void rotateBonesUD_ValueChanged(object sender, EventArgs e)
{
RotateSkeletonAmount = (float)rotateBonesUD.Value;
}
}
}