-
Notifications
You must be signed in to change notification settings - Fork 35
/
curved_polygon.json
79 lines (79 loc) · 3.86 KB
/
curved_polygon.json
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
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "A description of a curved polygon that has occurred as an intersection between two B\\u00e9zier surfaces. The curved polygon edges will be described in terms of the two surfaces they intersect. A curved polygon can be completely described from its edges and each edge will be given as a segment from an edge of one of the two intersected surfaces.",
"type": "object",
"properties": {
"nodes": {
"description": "A list of x-y coordinates of the ``corners'' of the curved polygon.",
"type": "array",
"items": {
"description": "An x-y coordinate pair for a single corner.",
"type": "array",
"items": {
"description": "A coordinate as a numerical value.",
"$ref": "./numerical.json"
},
"minItems": 2,
"maxItems": 2
},
"minItems": 2
},
"start_params": {
"description": "Numerical parameters (along an edge of a surface) that define the starting points of each edge of the curved polygon (as segments within an edge of one of the two surfaces).",
"type": "array",
"items": {
"description": "A parameter as a numerical value.",
"$ref": "./numerical.json"
}
},
"end_params": {
"description": "Numerical parameters (along an edge of a surface) that define the end / terminal points of each edge of the curved polygon (as segments within an edge of one of the two surfaces).",
"type": "array",
"items": {
"description": "A parameter as a numerical value.",
"$ref": "./numerical.json"
}
},
"edge_list": {
"description": "List of integers in {0, 1, 2, 3, 4, 5} identifying each edge (from the original surfaces) that define the curved polygon.",
"type": "array",
"items": {
"description": "A ``hybrid'' index. The values {0, 1, 2} indicate an edge on the first surface and the values {3, 4, 5} indicate an edge on the second surface.",
"type": "integer"
}
},
"start_param_polys": {
"description": "The coefficients of the minimal polynomials that determine the values in ``start_params`` (if applicable).",
"type": "array",
"items": {
"description": "The coefficients in a given polynomial, in order from lowest to highest exponent. For example, if a parameter is a root of ``4 s^4 + 3 s - 2 = 0`` (i.e. ``0x1.182547769d3bbp-1``) then the polynomial is represented as ``[-2, 3, 0, 0, 4]``.",
"type": "array",
"items": {
"description": "A coefficient in a polynomial.",
"type": "integer"
},
"minItems": 2
}
},
"end_param_polys": {
"description": "The coefficients of the minimal polynomials that determine the values in ``end_params`` (if applicable).",
"type": "array",
"items": {
"description": "The coefficients in a given polynomial, in order from lowest to highest exponent. For example, if a parameter is a root of ``4 s^3 + 3 s^2 + 2 s - 1 = 0`` (i.e. ``0x1.37c9dbcbb1d1cp-2``) then the polynomial is represented as ``[-1, 2, 3, 4]``.",
"type": "array",
"items": {
"description": "A coefficient in a polynomial.",
"type": "integer"
},
"minItems": 2
}
}
},
"additionalProperties": false,
"required": [
"nodes",
"start_params",
"end_params",
"edge_list"
]
}