osg.Cylinder
是 OpenSceneGraph 中的一个几何体,表示一个圆柱体。它由基类 osg::Drawable
派生而来,可以被 osg::Geode
添加到场景图中。
osg::Cylinder::Cylinder();
osg::Cylinder::Cylinder(const osg::Vec3& center, float radius, float height);
osg::Cylinder::Cylinder(float radius, float height);
osg::Cylinder::Cylinder(const osg::Cylinder& cylinder, const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY);
osg::Cylinder::Cylinder()
:构造一个默认的圆柱体,其底部中心点在原点,半径为1,高度为1。osg::Cylinder::Cylinder(const osg::Vec3& center, float radius, float height)
:构造一个底部中心点在 center
处、半径为 radius
、高度为 height
的圆柱体。osg::Cylinder::Cylinder(float radius, float height)
:构造一个底部中心点在原点、半径为 radius
、高度为 height
的圆柱体。osg::Cylinder::Cylinder(const osg::Cylinder& cylinder, const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY)
:从另一个圆柱体 cylinder
拷贝构造一个圆柱体。void osg::Cylinder::setCenter(const osg::Vec3& center);
osg::Vec3& osg::Cylinder::getCenter();
const osg::Vec3& osg::Cylinder::getCenter() const;
void osg::Cylinder::setRadius(float radius);
float osg::Cylinder::getRadius() const;
void osg::Cylinder::setHeight(float height);
float osg::Cylinder::getHeight() const;
void osg::Cylinder::setCenter(const osg::Vec3& center)
:设置圆柱体底部的中心点。osg::Vec3& osg::Cylinder::getCenter()
:获取圆柱体底部的中心点。const osg::Vec3& osg::Cylinder::getCenter() const
:获取圆柱体底部的中心点。void osg::Cylinder::setRadius(float radius)
:设置圆柱体的半径。float osg::Cylinder::getRadius() const
:获取圆柱体的半径。void osg::Cylinder::setHeight(float height)
:设置圆柱体的高度。float osg::Cylinder::getHeight() const
:获取圆柱体的高度。osg::ref_ptr<osg::Cylinder> cylinder = new osg::Cylinder(osg::Vec3(0, 0, 0), 0.5f, 1.0f);
osg::ref_ptr<osg::ShapeDrawable> cylinderDrawable = new osg::ShapeDrawable(cylinder);
osg::ref_ptr<osg::Geode> geode = new osg::Geode;
geode->addDrawable(cylinderDrawable.get());
这段代码创建了一个底部中心点在原点、半径为 0.5、高度为 1.0 的圆柱体,并将其添加到场景图中。可以通过创建 osgViewer::Viewer
对象并调用 run
函数,查看圆柱体的效果。