编辑Nuget包C#Helixtoolkit.WPF

编辑Nuget包C#Helixtoolkit.WPF,第1张

概述我在我的C#程序中使用Helixtoolkit. WPF.我已经导入了NuGet包,它运行得很好.但是,我想编辑其中一个文件,特别是GridLinesVisual.cs.我想改变该文件中的一个函数的运行方式,但似乎无法使其正常工作. 我需要更改的功能从第247行开始保护覆盖MeshGeometry3D Tessellate() 这是我需要更新/更改的文件的链接 https://searchcode 我在我的C#程序中使用Helixtoolkit. WPF.我已经导入了NuGet包,它运行得很好.但是,我想编辑其中一个文件,特别是GrIDlinesVisual.cs.我想改变该文件中的一个函数的运行方式,但似乎无法使其正常工作.

我需要更改的功能从第247行开始保护覆盖MeshGeometry3D Tessellate()

这是我需要更新/更改的文件的链接
https://searchcode.com/codesearch/view/10564811/

我的程序中的调用代码是grID = new GrIDlinesVisual3D();

我不像C语言那样熟悉C#,但我知道我无法创建子类来编辑这个函数.我认为覆盖是实现这一目标的正确方法,但我无法做到这一点.
我创建了一个新文件RectGrID.cs,这就是我在代码中所拥有的:

using HelixToolkit.Wpf;using System.windows;using System.windows.Data;using System.windows.Media;using System.windows.Media.Media3D;namespace Axcro.Helix_Toolkit_Extentions{    class RectGrID : GrIDlinesVisual3D    {        protected overrIDe MeshGeometry3D Tessellate()        {        this.lengthDirection = this.LengthDirection;        this.lengthDirection.normalize();        this.wIDthDirection = Vector3D.Crossproduct(this.normal,this.lengthDirection);        this.wIDthDirection.normalize();        var mesh = new MeshBuilder(true,false);        double minX = -this.WIDth / 2;        double minY = -this.Length / 2;        double maxX = this.WIDth / 2;        double maxY = this.Length / 2;        double x = minX;        double eps = this.Minordistance / 10;        while (x <= maxX + eps)        {            double t = this.Thickness;            if (IsMultipleOf(x,this.Majordistance))            {                t *= 2;            }            this.AddlineX(mesh,x,minY,maxY,t);            x += this.Minordistance;        }        var m = mesh.ToMesh();        m.Freeze();        return m;        }    }}

这段代码编译得很好,但我对Tessellate的更改没有显示出来.
使用覆盖正确的方式来修改Tessellate的功能,还是有更好/更简单的方法来编辑它?

对于它的价值,Tessellate功能是在X和Y方向创建网格线.我只想要Y方向的网格线,而不是X.所以基本上我不想要网格,我只想要线条……

解决方法 您的更改仅适用于RectGrID类.您没有修改原始类的行为,这不是覆盖的工作方式.

您需要确保使用Axcro.Helix_Toolkit_Extentions添加;到实例化类的文件顶部.如果RectGrID类位于使用它的不同DLL中.确保添加引用.

然后,您将使用实例化GrIDlinesVisual3D的类实例

grID = new RectGrID();
总结

以上是内存溢出为你收集整理的编辑Nuget包C#Helixtoolkit.WPF全部内容,希望文章能够帮你解决编辑Nuget包C#Helixtoolkit.WPF所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1227655.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存