为拖动序列设置显示提示后,调用该函数,该函数执行拖动循环,直到用户按 Enter 或空格键,或使用定点设备进行拾取。以下列表描述了拖动循环的顺序:AcEdJig::drag()
- 拖动循环接收事件。
- 它调用函数。该函数通过调用函数设置关键字列表(如果有),通过调用函数设置特殊游标类型(如果需要),以及通过调用函数设置任何用户输入控件。接下来,它调用其中一个函数来获取几何值(角度、距离或点)。该函数始终在轮询当前定点设备位置后立即返回。AcEdJig::sampler() sampler()AcEdJig::setKeywordList()AcEdJig::setSpecialCursorType()AcEdJig::setUserInputControls()acquireXXX()
- 您的函数应检查采样的几何值是否有任何变化。如果没有变化,你的函数应该返回并返回到步骤 1。这将允许图像在屏幕上完成其上次更新。这对于包含曲线的图像尤其重要。sampler()sampler()kNoChange
- 即使采样的几何值发生了变化,您的函数也可以返回(以便图像不会更新)并返回到步骤 1。如果采样值已更改且图像需要更新,请继续执行步骤 5。sampler()kNoChange
- 拖动器调用函数,使用获取的几何值来更新实体。AcEdJig::update()
- 然后,拖动器调用该函数,传入要设置为要重新生成的实体地址的指针。接下来,拖动器调用实体上的函数以重新生成它。AcEdJig::entity()worldDraw()
- 返回到步骤 1,除非当前拖动器事件是通过使用定点设备进行选择、按 CANCEL 或发出字符串终止字符以结束拖动生成的。
以程图显示了这些步骤。
|