osg.ValueVisitor 是 OpenSceneGraph 程序库中的一个类,用于访问 osg::ValueObject 对象及其子类中的数据成员。osg::ValueObject 是一个用于构建动态属性(dynamic properties)的类,它能够存储任意类型的数据,并提供读取和写入该数据的方法。
osg.ValueVisitor 可以帮助我们遍历一个 osg::ValueObject 对象及其子类中存储的所有数据成员,以执行一些操作,如打印属性的值、修改属性的值等等。它可以被用作实现序列化、反序列化、数据验证等功能的重要工具之一。
osg.ValueVisitor 的类定义如下:
namespace osg {
class ValueVisitor : public osg::Referenced {
public:
virtual void apply(osg::ValueBase& value) = 0;
virtual void apply(osg::Value<bool>& value) = 0;
virtual void apply(osg::Value<char>& value) = 0;
virtual void apply(osg::Value<unsigned char>& value) = 0;
virtual void apply(osg::Value<short>& value) = 0;
virtual void apply(osg::Value<unsigned short>& value) = 0;
virtual void apply(osg::Value<int>& value) = 0;
virtual void apply(osg::Value<unsigned int>& value) = 0;
virtual void apply(osg::Value<float>& value) = 0;
virtual void apply(osg::Value<double>& value) = 0;
virtual void apply(osg::Vec2f& value) = 0;
virtual void apply(osg::Vec2d& value) = 0;
virtual void apply(osg::Vec3f& value) = 0;
virtual void apply(osg::Vec3d& value) = 0;
virtual void apply(osg::Vec4f& value) = 0;
virtual void apply(osg::Vec4d& value) = 0;
virtual void apply(osg::Quat& value) = 0;
virtual void apply(osg::Matrix& value) = 0;
virtual void apply(osg::Matrixf& value) = 0;
virtual void apply(osg::Matrixd& value) = 0;
virtual void apply(osg::BoundingBox& value) = 0;
virtual void apply(osg::BoundingSphere& value) = 0;
};
}
虚函数,用于访问 osg::ValueBase 类型的数据。
虚函数,用于访问 osg::Value<bool> 类型的数据。
虚函数,用于访问 osg::Value<char> 类型的数据。
虚函数,用于访问 osg::Value<unsigned char> 类型的数据。
虚函数,用于访问 osg::Value<short> 类型的数据。
虚函数,用于访问 osg::Value<unsigned short> 类型的数据。
虚函数,用于访问 osg::Value<int> 类型的数据。
虚函数,用于访问 osg::Value<unsigned int> 类型的数据。
虚函数,用于访问 osg::Value<float> 类型的数据。
虚函数,用于访问 osg::Value<double> 类型的数据。
虚函数,用于访问 osg::Vec2f 类型的数据。
虚函数,用于访问 osg::Vec2d 类型的数据。
虚函数,用于访问 osg::Vec3f 类型的数据。
虚函数,用于访问 osg::Vec3d 类型的数据。
虚函数,用于访问 osg::Vec4f 类型的数据。
虚函数,用于访问 osg::Vec4d 类型的数据。
虚函数,用于访问 osg::Quat 类型的数据。
虚函数,用于访问 osg::Matrix 类型的数据。
虚函数,用于访问 osg::Matrixf 类型的数据。
虚函数,用于访问 osg::Matrixd 类型的数据。
虚函数,用于访问 osg::BoundingBox 类型的数据。
虚函数,用于访问 osg::BoundingSphere 类型的数据。