Skip to content

Commit 6ce1ee5

Browse files
authored
Add markers (#285)
* Add markers * Wrap markers * Add markers to examples * Update README.md * Update README.md
1 parent 0f3e266 commit 6ce1ee5

File tree

4 files changed

+73
-1
lines changed

4 files changed

+73
-1
lines changed

README.md

+52-1
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ The Open CDE workgroup develops the BCF standard. The group meets every second M
9191
- [Optimization rules](#optimization-rules-3)
9292
- [3.5.2.15 Translucency setup hints](#35215-translucency-setup-hints)
9393
- [3.5.2.16 Topic File Ids](#35216-topic-file-ids)
94+
- [3.5.2.17 Marker](#35217-marker)
9495
- [3.5.3 GET Viewpoint Service](#353-get-viewpoint-service)
9596
- [3.5.4 GET Viewpoint Snapshot Service](#354-get-viewpoint-snapshot-service)
9697
- [3.5.5 GET Viewpoint Bitmap Service](#355-get-viewpoint-bitmap-service)
@@ -1122,6 +1123,13 @@ Note: For viewpoints without audit information (For example viewpoints created i
11221123
"z": 0.7
11231124
}
11241125
}],
1126+
"markers": [{
1127+
"location": {
1128+
"x": 1.0,
1129+
"y": 1.0,
1130+
"z": 1.0
1131+
}
1132+
}],
11251133
"clipping_planes": [{
11261134
"location": {
11271135
"x": 0.7,
@@ -1172,6 +1180,13 @@ Note: For viewpoints without audit information (For example viewpoints created i
11721180
"z": 0.0
11731181
}
11741182
}],
1183+
"markers": [{
1184+
"location": {
1185+
"x": 1.0,
1186+
"y": 1.0,
1187+
"z": 1.0
1188+
}
1189+
}],
11751190
"clipping_planes": [{
11761191
"location": {
11771192
"x": 0.5,
@@ -1211,6 +1226,7 @@ JSON encoded body using the "application/json" content type.
12111226
| orthogonal_camera | [Orthogonal camera](#3523-orthogonal-camera) | orthogonal camera view | see viewpoint optional/mandatory fields clarification |
12121227
| perspective_camera | [Perspective camera](#3524-perspective-camera) | perspective view of the camera | see viewpoint optional/mandatory fields clarification |
12131228
| lines | array of [Line](#3525-line) | graphical line | optional |
1229+
| markers | array of [Marker](#35217-marker) | highlight specific locations | optional |
12141230
| clipping_planes | array of [Clipping Plane](#3526-clipping-plane) | clipping planes for the model view | optional |
12151231
| bitmaps | array of [Bitmap](#3527-bitmap) | embedded pictures in the viewpoint | optional |
12161232
| snapshot | [Snapshot](#3528-snapshot) | snapshot image of the viewpoint. Note: The longest dimension of should not exceed 1500 px, length or width. | see viewpoint optional/mandatory fields clarification |
@@ -1220,7 +1236,7 @@ JSON encoded body using the "application/json" content type.
12201236
**Viewpoint optional/mandatory fields clarification**
12211237

12221238
1. **Camera definition** is exactly one of `perspective_camera` or `orthogonal_camera`
1223-
2. **Visualisation information** consists of one or more of the following elements: `lines`, `clipping_plans`, `bitmaps`, `components`
1239+
2. **Visualisation information** consists of one or more of the following elements: `lines`, `markers`, `clipping_plans`, `bitmaps`, `components`
12241240
3. A viewpoint must contain a _camera definition_, a `snapshot` or both
12251241
4. A viewpoint containing _visualization information_ must also contain a _camera definition_
12261242

@@ -1443,6 +1459,13 @@ Viewpoints are immutable, while topics may be changed later. To ensure that view
14431459
"z": 0.0
14441460
}
14451461
}],
1462+
"markers": [{
1463+
"location": {
1464+
"x": 1.0,
1465+
"y": 1.0,
1466+
"z": 1.0
1467+
}
1468+
}],
14461469
"clipping_planes": [{
14471470
"location": {
14481471
"x": 0.5,
@@ -1559,6 +1582,13 @@ Viewpoints are immutable, while topics may be changed later. To ensure that view
15591582
"z": 0.0
15601583
}
15611584
}],
1585+
"markers": [{
1586+
"location": {
1587+
"x": 1.0,
1588+
"y": 1.0,
1589+
"z": 1.0
1590+
}
1591+
}],
15621592
"clipping_planes": [{
15631593
"location": {
15641594
"x": 0.5,
@@ -1598,6 +1628,20 @@ Viewpoints are immutable, while topics may be changed later. To ensure that view
15981628
"570477df-428d-4d3d-a7ae-704d79da8cbd"
15991629
]
16001630
}
1631+
1632+
#### 3.5.2.17 Marker
1633+
A marker is a way to pinpoint a location in the 3D model. Each vendor can decide how these markers should be rendered.
1634+
1635+
**Best practice**
1636+
Render the markers based on the topic properties.
1637+
Example: Red markers for open topics, and green markers for closed topics
1638+
1639+
[marker.json](Schemas_draft-03/Collaboration/Viewpoint/marker.json)
1640+
1641+
|parameter|type|description|required|
1642+
|---------|----|-----------|--------|
1643+
| location | [Point](#3521-point) | Location of the marker | mandatory |
1644+
16011645
### 3.5.3 GET Viewpoint Service
16021646

16031647
**Resource URL**
@@ -1652,6 +1696,13 @@ Retrieve a specific viewpoint.
16521696
"z": 0.0
16531697
}
16541698
}],
1699+
"markers": [{
1700+
"location": {
1701+
"x": 1.0,
1702+
"y": 1.0,
1703+
"z": 1.0
1704+
}
1705+
}],
16551706
"clipping_planes": [{
16561707
"location": {
16571708
"x": 0.5,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"title": "marker",
3+
"type": "object",
4+
"properties": {
5+
"location": {
6+
"$ref": "point.json"
7+
}
8+
}
9+
}

Schemas/Collaboration/Viewpoint/viewpoint_GET.json

+6
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@
2424
"$ref": "line.json"
2525
}
2626
},
27+
"markers": {
28+
"type": ["array", "null"],
29+
"items": {
30+
"$ref": "marker.json"
31+
}
32+
},
2733
"clipping_planes": {
2834
"type": ["array", "null"],
2935
"items": {

Schemas/Collaboration/Viewpoint/viewpoint_POST.json

+6
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@
2424
"$ref": "line.json"
2525
}
2626
},
27+
"markers": {
28+
"type": ["array", "null"],
29+
"items": {
30+
"$ref": "marker.json"
31+
}
32+
},
2733
"clipping_planes": {
2834
"type": ["array", "null"],
2935
"items": {

0 commit comments

Comments
 (0)