将自定义数据传递给MPxLocator (Maya API)的属性
Pass custom data to attributes of MPxLocator (Maya API)
在使用Maya API的cpp类中,我启动了一个名为myLocatorNode的自定义MPxLocator实例,并将其属性传递给一些变量:
MDagModifier dagMod;
MDGModifier mdgMod;
myObj=dagMod.createNode("myLocatorNode", <existing transform MObject>);
dagMod.doIt();
MFnDagNode myDagNode(myObj);
myDagNode.findPlug("attributeOne").setValue(1.5);
myDagNode.findPlug("attributeTwo").setValue(2.0);
myDagNode.findPlug("attributeThree").setValue(3.1);
myDagNode.findPlug("classAttrib").setValue(classPointer); // <- which type should I use ?
自定义定位器类:
MStatus myLocatorNode::initialize()
{
MFnNumericAttribute nAttr;
MFn???Attribute customAttr; <-- What can I use here ?
attr1= nAttr.create( "attributeOne", "ao", MFnNumericData::kFloat,1.0 );
attr2= nAttr.create( "attributeTwo", "ao", MFnNumericData::kFloat,1.0 );
attr3= nAttr.create( "attributeThree", "ao", MFnNumericData::kFloat,1.0 );
attr4= customAttr.create("classAttrib","ca", MyCustomClass *); <-- and here ?
...
}
我想传递给属性/插入指向自定义类的指针。定位器类中的哪个属性类型能帮我做到这一点?由于
最惠国吗? ?属性customAttr;<——这里可以用什么?
你说的类指针是指内存地址吗?在x64位机器上,指针是int64型的,所以需要存储int64型的整数。您可以使用MFnNumericAttribute::createAddress()方式或存储您自己的int64,如下所述:http://around-the-corner.typepad.com/adn/2012/11/no-64bit-integer-attribute-in-maya-no-way.html
相关文章:
- 用于访问容器<T>数据成员的正确 API
- Maya API C++:从多边形获取材质
- 如何查找 Redshift Maya API 文档?
- 在Maya API中撤消操作
- Maya c++ API,移动对象?
- Maya API - 从材质获取网格
- 如何在Maya API C 中创建多边形
- 使用 Python API 获取 Maya 中的引用节点列表
- 检查节点是否使用Maya API连接到特定的插头
- Maya API中的计算WorldMatrix
- 如果通过按钮或时间更改执行,Maya API 的行为会有所不同
- MProgressWindow不会在Autodesk Maya API中刷新
- Maya API:如何更改UI时间工作单位
- Maya c++API MFnCharacter createBlend始终失败
- Maya c++ API不允许访问某些工具吗?
- Maya Api中的deleteNode使Viewport 2.0中的Maya崩溃
- 如何在Maya Api中对齐顶点和法线
- 将自定义数据传递给MPxLocator (Maya API)的属性
- Maya Api中捕获当前时间/帧更改的事件
- Maya API (c++) -类静态成员变量及其在其他实例中的个性