summaryrefslogtreecommitdiffstats
path: root/test/uscxml/proto/3DViewer
diff options
context:
space:
mode:
Diffstat (limited to 'test/uscxml/proto/3DViewer')
-rw-r--r--test/uscxml/proto/3DViewer/CameraPos.proto9
-rw-r--r--test/uscxml/proto/3DViewer/DirectoryListingService.proto48
-rw-r--r--test/uscxml/proto/3DViewer/LinearAlgebra.proto18
-rw-r--r--test/uscxml/proto/3DViewer/ModelInfo.proto10
-rw-r--r--test/uscxml/proto/3DViewer/Pose.proto22
-rw-r--r--test/uscxml/proto/3DViewer/SceneSetup.proto8
-rw-r--r--test/uscxml/proto/3DViewer/SceneShotService.proto24
7 files changed, 139 insertions, 0 deletions
diff --git a/test/uscxml/proto/3DViewer/CameraPos.proto b/test/uscxml/proto/3DViewer/CameraPos.proto
new file mode 100644
index 0000000..6178ef4
--- /dev/null
+++ b/test/uscxml/proto/3DViewer/CameraPos.proto
@@ -0,0 +1,9 @@
+import "LinearAlgebra.proto";
+
+message CameraPos {
+ required Vector3 center = 1;
+ required Quaternion rotation = 2;
+ required double distance = 3;
+ required double lastFrameTime = 4;
+ required bool thrown = 5 [default = false];
+} \ No newline at end of file
diff --git a/test/uscxml/proto/3DViewer/DirectoryListingService.proto b/test/uscxml/proto/3DViewer/DirectoryListingService.proto
new file mode 100644
index 0000000..4a0e412
--- /dev/null
+++ b/test/uscxml/proto/3DViewer/DirectoryListingService.proto
@@ -0,0 +1,48 @@
+option java_package = "org.umundo.filesystem";
+
+message DirectoryEntry {
+ enum Type {
+ NAMED_PIPE = 0;
+ CHAR_DEV = 1;
+ BLOCK_DEV = 2;
+ FILE = 3;
+ DIR = 4;
+ SYMLINK = 5;
+ SOCKET = 6;
+ UNKNOWN = 7;
+ }
+ required string name = 1;
+ required Type type = 2;
+ required string path = 3;
+ required int64 size = 4;
+ optional string extension = 5;
+
+ repeated string segments = 6;
+
+ optional int64 atime_ms = 11;
+ optional int64 ctime_ms = 12;
+ optional int64 mtime_ms = 13;
+ optional int64 btime_ms = 14;
+
+ required string hostId = 15;
+
+}
+
+message DirectoryListingRequest {
+ required string pattern = 1;
+}
+
+message DirectoryListingReply {
+ repeated DirectoryEntry entries = 1;
+}
+
+message DirectoryEntryContent {
+ required bytes content = 1;
+ required string md5 = 2;
+}
+
+service DirectoryListingService {
+ rpc list (DirectoryListingRequest) returns (DirectoryListingReply);
+ rpc get (DirectoryEntry) returns (DirectoryEntryContent);
+}
+
diff --git a/test/uscxml/proto/3DViewer/LinearAlgebra.proto b/test/uscxml/proto/3DViewer/LinearAlgebra.proto
new file mode 100644
index 0000000..135ed00
--- /dev/null
+++ b/test/uscxml/proto/3DViewer/LinearAlgebra.proto
@@ -0,0 +1,18 @@
+message Quaternion {
+ required double w = 1;
+ required double x = 2;
+ required double y = 3;
+ required double z = 4;
+}
+
+message Vector3 {
+ required double x = 1 [default = 0];
+ required double y = 2 [default = 0];
+ required double z = 3 [default = 0];
+}
+
+message Matrix3 {
+ required Vector3 x = 1;
+ required Vector3 y = 2;
+ required Vector3 z = 3;
+}
diff --git a/test/uscxml/proto/3DViewer/ModelInfo.proto b/test/uscxml/proto/3DViewer/ModelInfo.proto
new file mode 100644
index 0000000..3214a71
--- /dev/null
+++ b/test/uscxml/proto/3DViewer/ModelInfo.proto
@@ -0,0 +1,10 @@
+import "LinearAlgebra.proto";
+
+message ModelInfo {
+ required string name = 1;
+ required string description = 2;
+}
+
+message Annotation {
+ required Vector3 position = 1;
+} \ No newline at end of file
diff --git a/test/uscxml/proto/3DViewer/Pose.proto b/test/uscxml/proto/3DViewer/Pose.proto
new file mode 100644
index 0000000..c29d6ff
--- /dev/null
+++ b/test/uscxml/proto/3DViewer/Pose.proto
@@ -0,0 +1,22 @@
+import "LinearAlgebra.proto";
+
+message EulerAngles {
+ required double pitch = 1 [default = 0];
+ required double roll = 2 [default = 0];
+ required double yaw = 3 [default = 0];
+}
+
+message Heading {
+ required Vector3 direction = 1;
+ optional double timestamp = 2;
+ optional double magneticHeading = 3;
+ optional double trueHeading = 4;
+}
+
+message Pose {
+ optional Matrix3 orientation = 1;
+ optional EulerAngles euler = 2;
+ optional Vector3 position = 3;
+ optional Heading heading = 4;
+ optional double timestamp = 5;
+}
diff --git a/test/uscxml/proto/3DViewer/SceneSetup.proto b/test/uscxml/proto/3DViewer/SceneSetup.proto
new file mode 100644
index 0000000..b3b7697
--- /dev/null
+++ b/test/uscxml/proto/3DViewer/SceneSetup.proto
@@ -0,0 +1,8 @@
+import "Pose.proto";
+
+message SceneSetup {
+ optional Pose modelPose = 1;
+ optional Pose camPose = 2;
+ required string modelName = 3;
+ required string bandName = 4;
+} \ No newline at end of file
diff --git a/test/uscxml/proto/3DViewer/SceneShotService.proto b/test/uscxml/proto/3DViewer/SceneShotService.proto
new file mode 100644
index 0000000..c7412a3
--- /dev/null
+++ b/test/uscxml/proto/3DViewer/SceneShotService.proto
@@ -0,0 +1,24 @@
+import "SceneSetup.proto";
+
+message SceneShotReply {
+ optional bytes data = 1;
+ optional string base64 = 2;
+ optional string url = 3;
+ required uint32 width = 4;
+ required uint32 height = 5;
+}
+
+message SceneShotRequest {
+ required uint32 width = 1 [default = 640];
+ required uint32 height = 2 [default = 480];
+ optional string format = 3 [default = "png"];
+ optional string filename = 4;
+ optional SceneSetup sceneSetup = 5;
+ optional double pitch = 6;
+ optional double roll = 7;
+ optional double zoom = 8;
+}
+
+service SceneShotService {
+ rpc sceneShot (SceneShotRequest) returns (SceneShotReply);
+}