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 函数,查看圆柱体的效果。