输入点管理器对AutoCAD中每个激活的文件实例化一次,而且通过一个AcApDocument成员函数输出。
每个实例管理文件编辑工作任务的下列任务:
无
acedinpt.h
AcDbCustomOsnapInfo, AcDbCustomOsnapManager, AcDbCustomOsnapMode, AcEdInputContextReactor, AcEdInputPointFilter, AcEdInputPointMonitor, AcGiGlyph
AcEdInputPointManager函数
virtual Acad::ErrorStatus addInputContextReactor( AcEdInputContextReactor* pReactor) = 0;
此函数增加一个输入环境反应器。找出通过AutoCAD输入机制(窗口对话框除外)提示用户的内容。任何可以增加的反应器的数量,除了每个只能被增加一次的反应器,与输入点监视器相同。 增加相同的反应器两次(用地址进行比较)将返回 Acad::eDuplicateKey。否则,则返回Acad::eOk。 |
||
virtual Acad::ErrorStatus addPointMonitor( AcEdInputPointMonitor* pMonitor) = 0;
此函数增加一个点监视器至当前集合。每个监视器在每个输入点事件中只被调用一次。 增加相同的监视器两次(用地址进行比较)将返回Acad::eDuplicateKey。否则,则返回Acad::eOk。 |
||
virtual AcEdInputPointFilter * currentPointFilter() const =
0; 返回当前的点过滤器(如果有),否则返回NULL。 |
||
virtual Acad::ErrorStatus disableSystemCursorGraphics() = 0; 使光标图形对关联的文件失效。与自定义的光标图形一起使用。这个函数与enableSystemCursorGraphics()成对地作用于一个内部的计数器上,因此系统可知道要禁止系统光标的多重应用程序。 如果成功返回Acad::eOk,如果光标因某种原因不能被禁止则返回Acad::eInvalidContext。 |
||
virtual Acad::ErrorStatus enableSystemCursorGraphics() = 0; 使光标图形对关联的文件生效。与自定义的光标图形一起使用。这个函数与disableSystemCursorGraphics()成对地作用于一个内部的计数器上,因此系统可知道要禁止系统光标的多重应用程序。 如果成功返回Acad::eOk,如果失效计数已经为0则返回Acad::eInvalidContext。 |
||
virtual int forcedPickCount() const =
0; 如果强制选择为打开的调用者数量。 |
||
virtual int mouseHasMoved() const =
0; 此函数提供一种方法让输入点监视器和过滤器检查鼠标移动并可尽快地从回调中返回,而无需做任何耗时的计算。 如果序列中没有任何数字化设备事件则返回1,否则返回0。 |
||
virtual Acad::ErrorStatus registerPointFilter( AcEdInputPointFilter* pFilter) = 0;
使用这个函数注册一个点过滤器。确认在完成时清空过滤器槽,因为在一个时间只能有一个过滤器被注册。 如果当前没有使用任何过滤器,则返回Acad::eOk;否则返回Acad::eIllegalReplacement。 |
||
virtual Acad::ErrorStatus removeInputContextReactor( AcEdInputContextReactor* pReact) = 0;
用于从激活的集合中删除一个输入的环境反应器。 如果反应器在集合中,则返回Acad::eOk,否则返回Acad::eInvalidKey。 |
||
virtual Acad::ErrorStatus removePointMonitor( AcEdInputPointMonitor* pMonitor) = 0;
此函数用于从激活的集合中删除一个点监视器。 如果监视器在集合中,则返回Acad::eOk;否则返回Acad::eInvalidKey。 |
||
virtual Acad::ErrorStatus revokePointFilter() = 0; 此函数用于取消当前的点过滤器。最好不要取消另一个应用程序的过滤器;然而如果必须这样做,可使用currentPointFilter()取得当前的这个过滤器并将其放在台面。 如果有一个激活的点过滤器,则返回Acad::eOk;否则返回Acad::eNullObjectPointer。 |
||
virtual int systemCursorDisableCount() const =
0; 返回禁止光标的调用者的数量。 |
||
virtual Acad::ErrorStatus turnOffForcedPick() = 0; 这个函数减少强制的选择计数器,如果计数器达到0则禁止强制的选择,这表示实体选择发生在通常的AutoCAD条件下,如当输入点正被请求和OSNAP模式被激活或正常的实体选择操作时。 强制的选择计数已经为0则返回Acad::eInvalidContext,否则返回Acad::eOk。 |
||
virtual Acad::ErrorStatus turnOnForcedPick() = 0; 此函数使AutoCAD输入事件机制在所有数据化设备事件中在当前选择靶框下进行选择,无论是否请求一个点或任何OSNAP模式当前被激活。如果一个点被请求且OSNAP模式被激活,对象捕捉靶框尺寸(系统变量:APERTURE)定义了选择框尺寸。否则将使用系统变量PICKBOX。在Acad::PointHistory枚举中,以下的枚举值与功能相关,正如它们相关的注解:eForcedPick, ePickMask, eDidNotPick, eUsedPickBox,
eUsedOsnapBox。 在不处理的环境(bypassed context)中(如一个ads_grread()调用)不会发生强制的选择。 计数将被保持,因此如果多重应用程序要强制选择,它会发生直至所有的都完成。 返回Acad::eOk。 |