oaRecursionObserver
模块: oapy._oa._design
导入: from oapy._oa import _design
概览
oaRecursionObserver 在 oapy 中可用,可通过 _design 模块访问。
本页汇总 oaRecursionObserver 当前在 oapy 中可用的 Python 接口。
详细说明
The oaRecursionObserver class is a base template class for recursion detection observers。 It supports onDetect and onBind event notifications。 See oaObserver for information on using OpenAccess observer template classes to derive and instantiate observers in an application。
构造函数
_design.oaRecursionObserver(priorityIn, enabledIn=true)
obj = _design.oaRecursionObserver(priorityIn, enabledIn=true)
方法总览
| 状态 | Python 调用 |
|---|---|
| ✅ | obj.onDetect(design, bottomUpList) |
| ✅ | obj.onBind(header, master, bottomUpList) |
方法说明
obj.onDetect(design, bottomUpList)
绑定状态: 已绑定
Python 调用: obj.onDetect(design, bottomUpList)
This function is called when a recursive reference is detected as the call to oaDesign::hasRecursion processes a design hierarchy。 The notification is sent the design that the recursion was detected in and a bottom-up list of designs that form the recursive loop。 The intent of this notification isn't to repair the data but to report the detection of the recursion。
参数
design: A pointer to the design where the recursion was detected。bottomUpList: An array of design pointers that represents the list of designs that form the recursive loop。
Python 示例
from oapy._oa import _design
# assume obj is a oaRecursionObserver
obj.onDetect(design, bottomUpList)
obj.onBind(header, master, bottomUpList)
绑定状态: 已绑定
Python 调用: obj.onBind(header, master, bottomUpList)
This function is called when a recursive reference is detected during the binding of block refHeaders。 Specifically, when a design master has a recursive reference to the design that contains the refHeader, this notification is issued and the refHeader is left unbound。 The intent of this notification isn't to repair the data but to report the detection of the recursion。
参数
header: A pointer to the refHeader that will be left unbound due to the recursion。 The refHeader may be an instHeader of a viaHeader。 An example of what could be reported is the lib/cell/view name of the instHeader's master or the viaDef name of the viaHeader。master: A pointer to the design master that has the recursive reference。bottomUpList: An array of design pointers that represent the list of designs that form the recursive loop。
Python 示例
from oapy._oa import _design
# assume obj is a oaRecursionObserver
obj.onBind(header, master, bottomUpList)