/// <summary>
        ///
        /// </summary>
        /// <param name="parallel"></param>
        /// <returns></returns>
        public MeshVertexScalarField GetLaplacian(bool parallel = true)
        {
            var result = new MeshVertexScalarField(this);

            GetLaplacian(result.Values, parallel);
            return(result);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="getWeight"></param>
        /// <param name="parallel"></param>
        /// <returns></returns>
        public MeshVertexScalarField GetLaplacian(Func <HeMesh3d.Halfedge, double> getWeight, bool parallel = true)
        {
            var result = new MeshVertexScalarField(this);

            GetLaplacian(result.Values, getWeight, parallel);
            return(result);
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public MeshVertexScalarField Duplicate(bool copyValues)
        {
            var result = new MeshVertexScalarField(this);

            if (copyValues)
            {
                result.Set(this);
            }
            return(result);
        }