osg.CallbackObject 是 OpenSceneGraph 中的回调对象基类。回调对象用于为三维场景中的节点添加自定义功能,例如在渲染场景之前或之后运行代码、拦截用户事件等。
osg::Referenced → osg.CallbackObject
当回调对象附加到一个节点时,operator() 函数会在节点的场景图被遍历时被调用。该函数接收两个参数:
创建一个与原对象类型相同但内容为空的对象。
返回值:新的对象实例。
创建一个深度拷贝用于复制该对象及其所有属性。 因为 osg::CallbackObject 没有属性,所以返回值与 cloneType() 相同。
参数列表:
返回值:新的对象实例。
判断该对象是否等于另一个对象。
参数列表:
返回值:true表示相等,false表示不相等。
获取该回调对象的用户数据容器。 用户数据容器是一个允许用户自定义数据与此对象相关联的 osg::UserDataContainer 类型的对象。
返回值:指向用户数据容器的指针。
获取该回调对象的用户数据容器(常量版本)。
返回值:指向用户数据容器的指针。
osg::Callback 与 osg::UpdateCallback 是两个常用的 osg::CallbackObject 的子类。其中 osg::Callback 定义了最基本的回调接口,而 osg::UpdateCallback 在回调之前还提供了一个额外的 update() 函数,可以用于更新节点的一些属性或执行其他代码。具体使用方法可参见各自的文档。