- 积分
- 3266
- 明经币
- 个
- 注册时间
- 2002-7-5
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2003-10-20 09:31:00
|
显示全部楼层
我将你的程序复制到我写的一个ARX工程中编译,出现的编译错误是不能将参数2从AcGePoint2d转换为AcGePointOnCurve2d&,而不是你说的参数1类型错误。以下是我改写的程序,在VC6和VC++.NET中编译通过,因为没有其它代码(我也懒得写了,呵呵......),无法证明能运行通过。
AcGeCurve2d *geCurve1,*geCurve2;
AcGePointOnCurve2d zjPt1,zjPt2; //该类派生自AcGePointEnt2d,
//与AcGePoint2d有很大不同,后面将看到如何转换
geCurve1->getClosestPointTo(*geCurve2,zjPt1,zjPt2,AcGeContext::gTol);
//加上最后一个参数是我个人编程习惯,你不一定要这样做。
//我的目的是为了使自己知道系统不会调用另一个三参数的函数重载版本。
AcGePoint2d pt1,pt2;
pt1 = zjPt1.point(); //AcGePointOnCurve2d::point()函数返回AcGePoint2d点坐标。
pt2 = zjPt2.point(); |
|