public IEnumerator TestCompute()
        {
            IHieghtCalculator calculator = MeshMetricSettings.GetComputeCalculator();

            calculator.GetVerteces(Verteces, Vector3.zero);
            //yield return TestCalculatorAsync(calculator);
            yield return(null);
        }
        public IEnumerator TestTask()
        {
            IHieghtCalculator calculator = MeshMetricSettings.GetTaskCalculator();

            yield return(TestCalculatorAsync(calculator));

            yield return(null);
        }
        private IEnumerator TestCalculatorAsync(IHieghtCalculator calculator)
        {
            (calculator as IAllocatable)?.Allocate(Verteces, Vector3.zero);
            Task task = Task.Run(() => calculator.GetVerteces(Verteces, Vector3.zero));

            while (!task.IsCompleted)
            {
                yield return(null);
            }
            (calculator as IAllocatable)?.Dispose();
            Debug.Log("end");
        }