-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathIModelRpc.proto
117 lines (100 loc) · 2.82 KB
/
IModelRpc.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
syntax = "proto3";
option csharp_namespace = "Bentley.Protobuf";
message RequestWrapper {
uint32 requestId = 1;
oneof msg {
SelectElementIdsRequest selectElementIdsRequest = 2;
ExportMeshesRequest exportMeshesRequest = 3;
TextureRequest textureRequest = 4;
ElementTooltipRequest elementTooltipRequest = 5;
ProjectExtentsRequest projectExtentsRequest = 6;
CameraViewsRequest cameraViewsRequest = 7;
ElementPropertiesRequest elementPropertiesRequest = 8;
}
}
message ReplyWrapper {
uint32 requestId = 1;
bool requestHasMoreReplies = 2;
oneof msg {
SelectElementIdsReply selectElementIdsReply = 3;
ExportMeshesReply exportMeshesReply = 4;
TextureReply textureReply = 5;
ElementTooltipReply elementTooltipReply = 6;
ProjectExtentsReply projectExtentsReply = 7;
CameraViewsReply cameraViewsReply = 8;
ElementPropertiesReply elementPropertiesReply = 9;
}
}
message SelectElementIdsRequest {
string selectFilter = 1;
}
message SelectElementIdsReply {
repeated string elementIds = 1;
}
message ExportMeshesRequest {
repeated string elementIds = 1;
double chordTol = 2;
}
message ExportMeshesReply {
// Will always be present on valid mesh
string elementId = 1;
uint32 color = 2;
uint32 indexCount = 3;
uint32 vertexCount = 4;
bytes meshData = 5;
// Will only be present if the mesh has a texture
string textureId = 6;
}
message TextureRequest {
string textureId = 1;
}
message TextureReply {
string textureId = 1;
bytes textureData = 2;
}
message ElementTooltipRequest {
string elementId = 1;
}
message ElementTooltipReply {
string elementId = 1;
string classLabel = 2;
string categoryLabel = 3;
string modelLabel = 4;
}
message ProjectExtentsRequest {
}
message ProjectExtentsReply {
double minX = 1;
double minY = 2;
double minZ = 3;
double maxX = 4;
double maxY = 5;
double maxZ = 6;
}
message CameraViewsRequest {
}
message CameraViewsReply {
string elementId = 1;
string displayLabel = 2;
double eyePointX = 3;
double eyePointY = 4;
double eyePointZ = 5;
double yaw = 6;
double pitch = 7;
double roll = 8;
}
message ElementPropertiesRequest {
string elementId = 1;
}
message ElementPropertiesReply {
ElementPropertiesReplyEntry root = 1;
}
message ElementPropertiesReplyEntry {
string label = 1;
string value = 2;
repeated ElementPropertiesReplyEntry children = 3;
}