125 lines
2.0 KiB
Markdown
125 lines
2.0 KiB
Markdown
# JSON-RPC API Documentation
|
|
|
|
The Cloud Point RPC server implements the **JSON-RPC 2.0** protocol over TCP.
|
|
|
|
> **NOTE 1:** Base64 encoding of data should be implemented on Unity Side.
|
|
|
|
> **NOTE 2:** Unit Tests were not written for the described API yet
|
|
|
|
Unity side expected:
|
|
- receive value of `params` field of request:`{}`
|
|
- return value of `result` field of response (string or json, both ASCII compliant)
|
|
|
|
## General Format
|
|
|
|
All requests and responses are JSON objects.
|
|
|
|
### Request
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"method": "<method_name>",
|
|
"params": {},
|
|
"id": <integer|string>
|
|
}
|
|
```
|
|
*Note: `params` is currently ignored by the implemented methods but is part of the standard.*
|
|
|
|
### Response (Success)
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"result": <method_specific_result>,
|
|
"id": <matching_request_id>
|
|
}
|
|
```
|
|
|
|
### Response (Error)
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"error": {
|
|
"code": <integer>,
|
|
"message": "<string>"
|
|
},
|
|
"id": <matching_request_id>
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Methods
|
|
|
|
### `get-intrinsic-params`
|
|
|
|
Retrieves the intrinsic camera parameters as a flat 3x3 matrix (row-major).
|
|
|
|
**Request:**
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"method": "get-intrinsic-params",
|
|
"id": 1
|
|
}
|
|
```
|
|
|
|
**Response:**
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"result": <base64-encoded-array>,
|
|
"id": 1
|
|
}
|
|
```
|
|
*Type: `vector<double>` (size 9) encoded as base64*
|
|
|
|
### `get-extrinsic-params`
|
|
|
|
Retrieves the extrinsic camera parameters as a flat 4x4 matrix (row-major).
|
|
|
|
**Request:**
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"method": "get-extrinsic-params",
|
|
"id": 2
|
|
}
|
|
```
|
|
|
|
**Response:**
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"result": <base64-encoded-array>,
|
|
"id": 2
|
|
}
|
|
```
|
|
*Type: `vector<double>` (size 16) encoded as base64*
|
|
|
|
### `get-cloud-point`
|
|
|
|
Retrieves the current field of view point cloud.
|
|
|
|
**Request:**
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"method": "get-cloud-point",
|
|
"id": 3
|
|
}
|
|
```
|
|
|
|
**Response:**
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"result": {
|
|
"width": int,
|
|
"height": int,
|
|
"data": <base64-encoded-array>
|
|
},
|
|
"id": 3
|
|
}
|
|
```
|
|
*Type of data: `matrix WxH` (List of [x, y, z] points) encoded as base 64*
|