LJ-X8000A の高速通信機能の検証用プロジェクト
./vendor フォルダに"LJX8_IF.lib"をおいてコンパイル
生成されたバイナリの同一フォルダに"LJX8_IF.dll"を設置 P する
LJX8000A と高速データ通信 ⇒ データをファイルに保存。
通信のタイミングはコマンドラインで制御する
LJX の C ライブラリのコールバック関数に Rust の関数を渡している。
データをメッセージ送信で Rust に送信したいが C に非同期関数を渡すことができない。
解決方法を思いつかなかったので await を行わなくてよい std::sync::mpsc::Sender を使っている
- プロット点数が多いとライブラリ側で間引きが行われる 400 点 ×400 点のプロットでオバーフローしてるっぽい
- 1 の関係上、ファイル数が膨大になるため。python スクリプトの呼び出しの遅さが許容できない
400×400 で点データが約 16 万点、meshlab を通すと点データが約 18 万点、面データが約 38 万点
500×500 で点データが約 25 万点、meshlab を通すと点データが約 20 万点、面データが約 40 万点
500×500 で点データが約 36 万点、meshlab を通すと点データが約 16 万点、面データが約 32 万点
点データ 20 万点、面データ 40 万点辺りに上限がありそう
1800×1800 で点データが約 330 万点の ply でも CloudCompose で可視化は可能
結論として程よいサイズの ply への変換までを行うのがよさそう
検証用のコード置き場