From 50936ae61219b71cb732deb3504c7ef181dc901a Mon Sep 17 00:00:00 2001 From: John Zhao Date: Mon, 12 Mar 2018 12:07:32 +0800 Subject: [PATCH] Add arch doc --- doc/arch.graphml | 596 +++++++++++++++++++++++++++++++++++++++++++++++ doc/arch.jpg | Bin 0 -> 53755 bytes 2 files changed, 596 insertions(+) create mode 100644 doc/arch.graphml create mode 100644 doc/arch.jpg diff --git a/doc/arch.graphml b/doc/arch.graphml new file mode 100644 index 0000000..8d7b8ba --- /dev/null +++ b/doc/arch.graphml @@ -0,0 +1,596 @@ + + + + + + + + + + + + + + + + + + + + + + + libmynteye.so / mynteye.dll + + + + + + + + + + + Windows Media Foundation + + + + + + + + + + + + + + + + + Video4Linux 2 + + + + + + + + + + + + + + + + + LibUVC + + + + + + + + + + + + + + + + + Basic API (C++) + + + + + + + + + + + + + + + + + Advanced API + + + + + + + + + + + + + + + + + UVC Layer + + + + + + + + + + + Devcie Layer + + + + + + + + + + + + mynteye::context + + + + + + + + + + + + + + + + + + + + + mynteye::device + + + + + + + + + + + + + + + + + + + + + uvc::context + + + + + + + + + + + + + + + + + + + + + uvc::device + + + + + + + + + + + + + + + + + + + + + standard_device + + + + + + + + + + + + + + + + + + + + + depth_device + + + + + + + + + + + + + + + + + + + + WMF Backend + + + + + + + + + + + + + + + + + V4L2 Backend + + + + + + + + + + + + + + + + + LibUVC Backend + + + + + + + + + + + + + + + + + Python Bindings +(boost.python) + + + + + + + + + + + + + + + + + Java Bindings +(dropbox/djinni) + + + + + + + + + + + + + + + + + ROS Wrapper + + + + + + + + + + + + + + + + + LibUSB 1.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/arch.jpg b/doc/arch.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bc1f3c9d92b41c542e83e575f623ac60ca635a05 GIT binary patch literal 53755 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 S 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� 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 literal 0 HcmV?d00001