osgPresentation.HomePosition
用于表示场景的起始位置,例如相机的初始位置和方向。
成员变量 | 类型 | 描述 |
---|---|---|
name |
std::string |
HomePosition的名称 |
position |
osg::Vec3d |
HomePosition的位置 |
orientation |
osg::Quat |
HomePosition的方向 |
scale |
osg::Vec3d |
HomePosition的缩放比例 |
osgPresentation::HomePosition::HomePosition(const std::string& name = "HomePosition")
构造函数,可设置 HomePosition
的名称。
参数
name
:HomePosition的名称,默认为"HomePosition"。osgPresentation::HomePosition::setPosition(const osg::Vec3d& position)
设置 HomePosition
的位置。
参数
position
:HomePosition的位置,以3D向量的形式表示。osgPresentation::HomePosition::setOrientation(const osg::Quat& orientation)
设置 HomePosition
的方向。
参数
orientation
:HomePosition的方向,以四元数的形式表示。osgPresentation::HomePosition::setScale(const osg::Vec3d& scale)
设置 HomePosition
的缩放比例。
参数
scale
:HomePosition的缩放比例,以3D向量的形式表示。osgPresentation::HomePosition::getName() const
获取 HomePosition
的名称。
返回值
HomePosition
的名称,以字符串的形式表示。osgPresentation::HomePosition::getPosition() const
获取 HomePosition
的位置。
返回值
HomePosition
的位置,以3D向量的形式表示。osgPresentation::HomePosition::getOrientation() const
获取 HomePosition
的方向。
返回值
HomePosition
的方向,以四元数的形式表示。osgPresentation::HomePosition::getScale() const
获取 HomePosition
的缩放比例。
返回值
HomePosition
的缩放比例,以3D向量的形式表示。以下是一个简单示例,演示了如何创建并使用 osgPresentation.HomePosition
:
#include <osgPresentation/HomePosition>
...
// 创建 HomePosition
osg::ref_ptr<osgPresentation::HomePosition> home = new osgPresentation::HomePosition("Home");
// 设置 HomePosition 的位置、方向和缩放比例
home->setPosition(osg::Vec3d(0.0, 10.0, -20.0));
home->setOrientation(osg::Quat(osg::DegreesToRadians(45.0), osg::Vec3d(0.0, 1.0, 0.0)));
home->setScale(osg::Vec3d(1.0, 1.0, 1.0));
// 使用 HomePosition
osg::ref_ptr<osg::Camera> camera = new osg::Camera;
camera->setViewMatrix(home->getMatrix());
...