@davepagurek/flo-mat
Version:
Medial / Scale Axis Transform (MAT/SAT) Library.
2,308 lines (2,307 loc) • 744 kB
JSON
{
"id": 0,
"name": "Mat",
"kind": 0,
"flags": {},
"children": [
{
"id": 1672,
"name": "\"index\"",
"kind": 1,
"kindString": "External module",
"flags": {
"isExported": true
},
"originalName": "C:/Projects/mat/index.ts",
"sources": [
{
"fileName": "index.ts",
"line": 1,
"character": 0
}
]
},
{
"id": 226,
"name": "\"src/bezier-piece\"",
"kind": 1,
"kindString": "External module",
"flags": {
"isExported": true
},
"originalName": "C:/Projects/mat/src/bezier-piece.ts",
"children": [
{
"id": 227,
"name": "BezierPiece",
"kind": 128,
"kindString": "Class",
"flags": {},
"children": [
{
"id": 228,
"name": "constructor",
"kind": 512,
"kindString": "Constructor",
"flags": {},
"comment": {},
"signatures": [
{
"id": 231,
"name": "new BezierPiece",
"kind": 16384,
"kindString": "Constructor signature",
"flags": {},
"comment": {},
"parameters": [
{
"id": 232,
"name": "curve",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {},
"type": {
"type": "reference",
"name": "Curve",
"id": 30
}
},
{
"id": 233,
"name": "ts",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {
"shortText": "The start and end t parameter of the original bezier curve\n"
},
"type": {
"type": "array",
"elementType": {
"type": "intrinsic",
"name": "number"
}
}
}
],
"type": {
"type": "reference",
"name": "BezierPiece",
"id": 227
}
}
],
"sources": [
{
"fileName": "src/bezier-piece.ts",
"line": 4,
"character": 19
}
]
},
{
"id": 229,
"name": "curve",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isPublic": true
},
"sources": [
{
"fileName": "src/bezier-piece.ts",
"line": 11,
"character": 24
}
],
"type": {
"type": "reference",
"name": "Curve",
"id": 30
}
},
{
"id": 230,
"name": "ts",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isPublic": true
},
"comment": {
"shortText": "The start and end t parameter of the original bezier curve\n"
},
"sources": [
{
"fileName": "src/bezier-piece.ts",
"line": 12,
"character": 21
}
],
"type": {
"type": "array",
"elementType": {
"type": "intrinsic",
"name": "number"
}
}
}
],
"groups": [
{
"title": "Constructors",
"kind": 512,
"children": [
228
]
},
{
"title": "Properties",
"kind": 1024,
"children": [
229,
230
]
}
],
"sources": [
{
"fileName": "src/bezier-piece.ts",
"line": 4,
"character": 17
}
]
}
],
"groups": [
{
"title": "Classes",
"kind": 128,
"children": [
227
]
}
],
"sources": [
{
"fileName": "src/bezier-piece.ts",
"line": 1,
"character": 0
}
]
},
{
"id": 890,
"name": "\"src/bounding-box/find-bb-intersections\"",
"kind": 1,
"kindString": "External module",
"flags": {
"isExported": true
},
"originalName": "C:/Projects/mat/src/bounding-box/find-bb-intersections.ts",
"children": [
{
"id": 891,
"name": "Event_",
"kind": 128,
"kindString": "Class",
"flags": {},
"children": [
{
"id": 892,
"name": "constructor",
"kind": 512,
"kindString": "Constructor",
"flags": {},
"comment": {
"shortText": "Event class constructor"
},
"signatures": [
{
"id": 896,
"name": "new Event_",
"kind": 16384,
"kindString": "Constructor signature",
"flags": {},
"comment": {
"shortText": "Event class constructor"
},
"parameters": [
{
"id": 897,
"name": "type",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {
"shortText": "0 -> left side, 1 -> right side"
},
"type": {
"type": "intrinsic",
"name": "number"
}
},
{
"id": 898,
"name": "box",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {
"shortText": "An axis-aligned 2-box described by 2 points"
},
"type": {
"type": "array",
"elementType": {
"type": "array",
"elementType": {
"type": "intrinsic",
"name": "number"
}
}
}
},
{
"id": 899,
"name": "p",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {
"shortText": "A point.\n"
},
"type": {
"type": "array",
"elementType": {
"type": "intrinsic",
"name": "number"
}
}
}
],
"type": {
"type": "reference",
"name": "Event_",
"id": 891
}
}
],
"sources": [
{
"fileName": "src/bounding-box/find-bb-intersections.ts",
"line": 52,
"character": 14
}
]
},
{
"id": 894,
"name": "box",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isPublic": true
},
"comment": {
"shortText": "An axis-aligned 2-box described by 2 points"
},
"sources": [
{
"fileName": "src/bounding-box/find-bb-intersections.ts",
"line": 62,
"character": 22
}
],
"type": {
"type": "array",
"elementType": {
"type": "array",
"elementType": {
"type": "intrinsic",
"name": "number"
}
}
}
},
{
"id": 895,
"name": "p",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isPublic": true
},
"comment": {
"shortText": "A point.\n"
},
"sources": [
{
"fileName": "src/bounding-box/find-bb-intersections.ts",
"line": 63,
"character": 20
}
],
"type": {
"type": "array",
"elementType": {
"type": "intrinsic",
"name": "number"
}
}
},
{
"id": 893,
"name": "type",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isPublic": true
},
"comment": {
"shortText": "0 -> left side, 1 -> right side"
},
"sources": [
{
"fileName": "src/bounding-box/find-bb-intersections.ts",
"line": 61,
"character": 23
}
],
"type": {
"type": "intrinsic",
"name": "number"
}
},
{
"id": 900,
"name": "compare",
"kind": 2048,
"kindString": "Method",
"flags": {
"isStatic": true
},
"signatures": [
{
"id": 901,
"name": "compare",
"kind": 4096,
"kindString": "Call signature",
"flags": {},
"comment": {
"shortText": "Compare two Events by their x-axis and then by their type. Since it is\nopen boxes that are compare we must let the right endpoint type come\nbefore the left."
},
"parameters": [
{
"id": 902,
"name": "a",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {
"text": "A point (within an object)"
},
"type": {
"type": "reference",
"name": "Event_",
"id": 891
}
},
{
"id": 903,
"name": "b",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {
"text": "A point (within an object)\n"
},
"type": {
"type": "reference",
"name": "Event_",
"id": 891
}
}
],
"type": {
"type": "intrinsic",
"name": "number"
}
}
],
"sources": [
{
"fileName": "src/bounding-box/find-bb-intersections.ts",
"line": 74,
"character": 18
}
]
}
],
"groups": [
{
"title": "Constructors",
"kind": 512,
"children": [
892
]
},
{
"title": "Properties",
"kind": 1024,
"children": [
894,
895,
893
]
},
{
"title": "Methods",
"kind": 2048,
"children": [
900
]
}
],
"sources": [
{
"fileName": "src/bounding-box/find-bb-intersections.ts",
"line": 52,
"character": 12
}
]
},
{
"id": 904,
"name": "EVENT_LEFT",
"kind": 32,
"kindString": "Variable",
"flags": {
"isConst": true
},
"sources": [
{
"fileName": "src/bounding-box/find-bb-intersections.ts",
"line": 2,
"character": 16
}
],
"type": {
"type": "unknown",
"name": "0"
},
"defaultValue": "0"
},
{
"id": 905,
"name": "EVENT_RIGHT",
"kind": 32,
"kindString": "Variable",
"flags": {
"isConst": true
},
"sources": [
{
"fileName": "src/bounding-box/find-bb-intersections.ts",
"line": 3,
"character": 17
}
],
"type": {
"type": "unknown",
"name": "1"
},
"defaultValue": "1"
},
{
"id": 912,
"name": "areBoxesIntersecting",
"kind": 64,
"kindString": "Function",
"flags": {},
"signatures": [
{
"id": 913,
"name": "areBoxesIntersecting",
"kind": 4096,
"kindString": "Call signature",
"flags": {},
"comment": {
"shortText": "Returns true if the 2 given (open) boxes intersect. At this stage we already\nknow their x-axis intersect."
},
"parameters": [
{
"id": 914,
"name": "a",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"type": {
"type": "array",
"elementType": {
"type": "array",
"elementType": {
"type": "intrinsic",
"name": "number"
}
}
}
},
{
"id": 915,
"name": "b",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"type": {
"type": "array",
"elementType": {
"type": "array",
"elementType": {
"type": "intrinsic",
"name": "number"
}
}
}
}
],
"type": {
"type": "intrinsic",
"name": "boolean"
}
}
],
"sources": [
{
"fileName": "src/bounding-box/find-bb-intersections.ts",
"line": 92,
"character": 29
}
]
},
{
"id": 906,
"name": "findBbIntersections",
"kind": 64,
"kindString": "Function",
"flags": {},
"signatures": [
{
"id": 907,
"name": "findBbIntersections",
"kind": 4096,
"kindString": "Call signature",
"flags": {},
"comment": {
"shortText": "Find and return axis-aligned open boxes that intersect via a sweepline\nalgorithm."
},
"parameters": [
{
"id": 908,
"name": "boxes",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"type": {
"type": "array",
"elementType": {
"type": "array",
"elementType": {
"type": "array",
"elementType": {
"type": "intrinsic",
"name": "number"
}
}
}
}
}
],
"type": {
"type": "array",
"elementType": {
"type": "reflection",
"declaration": {
"id": 909,
"name": "__type",
"kind": 65536,
"kindString": "Type literal",
"flags": {},
"children": [
{
"id": 910,
"name": "box1",
"kind": 32,
"kindString": "Variable",
"flags": {},
"sources": [
{
"fileName": "src/bounding-box/find-bb-intersections.ts",
"line": 37,
"character": 28
}
],
"type": {
"type": "array",
"elementType": {
"type": "array",
"elementType": {
"type": "intrinsic",
"name": "number"
}
}
},
"defaultValue": " box"
},
{
"id": 911,
"name": "box2",
"kind": 32,
"kindString": "Variable",
"flags": {},
"sources": [
{
"fileName": "src/bounding-box/find-bb-intersections.ts",
"line": 37,
"character": 39
}
],
"type": {
"type": "array",
"elementType": {
"type": "array",
"elementType": {
"type": "intrinsic",
"name": "number"
}
}
},
"defaultValue": " activeBox"
}
],
"groups": [
{
"title": "Variables",
"kind": 32,
"children": [
910,
911
]
}
]
}
}
}
}
],
"sources": [
{
"fileName": "src/bounding-box/find-bb-intersections.ts",
"line": 10,
"character": 28
}
]
}
],
"groups": [
{
"title": "Classes",
"kind": 128,
"children": [
891
]
},
{
"title": "Variables",
"kind": 32,
"children": [
904,
905
]
},
{
"title": "Functions",
"kind": 64,
"children": [
912,
906
]
}
],
"sources": [
{
"fileName": "src/bounding-box/find-bb-intersections.ts",
"line": 1,
"character": 0
}
]
},
{
"id": 63,
"name": "\"src/circle\"",
"kind": 1,
"kindString": "External module",
"flags": {
"isExported": true
},
"originalName": "C:/Projects/mat/src/circle.ts",
"children": [
{
"id": 64,
"name": "Circle",
"kind": 128,
"kindString": "Class",
"flags": {},
"children": [
{
"id": 65,
"name": "constructor",
"kind": 512,
"kindString": "Constructor",
"flags": {},
"comment": {},
"signatures": [
{
"id": 68,
"name": "new Circle",
"kind": 16384,
"kindString": "Constructor signature",
"flags": {},
"comment": {},
"parameters": [
{
"id": 69,
"name": "center",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {},
"type": {
"type": "array",
"elementType": {
"type": "intrinsic",
"name": "number"
}
}
},
{
"id": 70,
"name": "radius",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {
"shortText": "\n"
},
"type": {
"type": "intrinsic",
"name": "number"
}
}
],
"type": {
"type": "reference",
"name": "Circle",
"id": 64
}
}
],
"sources": [
{
"fileName": "src/circle.ts",
"line": 5,
"character": 14
}
]
},
{
"id": 66,
"name": "center",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isPublic": true
},
"sources": [
{
"fileName": "src/circle.ts",
"line": 12,
"character": 30
}
],
"type": {
"type": "array",
"elementType": {
"type": "intrinsic",
"name": "number"
}
}
},
{
"id": 67,
"name": "radius",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isPublic": true
},
"comment": {
"shortText": "\n"
},
"sources": [
{
"fileName": "src/circle.ts",
"line": 13,
"character": 30
}
],
"type": {
"type": "intrinsic",
"name": "number"
}
},
{
"id": 75,
"name": "engulfsCircle",
"kind": 2048,
"kindString": "Method",
"flags": {
"isStatic": true,
"isPublic": true
},
"signatures": [
{
"id": 76,
"name": "engulfsCircle",
"kind": 4096,
"kindString": "Call signature",
"flags": {},
"comment": {
"shortText": "Returns true if the first circle engulfs the second."
},
"parameters": [
{
"id": 77,
"name": "c1",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {},
"type": {
"type": "reference",
"name": "Circle",
"id": 64
}
},
{
"id": 78,
"name": "c2",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {
"text": "\n"
},
"type": {
"type": "reference",
"name": "Circle",
"id": 64
}
}
],
"type": {
"type": "intrinsic",
"name": "boolean"
}
}
],
"sources": [
{
"fileName": "src/circle.ts",
"line": 32,
"character": 31
}
]
},
{
"id": 71,
"name": "scale",
"kind": 2048,
"kindString": "Method",
"flags": {
"isStatic": true,
"isPublic": true
},
"signatures": [
{
"id": 72,
"name": "scale",
"kind": 4096,
"kindString": "Call signature",
"flags": {},
"comment": {
"shortText": "Returns a scaled version of the given circle without changing its center."
},
"parameters": [
{
"id": 73,
"name": "circle",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {},
"type": {
"type": "reference",
"name": "Circle",
"id": 64
}
},
{
"id": 74,
"name": "s",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {
"text": "multiplier\n"
},
"type": {
"type": "intrinsic",
"name": "number"
}
}
],
"type": {
"type": "reference",
"name": "Circle",
"id": 64
}
}
],
"sources": [
{
"fileName": "src/circle.ts",
"line": 22,
"character": 23
}
]
},
{
"id": 79,
"name": "toString",
"kind": 2048,
"kindString": "Method",
"flags": {
"isStatic": true,
"isPublic": true
},
"signatures": [
{
"id": 80,
"name": "toString",
"kind": 4096,
"kindString": "Call signature",
"flags": {},
"comment": {
"shortText": "Returns a human-readable string description of the given circle."
},
"parameters": [
{
"id": 81,
"name": "circle",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {
"text": "\n"
},
"type": {
"type": "reference",
"name": "Circle",
"id": 64
}
}
],
"type": {
"type": "intrinsic",
"name": "string"
}
}
],
"sources": [
{
"fileName": "src/circle.ts",
"line": 49,
"character": 26
}
]
}
],
"groups": [
{
"title": "Constructors",
"kind": 512,
"children": [
65
]
},
{
"title": "Properties",
"kind": 1024,
"children": [
66,
67
]
},
{
"title": "Methods",
"kind": 2048,
"children": [
75,
71,
79
]
}
],
"sources": [
{
"fileName": "src/circle.ts",
"line": 5,
"character": 12
}
]
}
],
"groups": [
{
"title": "Classes",
"kind": 128,
"children": [
64
]
}
],
"sources": [
{
"fileName": "src/circle.ts",
"line": 1,
"character": 0
}
]
},
{
"id": 160,
"name": "\"src/contact-point\"",
"kind": 1,
"kindString": "External module",
"flags": {
"isExported": true
},
"originalName": "C:/Projects/mat/src/contact-point.ts",
"children": [
{
"id": 161,
"name": "ContactPoint",
"kind": 128,
"kindString": "Class",
"flags": {},
"children": [
{
"id": 162,
"name": "constructor",
"kind": 512,
"kindString": "Constructor",
"flags": {},
"comment": {
"shortText": "Representation of a point on a loop (or shape)."
},
"signatures": [
{
"id": 167,
"name": "new ContactPoint",
"kind": 16384,
"kindString": "Constructor signature",
"flags": {},
"comment": {
"shortText": "Representation of a point on a loop (or shape)."
},
"parameters": [
{
"id": 168,
"name": "pointOnShape",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {},
"type": {
"type": "reference",
"name": "PointOnShape",
"id": 83
}
},
{
"id": 169,
"name": "circle",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"type": {
"type": "reference",
"name": "Circle",
"id": 64
}
},
{
"id": 170,
"name": "order",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"type": {
"type": "intrinsic",
"name": "number"
}
},
{
"id": 171,
"name": "order2",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"type": {
"type": "intrinsic",
"name": "number"
}
}
],
"type": {
"type": "reference",
"name": "ContactPoint",
"id": 161
}
}
],
"sources": [
{
"fileName": "src/contact-point.ts",
"line": 6,
"character": 20
}
]
},
{
"id": 164,
"name": "circle",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true
},
"sources": [
{
"fileName": "src/contact-point.ts",
"line": 15,
"character": 18
}
],
"type": {
"type": "reference",
"name": "Circle",
"id": 64
}
},
{
"id": 165,
"name": "order",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true
},
"sources": [
{
"fileName": "src/contact-point.ts",
"line": 16,
"character": 17
}
],
"type": {
"type": "intrinsic",
"name": "number"
}
},
{
"id": 166,
"name": "order2",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true
},
"sources": [
{
"fileName": "src/contact-point.ts",
"line": 17,
"character": 18
}
],
"type": {
"type": "intrinsic",
"name": "number"
}
},
{
"id": 163,
"name": "pointOnShape",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true
},
"sources": [
{
"fileName": "src/contact-point.ts",
"line": 14,
"character": 24
}
],
"type": {
"type": "reference",
"name": "PointOnShape",
"id": 83
}
},
{
"id": 172,
"name": "compare",
"kind": 2048,
"kindString": "Method",
"flags": {
"isStatic": true
},
"signatures": [
{
"id": 173,
"name": "compare",
"kind": 4096,
"kindString": "Call signature",
"flags": {},
"parameters": [
{
"id": 174,
"name": "a",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"type": {
"type": "reference",
"name": "ContactPoint",
"id": 161
}
},
{
"id": 175,
"name": "b",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"type": {
"type": "reference",
"name": "ContactPoint",
"id": 161
}
}
],
"type": {
"type": "intrinsic",
"name": "number"
}
}
],
"sources": [
{
"fileName": "src/contact-point.ts",
"line": 21,
"character": 15
}
]
}
],
"groups": [
{
"title": "Constructors",
"kind": 512,
"children": [
162
]
},
{
"title": "Properties",
"kind": 1024,
"children": [
164,
165,
166,
163
]
},
{
"title": "Methods",
"kind": 2048,
"children": [
172
]
}
],
"sources": [
{
"fileName": "src/contact-point.ts",
"line": 6,
"character": 18
}
]
}
],
"groups": [
{
"title": "Classes",
"kind": 128,
"children": [
161
]
}
],
"sources": [
{
"fileName": "src/contact-point.ts",
"line": 1,
"character": 0
}
]
},
{
"id": 1673,
"name": "\"src/corner\"",
"kind": 1,
"kindString": "External module",
"flags": {
"isExported": true
},
"originalName": "C:/Projects/mat/src/corner.ts",
"children": [
{
"id": 1674,
"name": "Corner",
"kind": 128,
"kindString": "Class",
"flags": {},
"children": [
{
"id": 1675,
"name": "constructor",
"kind": 512,
"kindString": "Constructor",
"flags": {},
"signatures": [
{
"id": 1682,
"name": "new Corner",
"kind": 16384,
"kindString": "Constructor signature",
"flags": {},
"parameters": [
{
"id": 1683,
"name": "tans",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"type": {
"type": "array",
"elementType": {
"type": "array",
"elementType": {
"type": "intrinsic",
"name": "number"
}
}
}
},
{
"id": 1684,
"name": "crossTangents",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"type": {
"type": "intrinsic",
"name": "number"
}
},
{
"id": 1685,
"name": "isSharp",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"type": {
"type": "intrinsic",
"name": "boolean"
}
},
{
"id": 1686,
"name": "isDull",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"type": {
"type": "intrinsic",
"name": "boolean"
}
},
{
"id": 1687,
"name": "isQuiteSharp",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"type": {
"type": "intrinsic",
"name": "boolean"
}
},
{
"id": 1688,
"name": "isQuiteDull",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"type": {
"type": "intrinsic",
"name": "boolean"
}
}
],
"type": {
"type": "reference",
"name": "Corner",
"id": 1674
}
}
],
"sources": [
{
"fileName": "src/corner.ts",
"line": 2,
"character": 14
}
]
},
{
"id": 1677,
"name": "crossTangents",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isPublic": true
},
"sources": [
{
"fileName": "src/corner.ts",
"line": 5,
"character": 32
}
],
"type": {
"type": "intrinsic",
"name": "number"
}
},
{
"id": 1679,
"name": "isDull",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isPublic": true
},
"sources": [
{
"fileName": "src/corner.ts",
"line": 7,
"character": 25
}
],
"type": {
"type": "intrinsic",
"name": "boolean"
}
},
{
"id": 1681,
"name": "isQuiteDull",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isPublic": true
},
"sources": [
{
"fileName": "src/corner.ts",
"line": 9,
"character": 30
}
],
"type": {
"type": "intrinsic",
"name": "boolean"
}
},
{
"id": 1680,
"name": "isQuiteSharp",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isPublic": true
},
"sources": [
{
"fileName": "src/corner.ts",
"line": 8,
"character": 31
}
],
"type": {
"type": "intrinsic",
"name": "boolean"
}
},
{
"id": 1678,
"name": "isSharp",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isPublic": true
},
"sources": [
{
"fileName": "src/corner.ts",
"line": 6,
"character": 26
}
],
"type": {
"type": "intrinsic",
"name": "boolean"
}
},
{
"id": 1676,
"name": "tans",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isPublic": true
},
"sources": [
{
"fileName": "src/corner.ts",
"line": 4,
"character": 23
}
],
"type": {
"type": "array",
"elementType": {
"type": "array",
"elementType": {
"type": "intrinsic",
"name": "number"
}
}
}
}
],
"groups": [
{
"title": "Constructors",
"kind": 512,
"children": [
1675
]
},
{
"title": "Properties",
"kind": 1024,
"children": [
1677,
1679,
1681,
1680,
1678,
1676
]
}
],
"sources": [
{
"fileName": "src/corner.ts",
"line": 2,
"character": 12
}
]
}
],
"groups": [
{
"title": "Classes",
"kind": 128,
"children": [
1674
]
}
],
"sources": [
{
"fileName": "src/corner.ts",
"line": 1,
"character": 0
}
]
},
{
"id": 797,
"name": "\"src/cp-node\"",
"kind": 1,
"kindString": "External module",
"flags": {
"isExported": true
},
"originalName": "C:/Projects/mat/src/cp-node.ts",
"children": [
{
"id": 798,
"name": "CpNode",
"kind": 128,
"kindString": "Class",
"flags": {
"isExported": true
},
"comment": {
"shortText": "Representation of a ContactPoint node having special edges, two of which\n(prev and next) enforce a cycle ordering on the CpNodes (due to the shape\nbeing a loop). The other two (prevOnCircle and nextOnCircle) allows one to\ngo clockwise (and anti-clockwise resp.) around the maximal disks implied by\nthe CpNode. This is equivalent to following other branches.",
"text": "Any single CpNode object represents the entire MAT, and at the same time, the\nshape boundary (recall that the MAT and the shape boundary can, by\ndefinition, be recovered from each other). This is because each\nCpNode can be seen as a node of the MAT tree that can be traversed.\n\nIt is worth mentioning that by traversing from the CpNode by following its\n.next property repetetitevly until one is back at the same CpNode allows one\nto 'go around' the shape and at the same time traverse the MAT twice.\n",
"tags": [
{
"tag": "doc",
"text": "CpNode\n"
}
]
},
"children": [
{
"id": 799,
"name": "constructor",
"kind": 512,
"kindString": "Constructor",
"flags": {
"isExported": true
},
"comment": {},
"signatures": [
{
"id": 808,
"name": "new CpNode",
"kind": 16384,
"kindString": "Constructor signature",
"flags": {},
"comment": {},
"parameters": [
{
"id": 809,
"name": "cp",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {
"shortText": "The actual item stored at a node"
},
"type": {
"type": "reference",
"name": "ContactPoint",
"id": 161
}
},
{
"id": 810,
"name": "isHoleClosing",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {
"shortText": "\n"
},
"type": {
"type": "intrinsic",
"name": "boolean"
}
},
{
"id": 811,
"name": "isIntersection",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"type": {
"type": "intrinsic",
"name": "boolean"
}
},
{
"id": 812,
"name": "prev",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {
"shortText": "The next contact point on the inscribed circle"
},
"type": {
"type": "reference",
"name": "CpNode",
"id": 798
},
"defaultValue": " undefined"
},
{
"id": 813,
"name": "next",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {
"shortText": "The next contact point on the boundary"
},
"type": {
"type": "reference",
"name": "CpNode",
"id": 798
},
"defaultValue": " undefined"
},
{
"id": 814,
"name": "prevOnCircle",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {
"shortText": "The previous contact point on the inscribed circle"
},
"type": {
"type": "reference",
"name": "CpNode",
"id": 798
},
"defaultValue": " undefined"
},
{
"id": 815,
"name": "nextOnCircle",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"type": {
"type": "reference",
"name": "CpNode",
"id": 798
},
"defaultValue": " undefined"
},
{
"id": 816,
"name": "matCurve",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"comment": {
"shortText": "The actual medial axis curve from this ContactPoint's\ncircle to the next ContactPoint's circle. It is a bezier curve of order\n1 to 3."
},
"type": {
"type": "array",
"elementType": {
"type": "array",
"elementType": {
"type": "intrinsic",
"name": "number"
}
}
},
"defaultValue": " undefined"
}
],
"type": {
"type": "reference",
"name": "CpNode",
"id": 798
}
}
],
"sources": [
{
"fileName": "src/cp-node.ts",
"line": 41,
"character": 39
}
]
},
{
"id": 800,
"name": "cp",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isExported": true,
"isPublic": true
},
"comment": {
"shortText": "The actual item stored at a node"
},
"sources": [
{
"fileName": "src/cp-node.ts",
"line": 55,
"character": 21
}
],
"type": {
"type": "reference",
"name": "ContactPoint",
"id": 161
}
},
{
"id": 801,
"name": "isHoleClosing",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isExported": true,
"isPublic": true
},
"comment": {
"shortText": "\n"
},
"sources": [
{
"fileName": "src/cp-node.ts",
"line": 56,
"character": 23
}
],
"type": {
"type": "intrinsic",
"name": "boolean"
}
},
{
"id": 802,
"name": "isIntersection",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isExported": true,
"isPublic": true
},
"sources": [
{
"fileName": "src/cp-node.ts",
"line": 57,
"character": 24
}
],
"type": {
"type": "intrinsic",
"name": "boolean"
}
},
{
"id": 807,
"name": "matCurve",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isExported": true,
"isPublic": true
},
"comment": {
"shortText": "The actual medial axis curve from this ContactPoint's\ncircle to the next ContactPoint's circle. It is a bezier curve of order\n1 to 3."
},
"sources": [
{
"fileName": "src/cp-node.ts",
"line": 62,
"character": 18
}
],
"type": {
"type": "array",
"elementType": {
"type": "array",
"elementType": {
"type": "intrinsic",
"name": "number"
}
}
}
},
{
"id": 804,
"name": "next",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isExported": true,
"isPublic": true
},
"comment": {
"shortText": "The next contact point on the boundary"
},
"sources": [
{
"fileName": "src/cp-node.ts",
"line": 59,
"character": 14
}
],
"type": {
"type": "reference",
"name": "CpNode",
"id": 798
}
},
{
"id": 806,
"name": "nextOnCircle",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isExported": true,
"isPublic": true
},
"sources": [
{
"fileName": "src/cp-node.ts",
"line": 61,
"character": 22
}
],
"type": {
"type": "reference",
"name": "CpNode",
"id": 798
}
},
{
"id": 803,
"name": "prev",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isExported": true,
"isPublic": true
},
"comment": {
"shortText": "The previous contact point on the boundary"
},
"sources": [
{
"fileName": "src/cp-node.ts",
"line": 58,
"character": 14
}
],
"type": {
"type": "reference",
"name": "CpNode",
"id": 798
}
},
{
"id": 805,
"name": "prevOnCircle",
"kind": 1024,
"kindString": "Property",
"flags": {
"isConstructorProperty": true,
"isExported": true,
"isPublic": true
},
"comment": {
"shortText": "The previous contact point on the inscribed circle"
},
"sources": [
{
"fileName": "src/cp-node.ts",
"line": 60,
"character": 22
}
],
"type": {
"type": "reference",
"name": "CpNode",
"id": 798
}
},
{
"id": 821,
"name": "clone",
"kind": 2048,
"kindString": "Method",
"flags": {
"isExported": true,
"isPublic": true
},
"signatures": [
{
"id": 822,
"name": "clone",
"kind": 4096,
"kindString": "Call signature",
"flags": {},
"type": {
"type": "reference",
"name": "CpNode",
"id": 798
}
}
],
"sources": [
{
"fileName": "src/cp-node.ts",
"line": 70,
"character": 13
}
]
},
{
"id": 834,
"name": "getCpNodesOnCircle",
"kind": 2048,
"kindString": "Method",
"flags": {
"isExported": true,
"isPublic": true
},
"signatures": [
{
"id": 835,
"name": "getCpNodesOnCircle",
"kind": 4096,
"kindString": "Call signature",
"flags": {},
"comment": {
"shortText": "Return this and the the other CpNodes around the vertex circle in order.",
"tags": [
{
"tag": "doc",
"text": "CpNode\n"
}
]
},
"parameters": [
{
"id": 836,
"name": "exclThis",
"kind": 32768,
"kindString": "Parameter",
"flags": {},
"type": {
"type": "intrinsic",
"name": "boolean"
},
"defaultValue": "false"
}
],
"type": {
"type": "array",
"elementType": {
"type": "reference",
"name": "CpNode",
"id": 798
}
}
}
],
"sources": [
{
"fileName": "src/cp-node.ts",
"line": 165,
"character": 26
}
]
},
{
"id": 847,
"name": "getProngCount",
"kind": 2048,
"kindString": "Method",
"flags": {
"isExported": true,
"isPublic": true
},
"signatures": [
{
"id": 848,
"name": "getProngCount",
"kind": 4096,
"kindString": "Call signature",
"flags": {},
"comment": {
"shortText": "Returns the number of prongs on the circle of this CpNode. One-prongs and\nsharp corners will return 2; if this is not desired use\ngetRealProngCount."
},
"type": {
"type": "intrinsic",
"name": "number"
}
}
],
"sources": [
{
"fileName": "src/cp-node.ts",
"line": 224,
"character": 21
}
]
},
{
"id": 849,
"name": "getRealProngCount",
"kind": 2048,
"kindString": "Method",
"flags": {
"isExported": true,
"isPublic": true
},
"signatures": [
{
"id": 850,
"name": "getRealProngCount",
"kind": 4096,
"kindString": "Call signature",
"flags": {},
"type": {
"type": "intrinsic",
"name": "number"
}
}
],
"sources": [
{
"fileName": "src/cp-node.ts",
"line": 239,
"character": 25
}
]
},
{
"id": 845,
"name": "isOneProng",
"kind": 2048,
"kindString": "Method",
"flags": {
"isExported": true,
"isPublic": true
},
"signatures": [
{
"id": 846,
"name": "isOneProng",
"kind": 4096,
"kindString": "Call signature",
"flags": {},
"comment": {
"shortText": "Returns true if this ListNode is a one-prong (including\nsharp corners)."
},
"type": {
"type": "intrinsic",
"name": "boolean"
}
}
],
"sources": [
{
"fileName": "src/cp-node.ts",
"line": 203,
"character": 18
}
]
},
{
"id": 843,
"name": "isSharp",
"kind": 2048,
"kindString": "Method",
"flags": {
"isExported": true,
"isPublic": true
},
"signatures": [
{
"id": 844,
"name": "isSharp",
"kind": 4096,
"kindString": "Call signature",
"flags": {},
"type": {
"type": "intrinsic",
"name": "boolean"
}
}
],
"sources": [
{
"fileName": "src/cp-node.ts",
"line": 194,
"character": 15
}
]
},
{
"id": 841,
"name": "isTerminating",
"kind": 2048,
"kindString": "Method",
"flags": {
"isExported": true,
"isPublic": true
},
"signatures": [
{
"id": 842,
"name": "isTerminating",
"kind": 4096,
"kindString": "Call signature",
"flags": {},