请问MS update13 的SDK中有没有拖拽面片相关的API可以用?类似于MS ce版本中的Drag mesh功能。我想选中一个mesh网格中的几个面片然后对这几个面片进行处理。
API中的函数一般就来说都是非常底层的,并不对应一个个工具。
对于您这个需求,如果Mesh的类型是Indexed的话,只需要找到相应的Vertex数组,修改一个顶点坐标位置即可。您需要首先到开发帮助文档中学习一下Mesh的数据的存储知识然后才能正确编写Mesh相关的代码。
第一步,我想先通过框选或者交叉选中mesh上的某几个面片,这个有相关函数吗?
Work smart, not just work hard!
对于一个mesh元素,我鼠标选中的话一般都是选中整个mesh元素的
这个需要像符老师上边说的那样读取Mesh的每个面的数据,然后判断是否跟框选或者划选的范围有交集来获取想要的面。
比如Drag Mesh工具会出现如下这样的画面:
这些黄色的部分你可以根据用户框选的Mesh的vertex构造这些边,然后用transient element(瞬态元素)表示它们。请查看MDL函数mdlTransient_xxx,这些瞬态元素不会添加到当前模型中,仅作为临时显示之用。
郭老师,我使用Polygon框选了一个范围,请问如何判断这个mesh上的哪些面片被我框选住了?目前我只知道如何判断一个点是不是在一个Polygon里面(mdlPolygon_pointInsideXY),判断面片的方法有吗?