明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1852|回复: 3

pglyxq 朋友,重载捕捉函数出错,帮看看

[复制链接]
发表于 2006-3-4 21:52:00 | 显示全部楼层 |阅读模式

重载捕捉函数出错

AcGePoint3d CMARectWindow::startPt()
{

 assertReadEnabled();
 return m_startPt;
}

Acad::ErrorStatus CMARectWindow::getOsnapPoints(AcDb::OsnapMode osnapMode,
       int gsSelectionMark,const AcGePoint3d& pickPoint,
       const AcGePoint3d& lastPoint,const AcGeMatrix3d& viewXform,
       AcGePoint3dArray& snapPoints,AcDbIntArray& geomIds) const
{
 assertReadEnabled();

 Acad::ErrorStatus es=Acad::eOk ;
 if (gsSelectionMark == 0) return es;
 if (osnapMode != AcDb::kOsModeIns) return es;

 AcGePoint3d pt;  //插入点

 pt = startPt();     //这里出错了,信息如下
 snapPoints.append( pt );

 
 return es;


}

你在worldDraw里是这样 pt = startPt()    调用点的,为什么在这里调用会出错?

error C2662: “CMARectWindow::startPt” : 不能将“this”指针从“const CMARectWindow”转换为“CMARectWindow &

发表于 2006-3-6 19:17:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2006-3-9 20:52:00 | 显示全部楼层

谢谢你。问题已解决。现在正试图移动夹点,但是没有成功。附上代码,有空帮看看。

Acad::ErrorStatus CMARectWindow::moveGripPoints(const AcDbIntArray& indices,const AcGeVector3d& offset)
{
 assertWriteEnabled();
 AcGeVector3d off(offset);
 switch(indices[0])
  {
   case 1:
   m_startPt.x +=off.x;
   break;
   default:
   break;
  }
 return Acad::eOk;
 } 

发表于 2006-3-9 22:09:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 02:29 , Processed in 0.157513 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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