C#CE中用AdvanceToFacetBySearchRay取到的是 射线与MESH面相交的最后 一个点,如何能取出全部交点或第一个交点呢?

我在C#CE中用AdvanceToFacetBySearchRay取到的是 射线与MESH面相交的最后 一个点,请问一下,如何能取出全部交点或第一个交点呢?  

Parents
  • 感谢您发现这个方法。我看该方法是位于PolyfaceVisitor类下的,该类的特点是每次返回一个值,再次调用能返回下一个。您依靠这个思路测试一下。请将测试结果在此反馈。

    许多人都在找CE下用C#如何求一条射线和Mesh的交点,一直都没有找到。如何这个方法可以,记您一大功!Thumbsup



    Answer Verified By: F T 

Reply
  • 感谢您发现这个方法。我看该方法是位于PolyfaceVisitor类下的,该类的特点是每次返回一个值,再次调用能返回下一个。您依靠这个思路测试一下。请将测试结果在此反馈。

    许多人都在找CE下用C#如何求一条射线和Mesh的交点,一直都没有找到。如何这个方法可以,记您一大功!Thumbsup



    Answer Verified By: F T 

Children
  • 符老师:这个方法是您在之前回复我的帖子里提到的。
                    以下为部分测试代码:
                    MeshHeaderElement ele0;
                    PolyfaceHeader pfh1 = ele0.GetMeshData();
                    PolyfaceVisitor pfv1 = PolyfaceVisitor.Attach(pfh1, true);
                    while (pfv1.AdvanceToFacetBySearchRay(ray3d1, 0.1, out Pt1, out rayfraction1)==true )
                     {
                          Pt .Add(Pt1);
                     }
                    测试结果为返回射线与mesh面的所有交点。
    谢谢符老师。

  • Unknown said:
    符老师:这个方法是您在之前回复我的帖子里提到的。

    记忆力是硬伤Yum