var PathTable_Line_Arr=new Array(); var PathTable_Arc_Arr=new Array(); var PathTable_Bezier_Arr=new Array(); var PathTable_WayPoint_Arr=new Array(); var PathTable_OriginTurn_Arr=new Array(); var NodePointManagerTable_PathNode_Arr=new Array(); var StationFloorIndexTable_Arr=new Array(); var Node_Map=new Map(); var NodePointManagerTable_Arr=new Array(); var NodePoint_Map=new Map(); ////////////////////////////////////////////////////////////// function Lu_Parse_PathTable(str){ var str_line_arr=str.split(/[(\r\n)\r\n]+/); for (let i = 0; i < str_line_arr.length; i++) { var str_line=str_line_arr[i]; Lu_Parse_PathTableLine(str_line); } } function Lu_Parse_PathTableLine(str){ var PathInfo_str0=""; var PathInfo_StringParam1=""; var PathInfo_StringParam2=""; var PathInfo_StringParam3=""; var PathInfo_StringParam4=""; var item_arr0=str.split('<'); if(item_arr0.length<1)return; PathInfo_str0=item_arr0[0]; if(item_arr0.length<2)return; var tmp_str1=item_arr0[1]; var tmp_str2=tmp_str1.split('>'); PathInfo_StringParam1=tmp_str2[0]; if(item_arr0.length<3)return; tmp_str1=item_arr0[2]; tmp_str2=tmp_str1.split('>'); PathInfo_StringParam2=tmp_str2[0]; if(item_arr0.length<4)return; tmp_str1=item_arr0[3]; tmp_str2=tmp_str1.split('>'); PathInfo_StringParam3=tmp_str2[0]; if(item_arr0.length<5)return; tmp_str1=item_arr0[4]; tmp_str2=tmp_str1.split('>'); PathInfo_StringParam4=tmp_str2[0]; //console.log("PathInfo_str0:"+PathInfo_str0+"\n"); //console.log("PathInfo_StringParam1:"+PathInfo_StringParam1+"\n"); //console.log("PathInfo_StringParam2:"+PathInfo_StringParam2+"\n"); //console.log("PathInfo_StringParam3:"+PathInfo_StringParam3+"\n"); //console.log("PathInfo_StringParam4:"+PathInfo_StringParam4+"\n"); //var obj = new Object(); //obj.x=Math.floor(x); //obj.y=Math.floor(y); var PathInfo0=Lu_Parse_PathInfo_str0(PathInfo_str0); switch(PathInfo0.PathType){ case "Line":{ //console.log(PathInfo0.PathType); var PathTable_Line=Lu_Parse_Line_PathInfo_StringParam1(PathInfo_StringParam1); PathTable_Line_Arr.push(PathTable_Line); }break; case "Arc":{ //console.log(PathInfo0.PathType); var PathTable_StringParam1_Arc=Lu_Parse_Arc_PathInfo_StringParam1(PathInfo_StringParam1); var PathTable_Arc=Lu_Trans_Arc_PathInfo1_To_Paper_Arc(PathTable_StringParam1_Arc); PathTable_Arc_Arr.push(PathTable_Arc); }break; case "Bezier":{ var PathTable_StringParam1_Bezier=Lu_Parse_Bezier_PathInfo_StringParam1(PathInfo_StringParam1); var PathTable_Bezier=Lu_Trans_Bezier_PathInfo1_To_Paper_Line(PathTable_StringParam1_Bezier); PathTable_Bezier_Arr.push(PathTable_Bezier); //console.log(PathTable_Bezier); }break; case "WayPoint":{ var PathTable_StringParam1_WayPoint=Lu_Parse_WayPoint_PathInfo_StringParam1(PathInfo_StringParam1); var PathTable_WayPoint=Lu_Trans_WayPoint_PathInfo1_To_Paper_Line(PathTable_StringParam1_WayPoint); PathTable_WayPoint_Arr.push(PathTable_WayPoint); }break; case "OriginTurn":{ var PathTable_StringParam1_OriginTurn=Lu_Parse_OriginTurn_PathInfo_StringParam1(PathInfo_StringParam1); //console.log(PathTable_StringParam1_OriginTurn); var PathTable_OriginTurn=Lu_Trans_OriginTurn_PathInfo1_To_Paper_OriginTurn(PathTable_StringParam1_OriginTurn); PathTable_OriginTurn_Arr.push(PathTable_OriginTurn); //console.log(PathTable_OriginTurn); }break; default: break; } } function Lu_Parse_PathInfo_str0(str){ var PathID=0; var LayerID=0; var RunDirection=""; var StartNode=0; var EndNode=0; var PropNode=0; var ModeType=""; var Select=0; var PathType=""; var item_arr=str.split(' '); if(item_arr.length<1)return; PathID=item_arr[0]; if(item_arr.length<2)return; LayerID=item_arr[1]; if(item_arr.length<3)return; RunDirection=item_arr[2]; if(item_arr.length<4)return; StartNode=item_arr[3]; if(item_arr.length<5)return; EndNode=item_arr[4]; if(item_arr.length<6)return; PropNode=item_arr[5]; if(item_arr.length<7)return; ModeType=item_arr[6]; if(item_arr.length<8)return; Select=item_arr[7]; if(item_arr.length<9)return; PathType=item_arr[8]; var PathInfo0 = new Object(); PathInfo0.PathID=PathID; PathInfo0.LayerID=LayerID; PathInfo0.StartNode=StartNode; PathInfo0.EndNode=EndNode; PathInfo0.PropNode=PropNode; PathInfo0.ModeType=ModeType; PathInfo0.Select=Select; PathInfo0.PathType=PathType; return PathInfo0; } function Lu_Parse_Line_PathInfo_StringParam1(str){ var start_point=new Point(0.0,0.0); var end_point=new Point(0.0,0.0); var thetax=0.0; var item_arr=str.split(' '); if(item_arr.length<1)return; start_point.x=parseFloat(item_arr[0]); if(item_arr.length<2)return; start_point.y=parseFloat(item_arr[1]); if(item_arr.length<3)return; end_point.x=parseFloat(item_arr[2]); if(item_arr.length<4)return; end_point.y=parseFloat(item_arr[3]); if(item_arr.length<5)return; thetax=parseFloat(item_arr[4]); var Line_PathInfo1=new Object(); Line_PathInfo1.start_point=start_point; Line_PathInfo1.end_point=end_point; Line_PathInfo1.thetax=thetax; return Line_PathInfo1; } function Lu_Parse_Arc_PathInfo_StringParam1(str){ var arcpathclockwisedir=0; var centerpoint=new Point(0.0,0.0); var radius=0.0; var startangle=0.0; var endangle=0.0; var item_arr=str.split(' '); if(item_arr.length<1)return; arcpathclockwisedir=item_arr[0]; if(item_arr.length<2)return; centerpoint.x=parseFloat(item_arr[1]); if(item_arr.length<3)return; centerpoint.y=parseFloat(item_arr[2]); if(item_arr.length<4)return; radius=parseFloat(item_arr[3]); if(item_arr.length<5)return; startangle=parseFloat(item_arr[4]); if(item_arr.length<6)return; endangle=parseFloat(item_arr[5]); var Arc_PathInfo1=new Object(); Arc_PathInfo1.arcpathclockwisedir=arcpathclockwisedir; Arc_PathInfo1.centerpoint=centerpoint; Arc_PathInfo1.radius=radius; Arc_PathInfo1.startangle=startangle; Arc_PathInfo1.endangle=endangle; return Arc_PathInfo1; } function Lu_Parse_WayPoint_PathInfo_StringParam1(str){ var WayPoint_List_str=""; var WayPointBezierList_Vector_str=""; var WayPointBezierPointList_Vector_str=""; var item_arr=str.split('|'); if(item_arr.l<3)return; WayPoint_List_str=item_arr[0]; WayPointBezierList_Vector_str=item_arr[1]; WayPointBezierPointList_Vector_str=item_arr[2]; var WPL_Str=WayPoint_List_str.split('@'); if(WPL_Str.length<2)return; var WayPoint_List_Num=WPL_Str[0]; var WPL_Data_Str=WPL_Str[1]; WPL_Data_Str=WPL_Data_Str.split(']')[0]; var WPL_Sub_Data_Str = WPL_Data_Str.split('#'); if(WPL_Sub_Data_Str.length'); NodeInfo_StringParam1=tmp_str2[0]; if(item_arr0.length<3)return; tmp_str1=item_arr0[2]; tmp_str2=tmp_str1.split('>'); NodeInfo_StringParam2=tmp_str2[0]; //console.log("NodeInfo_str0:"+NodeInfo_str0+"\n"); //console.log("NodeInfo_StringParam1:"+NodeInfo_StringParam1+"\n"); //console.log("NodeInfo_StringParam2:"+NodeInfo_StringParam2+"\n"); var NodeInfo0=Lu_Parse_NodeInfo_str0(NodeInfo_str0); NodePointManagerTable_PathNode_Arr.push(NodeInfo0); //console.log(NodeInfo0); } function Lu_Parse_NodeInfo_str0(str){ var NodeKeyID=0; var NodeID=0; var Selected=0; var Node_x=0.0; var Node_y=0.0; var Node_thetax=0.0; var Node_z=0.0; var NodeParallelLift=0.0; var NodeFrontLift=0.0; var NodePrePathNode=0; var NodeType=""; var item_arr=str.split(' '); if(item_arr.length<1)return; NodeKeyID=item_arr[0]; if(item_arr.length<2)return; NodeID=item_arr[1]; if(item_arr.length<3)return; Selected=item_arr[2]; if(item_arr.length<4)return; Node_x=parseFloat(item_arr[3]); if(item_arr.length<5)return; Node_y=parseFloat(item_arr[4]); if(item_arr.length<6)return; Node_thetax=parseFloat(item_arr[5]); if(item_arr.length<7)return; Node_z=parseFloat(item_arr[6]); if(item_arr.length<8)return; NodeParallelLift=parseFloat(item_arr[7]); if(item_arr.length<9)return; NodeFrontLift=parseFloat(item_arr[8]); if(item_arr.length<10)return; NodePrePathNode=item_arr[9]; if(item_arr.length<11)return; NodeType=item_arr[10]; var NodeInfo0 = new Object(); NodeInfo0.NodeKeyID=NodeKeyID; NodeInfo0.NodeID=NodeID; NodeInfo0.Selected=Selected; NodeInfo0.Node_x=Node_x; NodeInfo0.Node_y=Node_y; NodeInfo0.Node_thetax=Node_thetax; NodeInfo0.Node_z=Node_z; NodeInfo0.NodeParallelLift=NodeParallelLift; NodeInfo0.NodeFrontLift=NodeFrontLift; NodeInfo0.NodePrePathNode=NodePrePathNode; NodeInfo0.NodeType=NodeType; return NodeInfo0; }*/ function Lu_Parse_NodePointManagerTableLine(str){ var NodeKeyID_str0=""; var NodeID_str1=""; var Select_str2=""; var Node_x_str3=""; var Node_y_str4=""; var Node_thetax_str5=""; var Node_z_str6=""; var NodeParallelLift_str7=""; var NodeFrontLift_str8=""; var PrePathNode_str9=""; var NodeType_str10=""; var NPMStringParam1_str11=""; var NPMStringParam2_str12=""; var item_arr0=str.split(' '); if(item_arr0.length<1)return; NodeKeyID_str0=item_arr0[0]; var NodeKeyID=parseInt(NodeKeyID_str0,10); if(item_arr0.length<2)return; NodeID_str1=item_arr0[1]; var NodeID=parseInt(NodeID_str1,10); if(item_arr0.length<3)return; Select_str2=item_arr0[2]; var Select=parseInt(Select_str2,10); if(item_arr0.length<4)return; Node_x_str3=item_arr0[3]; var Node_x=parseFloat(Node_x_str3); if(item_arr0.length<5)return; Node_y_str4=item_arr0[4]; var Node_y=parseFloat(Node_y_str4); if(item_arr0.length<6)return; Node_thetax_str5=item_arr0[5]; var Node_thetax=parseFloat(Node_thetax_str5); if(item_arr0.length<7)return; Node_z_str6=item_arr0[6]; var Node_z=parseFloat(Node_z_str6); if(item_arr0.length<8)return; NodeParallelLift_str7=item_arr0[7]; var NodeParallelLift=parseFloat(NodeParallelLift_str7); if(item_arr0.length<9)return; NodeFrontLift_str8=item_arr0[8]; var NodeFrontLift=parseFloat(NodeFrontLift_str8); if(item_arr0.length<10)return; PrePathNode_str9=item_arr0[9]; var PrePathNode=parseInt(PrePathNode_str9,10); if(item_arr0.length<11)return; NodeType_str10=item_arr0[10]; var NodeType=NodeType_str10; var item_arr1=str.split('<'); if(item_arr1.length<2)return; var tmp_str1=item_arr1[1]; var tmp_str2=tmp_str1.split('>'); NPMStringParam1_str11=tmp_str2[0]; var NPMStringParam1=NPMStringParam1_str11; if(item_arr1.length<3)return; tmp_str1=item_arr1[2]; tmp_str2=tmp_str1.split('>'); NPMStringParam2_str12=tmp_str2[0]; var NPMStringParam2=NPMStringParam2_str12; var NodePointInfo=new Object(); NodePointInfo.NodeKeyID=NodeKeyID; NodePointInfo.NodeID=NodeID; NodePointInfo.NodeName=""; NodePointInfo.Select=Select; NodePointInfo.Node_x=Node_x; NodePointInfo.Node_y=Node_y; NodePointInfo.Node_thetax=Node_thetax; NodePointInfo.Node_z=Node_z; NodePointInfo.NodeParallelLift=NodeParallelLift; NodePointInfo.NodeFrontLift=NodeFrontLift; NodePointInfo.PrePathNode=PrePathNode; NodePointInfo.NodeType=NodeType; NodePointInfo.NPMStringParam1=NPMStringParam1; NodePointInfo.NPMStringParam2=NPMStringParam2; NodePointManagerTable_PathNode_Arr.push(NodePointInfo); if(NodePoint_Map.has(NodePointInfo)==false){ NodePoint_Map.set(NodeID,NodePointInfo); } } ///////////////////////////////////////////////////// function Lu_Parse_StationFloorIndexTable(str){ var str_line_arr=str.split("\n"); //console.log("LEN:"+str_line_arr.length); for (let i = 0; i < str_line_arr.length; i++) { var str_line=str_line_arr[i]; //console.log(str_line); if(str_line!="")Lu_Parse_StationFloorIndexTableLine(str_line); } //console.log("AAA"); //console.log(Node_Map); } function Lu_Parse_StationFloorIndexTableLine(str){ //console.log(str); var FloorID_str0=""; var FloorIndex_str1=""; var StationID_str2=""; var NodeID_str3=""; var NodeName_str4=""; var NodePos_str5=""; var FloorStringParam1_str6=""; var item_arr0=str.split(' '); if(item_arr0.length<1)return; FloorID_str0=item_arr0[0]; var FloorID=parseInt(FloorID_str0,10); //console.log("FloorID_str0:"+FloorID_str0+"\n"); if(item_arr0.length<2)return; FloorIndex_str1=item_arr0[1]; var FloorIndex=parseInt(FloorIndex_str1,10); //console.log("FloorIndex_str1:"+FloorIndex_str1+"\n"); if(item_arr0.length<3)return; StationID_str2=item_arr0[2]; var StationID=parseInt(StationID_str2,10); //console.log("StationID_str2:"+StationID_str2+"\n"); if(item_arr0.length<4)return; NodeID_str3=item_arr0[3]; var NodeID=parseInt(NodeID_str3,10); //console.log("NodeID_str3:"+NodeID_str3+"\n"); if(item_arr0.length<5)return; NodeName_str4=item_arr0[4]; //console.log("NodeName_str4:"+NodeName_str4+"\n"); var item_arr1=str.split('<'); if(item_arr1.length<2)return; var tmp_str1=item_arr1[1]; var tmp_str2=tmp_str1.split('>'); NodePos_str5=tmp_str2[0]; //console.log("NodePos_str5:"+NodePos_str5+"\n"); var NodePos=Lu_Parse_NodePos(NodePos_str5); //console.log("NodePos:"+NodePos.x+" "+NodePos.y+"\n"); if(item_arr1.length<3)return; tmp_str1=item_arr1[2]; tmp_str2=tmp_str1.split('>'); FloorStringParam1_str6=tmp_str2[0]; //console.log("FloorStringParam1_str6:"+FloorStringParam1_str6+"\n"); var FloorOperationInfo=Lu_Parse_FloorStringParam1(FloorStringParam1_str6); //console.log(FloorOperationInfo); var FloorInfo=new Object(); FloorInfo.FloorID=FloorID; FloorInfo.FloorIndex=FloorIndex; FloorInfo.StationID=StationID; FloorInfo.NodeID=NodeID; FloorInfo.NodeName_str4=NodeName_str4; FloorInfo.NodePos=NodePos; FloorInfo.FloorOperationInfo=FloorOperationInfo; //console.log(FloorInfo); if(Node_Map.has(NodeID)==false){ var Node_Info=new Object(); Node_Info.NodeName=NodeName_str4; Node_Info.NodePos=NodePos; Node_Map.set(NodeID,Node_Info); } } function Lu_Parse_NodePos(str){ var item_arr=str.split(' '); if(item_arr.length<2)return; var x=parseFloat(item_arr[0]); var y=parseFloat(item_arr[1]); var NodePos=new Object(); NodePos.x=x; NodePos.y=y; return NodePos; } function Lu_Parse_FloorStringParam1(str){ var item_arr0=str.split(':'); if(item_arr0.length<2)return; var str_arr0_s0=item_arr0[0]; var str_arr0_s1=item_arr0[1]; var item_arr1=str_arr0_s0.split('|'); if(item_arr1.length<2)return; var str_arr1_s0=item_arr1[1]; var FloorIndex=parseInt(str_arr1_s0,10); //console.log(str_arr1_s0);//FloorIndex var item_arr2=str_arr0_s1.split('('); if(item_arr2.length<2)return; var str_arr2_s0=item_arr2[1]; var item_arr3=str_arr2_s0.split(')'); if(item_arr3.length<2)return; var str_arr3_s0=item_arr3[0]; var str_arr3_s1=item_arr3[1]; //console.log(str_arr3_s0);//FloorName var item_arr4=str_arr3_s1.split('@'); if(item_arr4.length<2)return; var str_arr4_s0=item_arr4[0]; var str_arr4_s1=item_arr4[1]; //console.log(str_arr4_s0);//OperationCode Num var Num=parseInt(str_arr4_s0,10); //console.log("OperationCode Num:"+Num);//OperationCode Num var item_arr5=str_arr4_s1.split('['); if(item_arr5.length<1)return; //console.log("item_arr5.length:"+item_arr5.length); var Operation_Param_List=new Array(); for(let i=0;i