Используя C API, я хотел бы создать массив numpy, содержащий объекты типа Quaternion
, который является классом, который я написал на C++. У меня уже есть массив из них (на самом деле std::vector
), и я хочу сделать копию или использовать ту же память, если это возможно.
Поскольку это не базовый тип, мне нужно использовать типы Py_Object
, и я не могу использовать PyArray_SimpleNew
или что-то в этом роде.
Я предполагаю, что, возможно, захочу использовать PyArray_NewFromDescr
или даже PyArray_SimpleNewFromDescr
, но я полностью и совершенно не понимаю, как мне создать объект PyArray_Descr
, который мне нужен для описания моего класса Quaternion.
Может ли кто-нибудь дать мне несколько советов о том, как сделать этот объект descr? Или дайте мне лучшее представление о том, как построить мой массив numpy?
По сути, это более общая версия этого вопроса., не отвлекаясь.
РЕДАКТИРОВАТЬ:
Используя подсказку dastrobu и свою обертку SWIG, я нашел способ сделать это. Я знаю, что не все используют SWIG, но для тех, кто использует мой ответ на мой другой вопрос, показано, как я это сделал вне.