Commit 5bdf0c1d authored by Nathan Chambron's avatar Nathan Chambron
Browse files

Merge branch 'develop' into 'master'

Put spec file into MASTER

See merge request !8
parents aaf42956 29f887a0
Loading
Loading
Loading
Loading

API/openapi.yaml

0 → 100644
+779 −0

File added.

Preview size limit exceeded, changes collapsed.

API/openapitools.json

0 → 100644
+7 −0
Original line number Diff line number Diff line
{
  "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json",
  "spaces": 2,
  "generator-cli": {
    "version": "5.3.0"
  }
}
+32 −4
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@

# Objectives

Project dedicated to the development of an API standardizing the exchanges with a World Storage Representation service.
This repository is dedicated to the development of the augmented reality framework (ARF) API (ETSI-ISG) for standardizing the exchanges with a World Storage. service. The API contains all the accees actions (REST) data (elements) needed to implement a World Representation with a World Graph.

# Associated workspaces

@@ -97,7 +97,37 @@ Contains temporary office documents that are edited collaboratively and all othe

- Visual Studio
- Visual Studio Code
- Unity 3D
- Unity 3D (Version 2020.3 LTS)

# Creating Server/Client Code

## Tool: openapi-generator

We recommand the usage of the open source command-line tool **openapi-generator** while it has a good compatibility to API v3.x and produces accurate source code, similar to Swagger.

Find a description here: https://openapi-generator.tech/docs/usage/

Install the tool with "npm", see: https://openapi-generator.tech/docs/installation/

### Help

> npx @openapitools/openapi-generator-cli help

### Validating the api

> npx @openapitools/openapi-generator-cli validate -i API/openapi.yaml

### Example C++ Server (Pistache)

> npx @openapitools/openapi-generator-cli generate -i API/openapi.yaml  -g cpp-pistache-server -o ./CodeGeneration/sever/cpp/pistache

### Example ASP.NET Server (C#)

> npx @openapitools/openapi-generator-cli generate -i API/openapi.yaml -g aspnetcore -o ./CodeGeneration/server/aspnetcore

### Example C# Client

> npx @openapitools/openapi-generator-cli generate -i API/openapi.yaml  -g csharp -o ./CodeGeneration/client/csharp

# Branching Policy
Distributed version control systems like Git offers developers great flexibility to share and manage code. But a branching policy is crucial to collaborate more easily while keeping track of releases with bug fixes.
@@ -114,5 +144,3 @@ We consider 5 categories of branches:



+72.1 KiB
Loading image diff...
+96 −0
Original line number Diff line number Diff line
@startuml

participant "World Storage"  as WS
participant "Authoring Tool" as AT

' THIS IS FOR SYSTEM A (3D-Reg)
' -------------------------------

WS <- AT: AR17-AddTrackable() - 3D-Registration (System B)

rnote right AT
**Payload**
  Creator UID (not possible, external app)
+ Trackable Type (fiducial)
+ Trackable Encoding Information (Aruco)
+ Trackable Payload (no image saved)
+ Local CRS (to the middle of the workbench)
+ Unit System (mm)
+ Trackable Scale
+ KeyValue Tag List (table-id, end-device)
end rnote

activate WS

WS -> WS : Extract features


alt successful case
rnote right WS
**Payload**
  Unique Identifier
end rnote
WS -> AT: AR17-Trackable unique Identifier
deactivate WS
note right AT
Stores the identifier with the Trackable in the scene graph
end note
else ERROR: Trackable all exceptions
WS -> AT: AR17-Trackable return exception
end

' THIS IS FOR SYSTEM B (Unity)
' -------------------------------
WS <- AT: AR17-AddTrackable() - Unity (System B)

rnote right AT
**Payload**
  Creator UID (Unity Tag)
+ Trackable Type (image)
+ Trackable Encoding Information (Vuforia)
+ Trackable Payload (png image of Vuforia marker, size)
+ Local CRS (to the middle of the workbench)
+ Unit System (meters)
+ Trackable Scale
+ KeyValue Tag List (linked to HoloLens space mapping)
end rnote

activate WS

WS -> WS : Extract features


alt successful case
rnote right WS
**Payload**
  Unique Identifier
end rnote
WS -> AT: AR17-Trackable unique Identifier
deactivate WS
note right AT
Stores the identifier with the Trackable in the scene graph
end note
else ERROR: Trackable all exceptions
WS -> AT: AR17-Trackable return exception
end

rnote left AT
**Registrated Nodes**
  QUESTION:
  Is the 3d-pose (gridshell node) an object-trackable or a world anchor? 

  **Payload**
  Unique Identifier
  + Type = Node
  + CAD-Identifier
  + CAD-Name
  + 3DT Position
  + Bounding Box
  + Ref to Gizmos Objects (position/rotation gizmos)
  + Ref to annonations (info label)
  + Logistic State (intern)
  + Montage Seq
  + Ticket State (public)
 
end rnote
@enduml
Loading