Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- curve -p 0 10 0 -p 5 0 0 -p 5 0 5 -p 0 0 5;
- createNode FurrySystemNode -n furry;
- connectAttr time1.outTime furry.time;
- connectAttr curveShape1.local furry.input_curve;
- connectAttr furry.output_curve curveShape1.create
- MStatus FurrySystemNode::compute(const MPlug& plug, MDataBlock& data) {
- if (plug == output_curve) {
- cout << "Computing input_curven";
- MStatus stat;
- MDataHandle handle = data.inputValue(input_curve, &stat);
- MDataHandle output_handle = data.outputValue(output_curve, &stat);
- McheckErr(stat, "Failed at getting data.inputValuen");
- MObject curve_obj = handle.data();
- MFnNurbsCurve curve_fn(curve_obj, &stat);
- McheckErr(stat, "Failed at creating the MFnNurbsCurve function setn"); // Fails here
- MPointArray cvs;
- stat = curve_fn.getCVs(cvs, MSpace::kWorld);
- for (int i = 0; i < cvs.length(); i++) {
- cvs[i] += MPoint(i, 0, 0);
- }
- curve_fn.setCVs(cvs, MSpace::kWorld);
- curve_fn.updateCurve(); // Don't think this one is needed
- output_handle.set(curve_obj);
- stat = data.setClean(plug);
- McheckErr(stat, "Failed at cleaning datan");
- }
- return MS::kSuccess;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement