osg.StandardNotifyHandler
是OpenSceneGraph(OSG)中可观察对象的标准通知处理程序的实现。
此类用于在OSG中完全控制通知输出,包括控制信息的输出、级别和格式。此类还可用于定制其他可观察对象的通知输出。
StandardNotifyHandler()
: 无参构造函数。virtual void notify(osg::NotifySeverity severity, const char* message)
: 实现osg.NotifyHandler
的函数,用于处理通知消息。此函数根据通知级别和消息格式化通知输出。
void setFormattedOutput(bool flag)
: 设置是否格式化通知输出。默认值为true。
bool getFormattedOutput() const
: 获取是否格式化通知输出的标志。
void setNotifyLevel(osg::NotifySeverity severity)
: 设置输出通知的级别。
osg::NotifySeverity getNotifyLevel() const
: 获取输出通知的级别。
void setOutputStream(std::ostream* stream)
: 设置输出流。
std::ostream* getOutputStream() const
: 获取输出流。
void setStampMessage(bool flag)
: 设置是否在消息前加时间戳。
bool getStampMessage() const
: 获取是否在消息前加时间戳的标志。
osg::ref_ptr<osg::NotifyHandler> notifyHandler = new osg::StandardNotifyHandler;
osg::setNotifyHandler(notifyHandler.get());
osg::setNotifyLevel(osg::INFO);
osg::notify(osg::NOTICE) << "This is a notice message" << std::endl;
osg::notify(osg::WARN) << "This is a warning message" << std::endl;
在上面的示例中,我们创建一个osg.StandardNotifyHandler
对象,并将其设置为OSG通知处理程序。然后,我们设置输出通知的级别为osg.INFO
,以便输出osg.NOTICE
和osg.WARN
级别的通知。最后,我们使用osg.notify
函数输出通知信息。