osgPresentation.Cursor是OpenSceneGraph(OSG)中的一个类,用于定义光标,通常用于演示中。
osgPresentation.Cursor提供了以下功能:
class Cursor:public osg::Geode
Cursor()
构造一个默认光标。
void setShape(CursorShape shape)
设置光标的形状。其中CursorShape为枚举类型,可以选择的形状包括:
void setColor(const osg::Vec4& color)
设置光标的颜色。其中osg::Vec4为包含四个浮点数的向量,分别表示RGBA颜色分量,取值范围为0~1。
void setPosition(const osg::Vec2& position, bool relativeToScreen=true)
设置光标的位置。其中osg::Vec2为包含两个浮点数的向量,分别表示光标的x和y坐标,取值范围为0~1。relativeToScreen为是否相对于屏幕坐标系,如果为true,则x和y的取值为屏幕坐标系下的像素值。
void addToSceneGraph(osg::Node* node)
将光标添加到场景图中。其中node为要添加到的节点。
以下示例代码展示了如何创建一个箭头形状的红色光标,并将其添加到场景图中:
osg::ref_ptr<osgPresentation::Cursor> cursor = new osgPresentation::Cursor();
cursor->setShape(Cursor::CURSOR_SHAPE_ARROW);
cursor->setColor(osg::Vec4(1.0, 0.0, 0.0, 1.0));
cursor->setPosition(osg::Vec2(0.5, 0.5));
cursor->addToSceneGraph(root);
其中root为场景图根节点。