2
我正在使用std :: array來爲最短路徑函數定義2D點。boost :: python轉換std :: array
typedef std::array<double, 2> point_xy_t;
typedef std::vector<point_xy_t> path_t;
path_t search(const point_xy_t& start, const point_xy_t& goal);
現在,我最好的解決辦法是點轉換(STD ::數組)到std ::向量,並使用boost ::蟒蛇:: vector_indexing_suite爲:
bpy::class_<std::vector<double> >("Point")
.def(bpy::vector_indexing_suite<std::vector<double> >())
;
bpy::class_<std::vector<std::vector<double>> >("Path")
.def(bpy::vector_indexing_suite<std::vector<std::vector<double>> >())
;
它會可以索引或直接從/到std ::數組轉換爲/從python?
[這](http://stackoverflow.com/a/15940413/1053968)的答案可能會有所幫助。它顯示瞭如何爲集合註冊自定義轉換器,包括多個維度。 –