Exemple #1
0
        private void ComputeEvent(ComputeBeziersInnerPointEvent ComputeBeziersInnerPointEvent)
        {
            var ComputeBeziersInnerPointEventResponse = new ComputeBeziersInnerPointResponse();

            ComputeBeziersInnerPointEventResponse.ID         = ComputeBeziersInnerPointEvent.ID;
            ComputeBeziersInnerPointEventResponse.Transforms = new List <Matrix4x4>();

            int pointNumber = Convert.ToInt32(ComputeBeziersInnerPointEvent.BeziersControlPoints.GetPointsRawDistance() * (ComputeBeziersInnerPointEvent.PointNumberPerUnitDistance));

            for (var i = 0; i <= pointNumber; i++)
            {
                Vector3 worldPosition = ComputeBeziersInnerPointEvent.BeziersControlPoints.ResolvePoint((float)i / (float)pointNumber);
                ComputeBeziersInnerPointEventResponse.Transforms.Add(Matrix4x4.TRS(worldPosition, Quaternion.identity, ComputeBeziersInnerPointEvent.MeshScale));
            }

            lock (this.computeBeziersInnerPointTasks)
            {
                this.computeBeziersInnerPointTasks.Remove(ComputeBeziersInnerPointEvent.ID);
            }

            this.SendComputeBeziersInnerPointResponse.Invoke(ComputeBeziersInnerPointEventResponse);
        }
Exemple #2
0
 protected override void OnComputeBeziersInnerPointResponse(ComputeBeziersInnerPointResponse ComputeBeziersInnerPointResponse)
 {
 }