返回介绍

函数说明

发布于 2023-08-09 23:10:33 字数 3129 浏览 0 评论 0 收藏 0

1.McEdJig类

函数名:Sampler function

作用:继承类重载该函数,通知数据采样操作。

接口:virtual DragStatus sampler()= NULL;

参考例程

AcEdJig::DragStatus CDynByJig::sampler()
{
AcEdJig::DragStatus ret(kNoChange);
 
switch (m_eNextInput)
{
case CDynByJig::CHOOSELENGTH:
{
AcGePoint3d vPt;
ret = acquirePoint(vPt);
if (AcEdJig::kNormal == ret)
m_ent.SetLenth(vPt.distanceTo(m_ent.GetCenter()));
}
break;
case CDynByJig::INPUTLENGTH:
{
int dLength(0);
ret = acquireInt(dLength);
if (AcEdJig::kNormal == ret)
m_ent.SetLenth(dLength);
}
break;
case CDynByJig::CENTER:
{
AcGePoint3d vPt;
ret = acquirePoint(vPt);
if (AcEdJig::kNormal == ret)
m_ent.SetCenter(vPt);
}
}
 
return ret;
}

函数名:Update function

作用:继承类重载该函数,通知更新显示操作。

接口:virtual Mdesk::Boolean update()= NULL;

参考例程

Adesk::Boolean CDrawSplineJig::update()
{
return Adesk::kTrue;
}

函数名:entity function

作用:继承类重载该函数,返回拖放时用于显示的实体。

接口:virtual McDbEntity * entity() const = NULL;

参考例程

AcDbEntity * CDynByJig::entity() const
{
const AcDbEntity* pRet = &m_ent;
return const_cast<AcDbEntity*>(pRet);
}

函数名:setKeywordList function

作用:设置关键字字符串。

接口:void setKeywordList(const TCHAR * pszKeyword);

参考例程

bool    
CRectSelJig::DoIt(AcGePoint3d& pt1,AcGePoint3d& pt2)
{
acutPrintf(_T("\n 请选择矩形第一点:"));
m_ent.SetStatus(true);
setKeywordList(_T("A B C Test"));
 
DragStatus ret =  drag();
 
acutPrintf(_T("KKK:%d"),(int)ret);
 
return false;
 
acutPrintf(_T("\n 请选择矩形第一点:"));
m_ent.SetStatus(true);
if(drag() != AcEdJig::kNormal)
{
return false;
}
 
acutPrintf(_T("\n 请选择矩形第二点:"));
m_ent.SetStatus(false);
if(drag() != AcEdJig::kNormal)
{
return false;
}
 
pt1 = m_ent.m_basePoint;
pt2 = m_ent.m_movePoint;
 
return true;
}

2.McEdGetPointWorldDraw类

函数名:worldDraw function

作用:纯虚函数,从该类继承,实现该接口,完成自定义拖放绘制。

接口:virtual Mdesk::Boolean worldDraw(McGiWorldDraw * wd, McGePoint3d currentPoint) = NULL;

参数:

名称说明
wd绘图时使用的环境参数
CurrentPoint当前点坐标

参考例程

Mdesk::Boolean CDynByWorldDraw::worldDraw(McGiWorldDraw * wd, McGePoint3d currentPoint)
{
 
if (m_bIsDraw)
{
m_ent.SetCenter(currentPoint);
}
else
{
double dLength = currentPoint.distanceTo(m_ent.GetCenter());
m_ent.SetLenth(dLength);
}
 
m_ent.worldDraw(wd);
 
return Mdesk::kTrue;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文