当鼠标移动时,MUIDrawManager会被清除

时间:2016-12-20 10:45:45

标签: c++ graphics maya

我尝试在Maya中开发一个基于控制点绘制曲线的插件(基本上我想复制默认的曲线工具)。

我正在创建一个基本的Context并接收doPress事件来绘制一个简单的行:

MStatus flowNodeOnly::doPress( MEvent& event, MHWRender::MUIDrawManager &drawManager, const MHWRender::MFrameContext &context)
{
    short x,y;

    event.getPosition(x,y);
    context.viewportToWorld(x,y,pos,far);
    linePlaneIntersection(contact,MVector(far-pos),pos,MVector(0,1,0),MVector(0,0,0));

    drawManager.beginDrawable();
    drawManager.setColor( MColor(1.0f, 1.0f, 0.0f) );
    drawManager.line( MPoint( 0, 0,0), MPoint(contact.x,0, contact.z) );
    drawManager.endDrawable();
}

该线在Maya的Viewport 2.0中得到很好的绘制,但是只要我移动鼠标,该线就会消失。如何让我的线条持久?

1 个答案:

答案 0 :(得分:0)

好的,找到它,在

中绘制线条
MStatus drawFeedback ( MHWRender::MUIDrawManager& drawMgr, const MHWRender::MFrameContext& context );

让它持久。