C4D SDK学习-Tool部分RegisterPrimitiveTool

可以在层级面板创建空对象了。先开坑。

 

liquid Tool,液体工具,Tool类型插件,该例子可以在层级面板创建出metaball

 

绘制三角形在Draw里完成。MouseInput方法里对鼠标输入进行检测,然后创建metaball融球对象。

有一个子界面,在LiquidToolDialog类里查看。

 

提取出创建融球的核心代码:

BaseObject*null = nullptr;



    null = BaseObject::Alloc(Ometaball);

    {

        null->GetDataInstance()->SetFloat(METABALLOBJECT_SUBEDITOR, 10.0);

        null->MakeTag(Tphong);

    }



    doc->AddUndo(UNDOTYPE_NEW, null);

    doc->InsertObject(null, nullptr, nullptr);

不要被对象名null迷惑住了,其实是BaseObject的指针。

 

如法炮制,创建另外一个:

BaseObject*myBaseObj = nullptr;



    myBaseObj = BaseObject::Alloc(Onull);

    {

        myBaseObj->MakeTag(Tstop);

        myBaseObj->SetName("Hellow World");

    }



    doc->AddUndo(UNDOTYPE_NEW, myBaseObj);

    doc->InsertObject(myBaseObj, nullptr, nullptr);

 

 

 

 

 

你可能感兴趣的:(tool)