osgSim.ShapeAttribute
osgSim.ShapeAttribute是OpenSceneGraph中的一个节点属性。它用于设置节点的形状属性,如外观、大小、位置等等。
继承关系
- osg::StateAttribute:表示节点的状态属性。
- osgSim::ShapeAttribute:表示节点的形状属性。
构造函数
ShapeAttribute(unsigned int mask = 0xffffffff);
ShapeAttribute(const ShapeAttribute& sa,const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY);
- mask:表明哪些属性应该被影响。默认情况下,影响所有属性。可以使用OpenSceneGraph的StateAttribute的 SetXXXMask() 方法设置粒度更细的掩码、
- sa:需要复制的ShapeAttribute对象。
- copyop:复制操作类型,控制复制Sharing等细节。
属性
- osgSim::ShapeAttribute::AttribType:表示ShapeAttribute属性类型的枚举。
- osgSim::ShapeAttribute::AttributeValue:表示ShapeAttribute属性值的结构。
方法
void setAttribType(osgSim::ShapeAttribute::AttribType type)
设置ShapeAttribute的属性类型。例如,可以设置节点的形状、大小等等。
osgSim::ShapeAttribute::AttribType getAttribType() const
获取ShapeAttribute的属性类型。
void setAttributeValue(const osgSim::ShapeAttribute::AttributeValue& value)
设置ShapeAttribute的属性值。
const osgSim::ShapeAttribute::AttributeValue& getAttributeValue() const
获取ShapeAttribute的属性值。
void setDefaultSettings()
将ShapeAttribute的属性值设置为默认值。默认情况下,节点的形状为圆形。
例子
osg::ref_ptr<osgSim::ShapeAttribute> shapeAttr = new osgSim::ShapeAttribute();
shapeAttr->setAttribType(osgSim::ShapeAttribute::SHAPE_TYPE);
shapeAttr->setAttributeValue(osgSim::ShapeAttribute::AttributeValue(osgSim::ShapeAttribute::CUBE));
上面的代码创建了一个ShapeAttribute节点,将其属性类型设置为SHAPE_TYPE,并将其形状设置为CUBE。
参考文献
- [OpenSceneGraph官网] (http://www.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/index.html)