Сделайте пользовательские mpxmanipulatornodes выбираемые с API Maya C ++C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Сделайте пользовательские mpxmanipulatornodes выбираемые с API Maya C ++

Сообщение Anonymous »

Я создал пользовательский mpxmanipcontainer , который содержит два экземпляра пользовательского mpxmanipulatornode . Один из mpxmanipulatornode был создан внутри функции CreateChildren () контейнера, а другой создается на DoreLease () кнопки мыши. Mpxmanipulatornode , которая была создана во время функции CreateChildren () выбирается.
Может ли кто -нибудь объяснить, почему это так, и как сделать пользовательскую функцию mpxmanipulatornode , из DoreLease () , выборочной?

Код: Выделить всё

struct LineManip : MPxManipulatorNode
{
static MTypeId id;
...
};
MTypeId LineManip::id = 0x81047;

struct ToyManipContainer : MPxManipContainer
{
static MTypeId id;
...
MStatus addLineManip( const MString& name_, double y_ = 0.0 )
{
MStatus status = MStatus::kSuccess;

MPxManipulatorNode* proxyManip = 0;
MString manipTypeName("LineManip");
status = addMPxManipulatorNode( manipTypeName, name_, proxyManip );
CHECK_STATUS_AND_RETURN_IF_FAIL( status, "Failed in addMPxManipulatorNode." );

// Position the new line manip at a certain height.
LineManip* tmpManipPtr = (LineManip*) proxyManip;
tmpManipPtr->start.y = y_;
tmpManipPtr->end.y   = y_;

return status;
}
MStatus createChildren() override
{
MStatus status = MS::kSuccess;

// Creates a new line manip upon initialization.
// The manip is created and is selectable.
status = addLineManip( MString("foo"), 0.0 );
CHECK_STATUS_AND_RETURN_IF_FAIL( status, "Failed to create the temp LineManip." );

return status;
}

MStatus doRelease() override
{
MStatus status = MStatus::kSuccess;

// Creates a new line manip upon the release of a mouse button.
// Problem: The new manip is created, but it's not selectable.
status = addLineManip( MString("bar"), 0.5 );
CHECK_STATUS_AND_RETURN_IF_FAIL( status, "Failed to add LineManip in ToyManipContainer." );

return status;
}
};
MTypeId ToyManipContainer::id   = 0x81559;
экрановый снимки из плагина:


Подробнее здесь: https://stackoverflow.com/questions/795 ... maya-c-api
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Сделайте пользовательские mpxmanipulatornodes выбираемые с API Maya C ++
    Anonymous » » в форуме C++
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Maya 2025 - окно Pyside6 с CloseEvent () сбой Maya
    Anonymous » » в форуме Python
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Maya 2025 - окно Pyside6 с CloseEvent () сбой Maya
    Anonymous » » в форуме Python
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • Ограничьте выбираемые элементы PhotosPicker только альбомами (SwiftUI)
    Anonymous » » в форуме IOS
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Ограничьте выбираемые элементы PhotosPicker только альбомами (SwiftUI)
    Anonymous » » в форуме IOS
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»