iCAx开思工具箱

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 23977|回复: 9
打印 上一主题 下一主题

获取实现最短距离的点

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-19 16:29:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我用CATDistanceMinBodyBody接口的GetDistance()来获取两直线之间的最短距离,然后我想获得实现这最短距离的两个点,我用的是GetPoints( CATPoint*&  oPoint1, CATPoint*& oPoint2) ,但结果oPoint1和oPoint2是空的,我想请问这是为什么呀?直线的类型是GSMLine。具体代码如下:
CATISpecObject_var TheLine1 = pIDescendantOnOpenBody1->GetChildAtPosition(1);
CATISpecObject_var TheLine2 = pIDescendantOnOpenBody1->GetChildAtPosition(14);

CATGeoFactory* pGeomFactory = ::CATCreateCGMContainer();
  CATSoftwareConfiguration *pConfig = NULL;
  pConfig = new CATSoftwareConfiguration();
  CATCGMJournalList *pJournal = NULL;
  pJournal = new CATCGMJournalList();
  CATTopData* pTopoData = NULL;
  pTopoData = new CATTopData(pConfig,pJournal);

CATIGeometricalElement_var spGeoLine1 = TheLine1;
CATIGeometricalElement_var spGeoLine2 = TheLine2;
CATBody* pBodyLine1 = spGeoLine1->GetBodyResult();
CATBody* pBodyLine2 = spGeoLine2->GetBodyResult();
if(pBodyLine1 == NULL || pBodyLine2 == NULL)
  {
          cout<<"Error in Inputs !"<<endl;
  }
  CATDistanceMinBodyBody *pDistanceMinMin = NULL;
  pDistanceMinMin = CATCreateDistanceMinTopo(pGeomFactory,pTopoData,pBodyLine1,pBodyLine2,BASIC);
  double totallength = 0.0;
  totallength = pDistanceMinMin->GetDistance(); //得出最短距离
  cout << "totallength   "<< totallength << endl;

CATPoint *oPoint1 = NULL;
  CATPoint *oPoint2 = NULL;
  pDistanceMinMin -> GetPoints(oPoint1,oPoint2);//获取实现最短距离的两个点
  if (NULL == oPoint1)
  {
          cout<<"oPoint1为空"<<endl;
  }
  cout << "The X cordinate is :" << oPoint1 -> GetX() << endl;
最短距离能够正确得到,但输出oPoint1为空。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 支持支持
沙发
发表于 2012-9-19 21:03:47 | 只看该作者

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
板凳
发表于 2012-9-20 13:15:09 | 只看该作者

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
地板
 楼主| 发表于 2012-9-20 15:20:30 | 只看该作者

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
5
 楼主| 发表于 2012-9-20 15:32:13 | 只看该作者

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
6
发表于 2012-9-20 17:26:06 | 只看该作者

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
7
 楼主| 发表于 2012-9-21 08:56:02 | 只看该作者

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
8
发表于 2012-10-7 15:03:07 | 只看该作者

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
9
发表于 2013-11-6 09:27:35 | 只看该作者

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
10
发表于 2013-12-6 09:53:15 | 只看该作者

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手板模型制作,在线3D打印服务

QQ|小黑屋|手机版|开思工具箱 CAD工具箱_CAM工具箱  

GMT+8, 2024-5-21 14:15 , Processed in 0.017391 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表