Доброго дня.
Вопрос вот в чем. Возможно кто то встречал исходники где реализуется в ноде функция автоматического добавления атрибутов и входов/ выходов, или знает как это реализовать. Т.е аналогично вот этому примеру
При подключении target [0] автоматом создается target [1]
Не могу понять как, суть в том что в ноде изначально окрикиваются атрибуты класса
"
class DmNode : public MPxNode
{
public:
DmNode();
virtual ~DmNode();
static void* creator();
virtual MStatus compute(const MPlug& plug, MDataBlock& data);
static MStatus initialize();
static MTypeId id;
static MObject aInValue;
"
И добавить что то еще через if (plug == aInValue) и далее что то вроде,
{
a1InValue = nAttr.create("inValue1", "inValue1", MFnNumericData::kFloat);
nAttr.setKeyable(true);
addAttribute(aInValue1);}
Не получается. Можно конечно сразу заготовить до сотни, но это явно не айс.
Судя по всему там как то с массивами работают, но вот глянуть бы каким образом. Создавать каждый раз новую ноду и собирать инфу с объекта заново, не по феньшую, когда можно собрать 1 раз в массив с главного объекта и циклом пройти расчеты для каждого подключенного, в моем случае, локатора.
Но как тоже можно раз есть такое, если кто знает, поделитесь пожалуйста.
В инете чет не смог найти ничего, или проглядел просто.
Вопрос вот в чем. Возможно кто то встречал исходники где реализуется в ноде функция автоматического добавления атрибутов и входов/ выходов, или знает как это реализовать. Т.е аналогично вот этому примеру
При подключении target [0] автоматом создается target [1]
Не могу понять как, суть в том что в ноде изначально окрикиваются атрибуты класса
"
class DmNode : public MPxNode
{
public:
DmNode();
virtual ~DmNode();
static void* creator();
virtual MStatus compute(const MPlug& plug, MDataBlock& data);
static MStatus initialize();
static MTypeId id;
static MObject aInValue;
"
И добавить что то еще через if (plug == aInValue) и далее что то вроде,
{
a1InValue = nAttr.create("inValue1", "inValue1", MFnNumericData::kFloat);
nAttr.setKeyable(true);
addAttribute(aInValue1);}
Не получается. Можно конечно сразу заготовить до сотни, но это явно не айс.
Судя по всему там как то с массивами работают, но вот глянуть бы каким образом. Создавать каждый раз новую ноду и собирать инфу с объекта заново, не по феньшую, когда можно собрать 1 раз в массив с главного объекта и циклом пройти расчеты для каждого подключенного, в моем случае, локатора.
Но как тоже можно раз есть такое, если кто знает, поделитесь пожалуйста.
В инете чет не смог найти ничего, или проглядел просто.
Последнее редактирование: