zdqwy19 发表于 2014-8-6 21:38:20

删除AcGePoint3dArray中的重复点

本帖最后由 zdqwy19 于 2014-8-6 22:30 编辑

      自己用的一个删除AcGePoint3dArray中重复点的代码,采用双循环方法。
//赵德强 2014.8.6 发
//删除AcGePoint3dArray小于指定距离的点
AcGePoint3dArray deletePoint(AcGePoint3dArray ptA,double minl)
{
//删除重复点
//AcGeTol pan;
//pan.setEqualPoint(minl);
if(ptA.length()>0)
{
    //双循环法删除重复元素,适应元素不太多
    for(int i=0;i<ptA.length()-1;i++)
    {
      for(int j=ptA.length()-1;j>i;j--)
      {   
      //if((ptA.at(i)).isEqualTo(ptA.at(j)))
      if((ptA.at(i)).distanceTo(ptA.at(j))<=minl)
      {
          ptA.removeAt(j);
      }
      }
    }
}
return ptA;
}
      

vladimirputin 发表于 2017-4-7 14:44:15

非常不错的资料,谢谢分享啊。

caoliu023 发表于 2018-4-2 17:50:48

谢谢分享源码

高大宝 发表于 2018-4-13 09:07:08

短小精辟,

13648893846 发表于 2020-2-25 09:09:53

双循环好像没有利用set容器那么快速
页: [1]
查看完整版本: 删除AcGePoint3dArray中的重复点