#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