js-2dmath
Version:
Fast 2d geometry math: Vector2, Rectangle, Circle, Matrix2x3 (2D transformation), Circle, BoundingBox, Line2, Segment2, Intersections, Distances, Transitions (animation/tween), Random numbers, Noise
414 lines (379 loc) • 11.2 kB
JSON
{
"docs": {
"arguments": {
"m2d": "Matrix23",
"circle": "Circle",
"a_circle": "Circle",
"b_circle": "Circle",
"a_poly": "Polygon",
"b_poly": "Polygon",
"line2": "Line2",
"vec2": "Vec2",
"out_vec2": "Vec2",
"v1": "Vec2",
"v2": "Vec2",
"v3": "Vec2",
"vec2_list": "Array(<Vec2>)",
"seg2": "Segment2",
"rect": "Rectangle",
"tri": "Triangle",
"out_tri": "Triangle",
"curve": "Beizer",
"beizer": "Beizer",
"aabb2": "AABB2",
"mass": "Number",
"x1": "Number",
"x2": "Number",
"y1": "Number",
"y2": "Number",
"x3": "Number",
"y3": "Number",
"x4": "Number",
"y4": "Number"
}
},
"components": {
"Vec2": {
"filename": "./lib/vec2.js",
"debug_file": "./debug/vec2.js",
"doc_file": "./docs/vec2.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"v2_n": "Vec2",
"x": "Number",
"y": "Number",
"length": "Number",
"degrees": "Number (Degrees)",
"radians": "Number (Radians)",
"dist": "Number",
"t": "Number",
"d": "Number",
"angle": "Number",
"center": "Vec2",
"factor": "Number",
"px": "Number",
"py": "Number",
"qx": "Number",
"qy": "Number",
"rx": "Number",
"ry": "Number"
}
},
"Line2": {
"filename": "./lib/line2.js",
"debug_file": "./debug/line2.js",
"doc_file": "./docs/line2.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"out": "Line2",
"l2": "Line2",
"offset": "Number",
"x": "Number",
"y": "Number",
"m": "Number",
"seg2": "Segment2"
}
},
"Segment2": {
"filename": "./lib/segment2.js",
"debug_file": "./debug/segment2.js",
"doc_file": "./docs/segment2.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"out": "Segment2",
"seg2_2": "Segment2",
"cached_seg2_min_angle": "Number"
}
},
"Rectangle": {
"filename": "./lib/rectangle.js",
"debug_file": "./debug/rectangle.js",
"doc_file": "./docs/rectangle.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"out": "Rectangle",
"rect": "Rectangle",
"rect2": "Rectangle",
"force": "Boolean",
"bb2": "AABB2"
}
},
"AABB2": {
"filename": "./lib/aabb2.js",
"debug_file": "./debug/aabb2.js",
"doc_file": "./docs/aabb2.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"out": "AABB2",
"aabb2_1": "AABB2",
"aabb2_2": "AABB2",
"l": "Number",
"b": "Number",
"r": "Number",
"t": "Number",
"vec2_offset": "Vec2",
"vec2_scale": "Vec2",
"alignment": "Number",
"npoints": "Number",
"margin": "Number"
}
},
"Circle": {
"filename": "./lib/circle.js",
"debug_file": "./debug/circle.js",
"doc_file": "./docs/circle.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"out": "Circle",
"circle_2": "Circle",
"x": "Number",
"y": "Number",
"radius": "Number",
"inside": "Boolean",
"circumcenter": "Boolean"
}
},
"Matrix22": {
"filename": "./lib/matrix22.js",
"debug_file": "./debug/matrix22.js",
"doc_file": "./docs/matrix22.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"out": "Matrix22",
"mat22": "Matrix22",
"m11": "Number",
"m12": "Number",
"m21": "Number",
"m22": "Number"
}
},
"Matrix23": {
"filename": "./lib/matrix23.js",
"debug_file": "./debug/matrix23.js",
"doc_file": "./docs/matrix23.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"out": "Matrix23",
"m2d_2": "Matrix23",
"vec2_degrees": "Vec2 (Degrees)",
"vec2_radians": "Vec2 (Radians)",
"degrees": "Number (Degrees)",
"radians": "Number (Radians)",
"factor": "Number",
"x": "Number",
"y": "Number"
}
},
"Polygon": {
"filename": "./lib/polygon.js",
"debug_file": "./debug/polygon.js",
"doc_file": "./docs/polygon.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"out": "Polygon",
"poly": "Polygon",
"poly2": "Polygon",
"vec2_dir": "Vec2",
"simplex": "Polygon",
"poly_a": "Polygon",
"poly_b": "Polygon",
"edges": "Polygon",
"normals": "Polygon",
"npoints": "Number",
"start_radians": "Number"
}
},
"Beizer": {
"filename": "./lib/beizer.js",
"debug_file": "./debug/beizer.js",
"doc_file": "./docs/beizer.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"out": "Beizer",
"t": "Number",
"step": "Number",
"cp0x": "Number",
"cp0y": "Number",
"cp1x": "Number",
"cp1y": "Number",
"cp2x": "Number",
"cp2y": "Number",
"cp3x": "Number",
"cp3y": "Number"
}
},
"Triangle": {
"filename": "./lib/triangle.js",
"debug_file": "./debug/triangle.js",
"doc_file": "./docs/triangle.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"rect": "Rectangle"
}
},
"Intersection": {
"filename": "./lib/intersection.js",
"debug_file": "./debug/intersection.js",
"doc_file": "./docs/intersection.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"num": "Number",
"num2": "Number",
"collision": "Boolean",
"distance": "Boolean",
"cx": "Number",
"cy": "Number",
"r": "Number",
"line2_1": "Line2",
"line2_2": "Line2",
"seg2_1": "Segment2",
"seg2_2": "Segment2",
"bb2_1": "AABB2",
"bb2_2": "AABB2",
"rect1": "Rectangle",
"rect2": "Rectangle"
}
},
"Distance": {
"filename": "./lib/distance.js",
"debug_file": "./debug/distance.js",
"doc_file": "./docs/distance.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"bb2": "AABB2",
"rect": "Rectangle"
}
},
"Transitions": {
"filename": "./lib/transitions.js",
"debug_file": "./debug/transitions.js",
"doc_file": "./docs/transitions.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"pos": "Number",
"x": "Number",
"name": "String",
"transition": "Function",
"obj": "Object",
"prop": "String",
"values": "Mixed",
"ioptions": "Object",
"params": "Object",
"options": "Object"
}
},
"Xorshift": {
"filename": "./lib/xorshift.js",
"debug_file": "./debug/xorshift.js",
"doc_file": "./docs/xorshift.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"seeds": "[, Number...]"
}
},
"Noise": {
"filename": "./lib/noise.js",
"debug_file": "./debug/noise.js",
"doc_file": "./docs/noise.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"seed": "Number"
}
},
"Collision.SAT": {
"filename": "./lib/collision/sat.js",
"debug_file": "./debug/collision-sat.js",
"doc_file": "./docs/collision-sat.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"out_response" : "Collision.Response",
"a_points": "Polygon",
"b_points": "Polygon",
"poly_points": "Polygon",
"a_normals": "Polygon<Normals>",
"b_normals": "Polygon<Normals>",
"poly_edges": "Polygon<Edges>",
"a_edges": "Polygon<Edges>",
"b_edges": "Polygon<Edges>",
"poly_pos": "Vec2",
"a_pos": "Vec2",
"b_pos": "Vec2"
}
},
"Collision.GJK": {
"filename": "./lib/collision/gjk.js",
"debug_file": "./debug/collision-gjk.js",
"doc_file": "./docs/collision-gjk.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"a_points": "Polygon",
"b_points": "Polygon"
}
},
"Collision.Resolve": {
"filename": "./lib/collision/resolve.js",
"debug_file": "./debug/collision-resolve.js",
"doc_file": "./docs/collision-resolve.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"a_point": "Vec2",
"b_point": "Vec2",
"out_position": "Vec2",
"out_velocity": "Vec2",
"out_a_velocity": "Vec2",
"out_b_velocity": "Vec2",
"normal": "Vec2",
"mtv": "Vec2",
"vector": "Vec2",
"penetration_depth": "Number",
"a_restitution": "Number",
"b_restitution": "Number",
"a_imass": "Number",
"b_imass": "Number",
"a_mass": "Number",
"b_mass": "Number"
}
},
"Collision.Manifold": {
"filename": "./lib/collision/manifold.js",
"debug_file": "./debug/collision-manifold.js",
"doc_file": "./docs/collision-manifold.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"a_points": "Polygon",
"b_points": "Polygon",
"n": "Vec2"
}
},
"Collision.Response": {
"filename": "./lib/collision/response.js",
"debug_file": "./debug/collision-response.js",
"doc_file": "./docs/collision-response.markdown",
"update_doc": true,
"generate_debug": true,
"valid_arguments": {
"response": "Collision.Response"
}
}
}
}