質問編集履歴

1

未完成部を追加

2020/09/30 04:20

投稿

doomori
doomori

スコア24

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,28 @@
1
- pythonからc++ライブラリCavalierContourspybind11使用して呼び出したいと思っています。
1
+ pythonからc++ライブラリCavalierContoursparallelOffset
2
+
3
+ pybind11を使用して呼び出したいと思っています。
4
+
5
+
6
+
7
+ - python 3.8.5
8
+
9
+ - cmake 3.18.3
10
+
11
+ - windows10 64bit
12
+
13
+
14
+
15
+ std::vector<cavc::Polyline<double>> results = cavc::parallelOffset(polyline, offset);
16
+
17
+ は与えられたpolylineをoffsetだけ平行移動して返す関数です。
18
+
19
+ 返り値がstd::vectorなのは、ヒョウタンのような形状のparallelOffsetだと
20
+
21
+ 上下でpolylineが分断される場合があるので、[上のpolyline,下のpolyline]という
22
+
23
+ 形で返すためです。
24
+
25
+ c++は初めてなのでWeb情報を頼りに下記のようなコードを作成しました。
2
26
 
3
27
  ```c++
4
28
 
@@ -76,7 +100,7 @@
76
100
 
77
101
  ```
78
102
 
79
- ころが
103
+ 「python setup.py install 」は無事に通るのですが、いざpython上で使用する
80
104
 
81
105
  ```ここに言語を入力
82
106
 
@@ -142,4 +166,22 @@
142
166
 
143
167
  ```
144
168
 
169
+ と、std::vectorで返してもらうのをあきらめて単独のpolylineのみ
170
+
171
+ (ヒョウタン形状だと上下どちらかのpolylineのみ)
172
+
173
+ で妥協すると,きちんとparallelOffsetされたnumpy.arrayを受け取れます。
174
+
175
+
176
+
145
- と、list
177
+ 参考にしたサイトは
178
+
179
+ [plibfacedetection](https://eqseqs.hatenablog.com/entry/qiita-python-advent-calendar-2019)です。
180
+
181
+ 妥協バージョンはうまく動いていることを考えると、返り値のstd::vectorの作成がうまくいってない
182
+
183
+ と思うのですが、よくわかりませんでした。
184
+
185
+
186
+
187
+ 以上、よろしくお願いします。