121 lines
2.5 KiB
C#
121 lines
2.5 KiB
C#
|
#if GRIFFIN
|
||
|
using UnityEngine;
|
||
|
using System;
|
||
|
|
||
|
namespace Pinwheel.Griffin.SplineTool
|
||
|
{
|
||
|
[System.Serializable]
|
||
|
public class GSplineSegment : IDisposable
|
||
|
{
|
||
|
[SerializeField]
|
||
|
private int startIndex;
|
||
|
public int StartIndex
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return startIndex;
|
||
|
}
|
||
|
set
|
||
|
{
|
||
|
startIndex = value;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[SerializeField]
|
||
|
private int endIndex;
|
||
|
public int EndIndex
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return endIndex;
|
||
|
}
|
||
|
set
|
||
|
{
|
||
|
endIndex = value;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[SerializeField]
|
||
|
private Vector3 startTangent;
|
||
|
public Vector3 StartTangent
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return startTangent;
|
||
|
}
|
||
|
set
|
||
|
{
|
||
|
startTangent = value;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[SerializeField]
|
||
|
private Vector3 endTangent;
|
||
|
public Vector3 EndTangent
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return endTangent;
|
||
|
}
|
||
|
set
|
||
|
{
|
||
|
endTangent = value;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[SerializeField]
|
||
|
private Mesh mesh;
|
||
|
public Mesh Mesh
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
if (mesh == null)
|
||
|
{
|
||
|
mesh = new Mesh();
|
||
|
mesh.name = "Spline Segment";
|
||
|
mesh.MarkDynamic();
|
||
|
}
|
||
|
return mesh;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public GSweepTestData SweepTestData
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return new GSweepTestData()
|
||
|
{
|
||
|
startIndex = this.startIndex,
|
||
|
endIndex = this.endIndex,
|
||
|
startTangent = this.startTangent,
|
||
|
endTangent = this.endTangent
|
||
|
};
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void FlipDirection()
|
||
|
{
|
||
|
int tmp = startIndex;
|
||
|
startIndex = endIndex;
|
||
|
endIndex = tmp;
|
||
|
}
|
||
|
|
||
|
public void Dispose()
|
||
|
{
|
||
|
if (mesh != null)
|
||
|
{
|
||
|
GUtilities.DestroyObject(mesh);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public struct GSweepTestData
|
||
|
{
|
||
|
public int startIndex;
|
||
|
public int endIndex;
|
||
|
public Vector3 startTangent;
|
||
|
public Vector3 endTangent;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
#endif
|