如何计算出一条直线与一个元素(体、曲面等)的所有交点?[MicroStation V8i C++]

函数mdlIntersect_allBetweenElms能够求得某些情况下两个元素之间的交点,但该函数局限性较大,例如只能得到从某个角度看过去的表象交点。同时该函数也要求操作元素必须是已经add到dgn中,而仅存在内存中的元素则无法操作。

现在将条件放宽,将其中一个元素确定为直线(且垂直于Z=0平面),那么是否有比较稳定的办法可以求出该直线与某元素之间的交点呢?

Parents
  • 需要分类处理:
    对于实体:mdlKISolid_rayTestBody用来求得一个射线与一个体的所有交点。
    对于Mesh:mdlMesh_intersectRayWithMeshTriangles(FromPolyfaceArrays)求得一条射线与Mesh的所有交点
    对于B样条曲面:mdlBspline_allBoresiteToSurface可求得一条射线与一个B样条曲面的所有交点。

    mdlIntersect_allBetweenElms主要用于二维元素间求交。



Reply
  • 需要分类处理:
    对于实体:mdlKISolid_rayTestBody用来求得一个射线与一个体的所有交点。
    对于Mesh:mdlMesh_intersectRayWithMeshTriangles(FromPolyfaceArrays)求得一条射线与Mesh的所有交点
    对于B样条曲面:mdlBspline_allBoresiteToSurface可求得一条射线与一个B样条曲面的所有交点。

    mdlIntersect_allBetweenElms主要用于二维元素间求交。



Children