flatten-js
Version:
Javascript library for 2d geometry
1 lines • 362 kB
Source Map (JSON)
{"version":3,"sources":["webpack://flatten/webpack/bootstrap","webpack://flatten/./algorithms/distance.js","webpack://flatten/./algorithms/ray_shooting.js","webpack://flatten/./classes/arc.js","webpack://flatten/./classes/box.js","webpack://flatten/./classes/circle.js","webpack://flatten/./classes/edge.js","webpack://flatten/./classes/face.js","webpack://flatten/./classes/line.js","webpack://flatten/./classes/matrix.js","webpack://flatten/./classes/point.js","webpack://flatten/./classes/polygon.js","webpack://flatten/./classes/ray.js","webpack://flatten/./classes/segment.js","webpack://flatten/./classes/vector.js","webpack://flatten/./data_structures/planar_set.js","webpack://flatten/./index.js","webpack://flatten/./node_modules/flatten-interval-tree/classes/interval.js","webpack://flatten/./node_modules/flatten-interval-tree/classes/node.js","webpack://flatten/./node_modules/flatten-interval-tree/index.js","webpack://flatten/./node_modules/flatten-interval-tree/utils/constants.js","webpack://flatten/./utils/errors.js","webpack://flatten/./utils/utils.js"],"names":["IntervalTree","require","module","exports","Flatten","Polygon","Point","Segment","Arc","Circle","Line","Ray","Vector","vector","Distance","pt1","pt2","distanceTo","pt","line","closest_point","projectionOn","vec","length","circle","center","dist2center","shortest_dist","Utils","EQ_0","r","toArc","start","dist","Math","abs","v","pc","normalize","multiply","translate","segment","equalTo","end","point2point","v_seg","v_ps2pt","v_pe2pt","start_sp","dot","end_sp","GE","v_unit","tangentInStart","cross","arc","dist_and_segment","shortest_segment","point2circle","on","push","sort","seg","ip","intersect","point2line","seg1","seg2","intersectSegment2Segment","point2segment","ps","pe","dist_from_start","shortest_segment_from_start","dist_from_end","shortest_segment_from_end","LT","dist_from_center","shortest_segment_from_center","dist_from_projection","shortest_segment_from_projection","point2arc","dist_tmp","segment_tmp","reverse","circle1","circle2","arc1","arc2","ip1","ip2","circle2circle","point","polygon","min_dist_and_segment","Number","POSITIVE_INFINITY","edges","edge","shape","polygon1","polygon2","edge1","edge2","box1","box2","mindist_x","max","xmin","xmax","mindist_y","ymin","ymax","mindist","box","merge","dx","dy","maxdist","level","min_stop","tree","node","box2box_minmax","item","key","value","Edge","insert","new_level_left","map","left","isNil","undefined","filter","new_level_right","right","new_level","LE","minmax_tree_process_level","set","index","root","squared_min_stop","min_dist_and_segment_new","stop","minmax_tree_calc_distance","sqrt","low","distance","PlanarSet","minmax_tree","d1","d2","GT","shape1","shape2","ray_shoot","contains","not_intersect","OUTSIDE","ray","norm","resp_edges","search","intersections","BOUNDARY","i1","i2","x","counter","i","intersection","prev","prev_edge","prev_tangent","tangentInEnd","prev_point","cur_tangent","cur_point","prev_on_the_left","leftTo","cur_on_the_left","next","next_edge","next_tangent","next_point","next_on_the_left","EQ","y","INSIDE","startAngle","endAngle","PI","counterClockwise","CCW","args","Object","name","clone","Errors","ILLEGAL_PARAMETERS","angle","slope","test_arc","sweep","cos","intersectArc2Circle","intersectArc2Arc","intersectShape2Polygon","arc2circle","arc2line","segment2arc","arc2arc","shape2polygon","shape2planarSet","func_arcs_array","angles","pts","test_arcs","prev_arc","new_arc","tangent","rotate","m","Matrix","transform","matrix","newStart","newEnd","newCenter","arcSE","f_arcs","breakToFunctional","area","reduce","acc","circularSegmentDefiniteIntegral","onLeftSide","areaTrapez","definiteIntegral","areaCircularSegment","circularSegmentArea","sin","attrs","largeArcFlag","sweepFlag","stroke","strokeWidth","fill","id","className","id_str","class_str","svg","assign","PIx2","p0","func_arcs","Box","ip_tmp","other_box","min","lessThan","high","width","height","counterclockwise","intersectCirle2Circle","circle2line","segment2circle","fillOpacity","r1","r2","a","mid_pt","h","rotate90CCW","rotate90CW","face","arc_length","bvStart","bvEnd","bv","overlap","middle","bvMiddle","flag","OVERLAP_SAME","OVERLAP_OPPOSITE","sign","halfArc1","halfArc2","toJSON","Face","first","last","_box","_orientation","Array","shapes","every","segments","points2segments","shapes2face","flattenShapes","flattenShape","add","setArcLength","Symbol","iterator","done","append","newEdge","edgeBefore","edgeAfter","delete","edge_tmp","orientation","signedArea","sArea","ORIENTATION","NOT_ORIENTABLE","CW","getSelfIntersections","svgStr","face_edges","points","exitOnFirst","int_points","resp","a1","a2","points2norm","other_line","parallelTo","intersectLine2Line","intersectLine2Circle","intersectLine2Arc","intersectLine2Polygon","segment2line","intersectLine2Box","find","A","B","C","unit","line1","line2","standard","A1","B1","C1","A2","B2","C2","det","detX","detY","new_ip","prj","delta","v_trans","segs","ips","ips_tmp","b","c","d","tx","ty","other_matrix","sx","sy","arr","x_rot","y_rot","proj_vec","onLeftSemiPlane","point2polygon","faces","size","deleted","edgeFrom","edgeTo","deleteFace","remove","isEmpty","split","addFace","rel","intersectPolygon2Polygon","valid","isSimple","newPolygon","fillRule","intersectRay2Segment","intersectRay2Arc","coords","distanceToPoint","intersectSegment2Line","intersectSegment2Circle","intersectSegment2Arc","segment2segment","rest","dy1","dy2","isZeroLength","incidentTo","scalar","ZERO_DIVISION","rpoint","norm1","norm2","atan2","n","svgcontent","Set","DP_TOL","CONTAINS","INTERLACE","f","Interval","other_interval","val1","val2","RB_TREE_COLOR_RED","RB_TREE_COLOR_BLACK","Node","parent","color","isNaN","other_node","less_than","value_equal","equal_to","maximal_val","search_node","val_less_than","nil_node","insert_node","tree_insert","recalc_max","tree_search","delete_node","tree_delete","interval","resp_nodes","tree_search_interval","forEach","output","visitor","tree_walk","callback","node_current","update_max","current_node","parent_node","insert_fixup","uncle_node","rotate_left","rotate_right","cut_node","fix_node","tree_successor","copy_data","delete_fixup","brother_node","res","not_intersect_left_subtree","not_intersect_right_subtree","node_min","node_max","node_successor","local_minimum","action","heightLeft","heightRight","testBlackHeightProperty","Error","count","ReferenceError","DECIMALS"],"mappings":"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