public override float3 Get3DPointLocal(float progress) { ClearData(); ConvertData(); Assert.IsTrue(SplineEntityData3D.HasValue, "Failed to generate spline"); ISplineJob3D job = this.ExtractJob(progress, Allocator.TempJob); job.Execute(); LocalSpaceConversion3D conversion = new LocalSpaceConversion3D(this.Position, this.Forward, job.Result, Allocator.TempJob); conversion.Execute(); float3 pos = conversion.SplinePosition.Value; conversion.Dispose(); job.Dispose(); return pos; }
public new float3 Get3DPointLocal(float progress) { ClearData(); ConvertData(); Assert.IsTrue(SplineEntityData3D.HasValue, "Failed to generate spline"); Dynamic3DJob job = new Dynamic3DJob(this, progress, Allocator.TempJob); job.Execute(); LocalSpaceConversion3D conversion = new LocalSpaceConversion3D(Position, Forward, job.Result, Allocator.TempJob); conversion.Execute(); float3 pos = conversion.SplinePosition.Value; conversion.Dispose(); job.Dispose(); return(pos); }
public new float3 Get3DPointLocal(float progress) { ClearData(); ConvertData3D(); Assert.IsTrue(SplineEntityData3D.HasValue, "Failed to generate spline"); ISplineJob3D job = ((ISpline3D)this).ExtractJob(progress, Allocator.TempJob); job.Execute(); LocalSpaceConversion3D conversion = new LocalSpaceConversion3D(Position, Quaternion.identity, job.Result, Allocator.TempJob); conversion.Execute(); float3 pos = conversion.SplinePosition.Value; conversion.Dispose(); job.Dispose(); return(pos); }