Files
apt-nl-map/static/Magic4/Lu_MySQL_Driver_Threejs.js
2024-12-03 16:40:54 +08:00

908 lines
29 KiB
JavaScript

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<WayPoint_List_Num)return;
var WayPoint_List=new Array();
for(let i=0;i<WPL_Sub_Data_Str.length;i++){
var WPL_Sub_Data_Info_Str=WPL_Sub_Data_Str[i];
//console.log(WPL_Sub_Data_Info_Str);
if(!WPL_Sub_Data_Info_Str) WPL_Sub_Data_Str.splice(i,1);//删除空项
else{
var item_WPL=WPL_Sub_Data_Info_Str.split(' ');
var P=new Object();
P.x=parseFloat(item_WPL[0]);
P.y=parseFloat(item_WPL[1]);
P.thetadeg=parseFloat(item_WPL[2]);
WayPoint_List.push(P);
}
}
var WayPointBezierList_Vector=new Array();
var WayPointBezierList_Str=WayPointBezierList_Vector_str.split(',');
for(let l=0;l<WayPointBezierList_Str.length;l++){
var WayPointBezierListi_Str=WayPointBezierList_Str[l];
if(!WayPointBezierListi_Str) WayPointBezierList_Str.splice(l,1);//删除空项
else {
var BPL_Str = WayPointBezierListi_Str.split('@');
if(BPL_Str.length<2)return;
var BPL_Data_Num = BPL_Str[0];
var BPL_Data_Str = BPL_Str[1];
BPL_Data_Str=BPL_Data_Str.split(']')[0];
var BPL_Sub_Data_Str = BPL_Data_Str.split('#');
if(BPL_Sub_Data_Str.length<BPL_Data_Num)return;
var Bezier_Point_List=new Array();
for(let i=0;i<BPL_Sub_Data_Str.length;i++){
var BPL_Sub_Data_Info_Str=BPL_Sub_Data_Str[i];
if(!BPL_Sub_Data_Info_Str) BPL_Sub_Data_Str.splice(i,1);//删除空项
else{
var item_BPL=BPL_Sub_Data_Info_Str.split(' ');
var p=new Point(0.0,0.0);
p.x=parseFloat(item_BPL[0]);
p.y=parseFloat(item_BPL[1]);
Bezier_Point_List.push(p);
}
}
WayPointBezierList_Vector.push(Bezier_Point_List);
}
}
var WayPointBezierPointList_Vector=new Array();
var WayPointBezierPointList_Str=WayPointBezierPointList_Vector_str.split(',');
for(let l=0;l<WayPointBezierPointList_Str.length;l++){
var WayPointBezierPointListi_Str=WayPointBezierPointList_Str[l];
if(!WayPointBezierPointListi_Str) WayPointBezierPointList_Str.splice(l,1);//删除空项
else{
var PL_Str = WayPointBezierPointListi_Str.split('$');
if(PL_Str.length<2)return;
var PL_Data_Num = PL_Str[0];
var PL_Data_Str = PL_Str[1];
PL_Data_Str=PL_Data_Str.split(']')[0];
var PL_Sub_Data_Str = PL_Data_Str.split('%');
if(PL_Sub_Data_Str.length<PL_Data_Num)return;
var Point_List=new Array();
for(let i=0;i<PL_Sub_Data_Str.length;i++){
var PL_Sub_Data_Info_Str=PL_Sub_Data_Str[i];
if(!PL_Sub_Data_Info_Str)PL_Sub_Data_Str.splice(i,1);//删除空项
else{
var item_PL=PL_Sub_Data_Info_Str.split(' ');
var P=new Object();
P.x=parseFloat(item_PL[0]);
P.y=parseFloat(item_PL[1]);
P.thetadeg=parseFloat(item_PL[2]);
P.curvrate=parseFloat(item_PL[3]);
Point_List.push(P);
}
}
WayPointBezierPointList_Vector.push(Point_List);
}
}
var WayPoint_PathInfo1=new Object();
WayPoint_PathInfo1.WayPoint_List=WayPoint_List;
WayPoint_PathInfo1.WayPointBezierList_Vector=WayPointBezierList_Vector;
WayPoint_PathInfo1.WayPointBezierPointList_Vector=WayPointBezierPointList_Vector;
return WayPoint_PathInfo1;
}
function Lu_Parse_Bezier_PathInfo_StringParam1(str){
var Bezier_Point_List_str="";
var Point_List_str="";
var item_arr=str.split('[Point_List');
if(item_arr.length<2)return;
var tmp0=item_arr[1];
var item_arr0=tmp0.split(']');
var Point_List_str=item_arr0[0];
//console.log("Point_List_str:"+Point_List_str);
var tmp1=item_arr[0];
var item_arr1=tmp1.split(']|');
Bezier_Point_List_str=item_arr1[0];
//console.log(Bezier_Point_List_str);
var item_arr2=Bezier_Point_List_str.split(':');
if(item_arr2.length<1)return;
var tmp2=item_arr2[1];
var item_arr3=tmp2.split('@');
var Bezier_Point_List_Num=item_arr3[0];
//console.log(Bezier_Point_List_Num);
var Bezier_Point_List_Str=item_arr3[1];
//console.log(Bezier_Point_List_Str);
var item_arr4=Bezier_Point_List_Str.split('#');
if(item_arr4.length<Bezier_Point_List_Num)return;
//console.log(item_arr4);
var Bezier_Point_List=new Array();
for(i=0;i<item_arr4.length;i++){
var Point_Tmp_Str=item_arr4[i];
if(!Point_Tmp_Str) item_arr4.splice(i,1);//删除空项
else{
var item_arr5=Point_Tmp_Str.split(' ');
var p=new Point(0.0,0.0);
p.x=parseFloat(item_arr5[0]);
p.y=parseFloat(item_arr5[1]);
Bezier_Point_List.push(p);
}
}
//console.log(Bezier_Point_List);
var item_arr5=Point_List_str.split('$');
//console.log(item_arr5);
if(item_arr5.length<1)return;
var Point_List_Num=item_arr5[0];
//console.log(Point_List_Num);
var Point_List_Data_str=item_arr5[1];
var item_arr6=Point_List_Data_str.split('%');
if(item_arr6.length<Point_List_Num)return;
var Point_List=new Array();
for(j=0;j<item_arr6.length;j++){
var Point_Tmp_Str=item_arr6[j];
if(!Point_Tmp_Str)item_arr6.splice(i,1);//删除空项
else{
var item_arr7=Point_Tmp_Str.split(' ');
var P=new Object();
P.x=parseFloat(item_arr7[0]);
P.y=parseFloat(item_arr7[1]);
P.thetadeg=parseFloat(item_arr7[2]);
P.curvrate=parseFloat(item_arr7[3]);
Point_List.push(P);
}
}
//console.log(Point_List);
var Bezier_PathInfo1=new Object();
Bezier_PathInfo1.Bezier_Point_List=Bezier_Point_List;
Bezier_PathInfo1.Point_List=Point_List;
return Bezier_PathInfo1;
}
function Lu_Parse_OriginTurn_PathInfo_StringParam1(str){
var arcpathclockwisedir=0;
var centerpoint=new Point(0.0,0.0);
var startanglex=0.0;
var endanglex=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;
startanglex=parseFloat(item_arr[3]);
if(item_arr.length<5)return;
endanglex=parseFloat(item_arr[4]);
var OriginTurn_PathInfo1=new Object();
OriginTurn_PathInfo1.arcpathclockwisedir=arcpathclockwisedir;
OriginTurn_PathInfo1.centerpoint=centerpoint;
OriginTurn_PathInfo1.startanglex=startanglex;
OriginTurn_PathInfo1.endanglex=endanglex;
return OriginTurn_PathInfo1;
}
function Lu_Trans_Arc_PathInfo1_To_Paper_Arc(Arc_PathInfo1){
var arcpathclockwisedir=Arc_PathInfo1.arcpathclockwisedir;
var centerpoint=Arc_PathInfo1.centerpoint;
var radius=Arc_PathInfo1.radius;
var startangle=Arc_PathInfo1.startangle;
var endangle=Arc_PathInfo1.endangle;
if(arcpathclockwisedir==0){
endangle=Lu_Normal_Deg(startangle,startangle+360.0,endangle);
}
else{
startangle=Lu_Normal_Deg(endangle,endangle+360.0,startangle);
}
var PathTable_Arc=new Object();
PathTable_Arc.centerpoint=centerpoint;
PathTable_Arc.radius=radius;
PathTable_Arc.startangle=startangle;
PathTable_Arc.endangle=endangle;
PathTable_Arc.arcpathclockwisedir=arcpathclockwisedir;
//console.log(PathTable_Arc);
return PathTable_Arc;
}
function Lu_Trans_WayPoint_PathInfo1_To_Paper_Line(WayPoint_PathInfo1){
var WayPointBezierPointList_Vector=WayPoint_PathInfo1.WayPointBezierPointList_Vector;
//console.log(WayPointBezierPointList_Vector);
var WayPoint_Line_List=new Array();
for(let i=0;i<WayPointBezierPointList_Vector.length;i++){
var Point_List=WayPointBezierPointList_Vector[i];
for(let j=0;j<Point_List.length-1;j++){
var PS=new Point(0.0,0.0);
PS.x=Point_List[j].x;
PS.y=Point_List[j].y;
var PE=new Point(0.0,0.0);
PE.x=Point_List[j+1].x;
PE.y=Point_List[j+1].y;
var Line=new Object();
Line.startpoint=PS;
Line.endpoint=PE;
WayPoint_Line_List.push(Line);
}
}
return WayPoint_Line_List;
}
function Lu_Trans_Bezier_PathInfo1_To_Paper_Line(Bezier_PathInfo1){
var Point_List=Bezier_PathInfo1.Point_List;
var Bezier_Line_List=new Array();
for(i=0;i<Point_List.length-1;i++){
var PS=new Point(0.0,0.0);
PS.x=Point_List[i].x;
PS.y=Point_List[i].y;
var PE=new Point(0.0,0.0);
PE.x=Point_List[i+1].x;
PE.y=Point_List[i+1].y;
var Line=new Object();
Line.startpoint=PS;
Line.endpoint=PE;
Bezier_Line_List.push(Line);
}
return Bezier_Line_List;
}
function Lu_Trans_OriginTurn_PathInfo1_To_Paper_OriginTurn(OriginTurn_PathInfo1){
var arcpathclockwisedir=OriginTurn_PathInfo1.arcpathclockwisedir;
var centerpoint=OriginTurn_PathInfo1.centerpoint;
var startangle=parseFloat(OriginTurn_PathInfo1.startanglex)+90.0;
var endangle=parseFloat(OriginTurn_PathInfo1.endanglex)+90.0;
var radius=1.0;
var frompoint=new Point(0.0,0.0);
var topoint=new Point(0.0,0.0);
if(arcpathclockwisedir==0){//Anticlockwise = 0,//逆时针
frompoint=Lu_GetNextPoint_By_xs_ys_dirdeg(centerpoint.x,centerpoint.y,startangle,radius);
topoint=Lu_GetNextPoint_By_xs_ys_dirdeg(centerpoint.x,centerpoint.y,endangle,radius);
}
else{//Clockwise = 1,//顺时针
frompoint=Lu_GetNextPoint_By_xs_ys_dirdeg(centerpoint.x,centerpoint.y,startangle,radius);
topoint=Lu_GetNextPoint_By_xs_ys_dirdeg(centerpoint.x,centerpoint.y,endangle,radius);
}
if(arcpathclockwisedir==0){
endangle=Lu_Normal_Deg(startangle,startangle+360.0,endangle);
}
else{
startangle=Lu_Normal_Deg(endangle,endangle+360.0,startangle);
}
var PathTable_OriginTurn=new Object();
PathTable_OriginTurn.centerpoint=centerpoint;
PathTable_OriginTurn.radius=radius;
PathTable_OriginTurn.startangle=startangle;
PathTable_OriginTurn.endangle=endangle;
PathTable_OriginTurn.arcpathclockwisedir=arcpathclockwisedir;
PathTable_OriginTurn.frompoint=frompoint;
PathTable_OriginTurn.topoint=topoint;
//console.log(PathTable_Arc);
return PathTable_OriginTurn;
}
///////////////////////////////////////////////////////////////////////////////
function Lu_Parse_NodePointManagerTable(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_NodePointManagerTableLine(str_line);
}
}
/*
function Lu_Parse_NodePointManagerTableLine(str){
var NodeInfo_str0="";
var NodeInfo_StringParam1="";
var NodeInfo_StringParam2="";
var item_arr0=str.split('<');
NodeInfo_str0=item_arr0[0];
if(item_arr0.length<2)return;
var tmp_str1=item_arr0[1];
var tmp_str2=tmp_str1.split('>');
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<item_arr5.length;i++){
var str_arr5_s0=item_arr5[i];
var item_arr6=str_arr5_s0.split(']');
if(item_arr6.length<2)continue;
var str_arr6_s0=item_arr6[0];
//console.log(str_arr6_s0);
var Operation_Param=Lu_Parse_Single_Operation_Param(str_arr6_s0);
//console.log(Operation_Param);
Operation_Param_List.push(Operation_Param);
}
var FloorOperationInfo=new Object();
FloorOperationInfo.Index=FloorIndex;
FloorOperationInfo.Name=str_arr3_s0;
FloorOperationInfo.Operation_Param_List=Operation_Param_List;
return FloorOperationInfo;
}
function Lu_Parse_Single_Operation_Param(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];
//console.log("Operation Name:"+str_arr0_s0);//Operation Name
var item_arr1=str_arr0_s1.split('$');
if(item_arr1.length<2)return;
var str_arr1_s0=item_arr1[0];
var str_arr1_s1=item_arr1[1];
//console.log("Operation Code:"+str_arr1_s0);//Operation Code
var Operation_Code=parseInt(str_arr1_s0,10);
var item_arr2=str_arr1_s1.split('%');
if(item_arr2.length<2)return;
var str_arr2_s0=item_arr2[0];
var str_arr2_s1=item_arr2[1];
//console.log("Operation Param Type:"+str_arr2_s0);//Operation Param Type
var item_arr3=str_arr2_s1.split('&');
if(item_arr3.length<2)return;
var str_arr3_s0=item_arr3[0];
var str_arr3_s1=item_arr3[1];
//console.log("Operation Param Format:"+str_arr3_s0);//Operation Param Format
//console.log("Operation Param Raw:"+str_arr3_s1);//Operation Param Raw
var Operation_Param_Raw=parseInt(str_arr3_s1, 16);
//console.log(Operation_Param_Raw);
var Operation_Param=new Object();
Operation_Param.Name=str_arr0_s0;
Operation_Param.Code=Operation_Code;
Operation_Param.Type=str_arr2_s0;
Operation_Param.Format=str_arr3_s0;
Operation_Param.Raw=Operation_Param_Raw;
return Operation_Param;
}
function Lu_Create_NodePoint_Map_With_Name(){
NodePoint_Map.forEach(function(value, key, map){
if(Node_Map.has(key)){
NodePoint_Map.get(key).NodeName=Node_Map.get(key).NodeName;
}
});
}