421 lines
14 KiB
JavaScript
421 lines
14 KiB
JavaScript
var LayerTableSLAMMap_Arr=new Array();
|
|
var SLAMMap_Map=new Map();
|
|
var StationFloorIndexTable_Arr=new Array();
|
|
var Node_Map=new Map();
|
|
var NodePointManagerTable_Arr=new Array();
|
|
var NodePoint_Map=new Map();
|
|
/////////////////////////////////////////////////////
|
|
function Lu_Parse_LayerTableSLAMMap(str){
|
|
var str_line_arr=str.split("\n");
|
|
for(let i=0;i<str_line_arr.length;i++){
|
|
var str_line=str_line_arr[i];
|
|
if(str_line!="")Lu_Parse_LayerTableSLAMMapLine(str_line);
|
|
}
|
|
}
|
|
|
|
function Lu_Parse_LayerTableSLAMMapLine(str){
|
|
var LayerID_str0="";
|
|
var LayerName_str1="";
|
|
var LayerColor_str2="";
|
|
var View_str3="";
|
|
var LayerType_str4="";
|
|
var LayerStringParam_str5="";
|
|
var EnableSelect_str6="";
|
|
|
|
var item_arr0=str.split(' ');
|
|
if(item_arr0.length<1)return;
|
|
LayerID_str0=item_arr0[0];
|
|
var LayerID=parseInt(LayerID_str0,10);
|
|
//console.log("LayerID:"+LayerID+"\n");
|
|
|
|
if(item_arr0.length<2)return;
|
|
LayerName_str1=item_arr0[1];
|
|
var LayerName=LayerName_str1;
|
|
//console.log("LayerName:"+LayerName+"\n");
|
|
|
|
if(item_arr0.length<3)return;
|
|
LayerColor_str2=item_arr0[2];
|
|
var LayerColor=LayerColor_str2;
|
|
//console.log("LayerColor:"+LayerColor+"\n");
|
|
|
|
if(item_arr0.length<4)return;
|
|
View_str3=item_arr0[3];
|
|
var View=parseInt(View_str3,10);
|
|
//console.log("View:"+View+"\n");
|
|
|
|
if(item_arr0.length<5)return;
|
|
LayerType_str4=item_arr0[4];
|
|
var LayerType=LayerType_str4;
|
|
//console.log("LayerType:"+LayerType+"\n");
|
|
|
|
if(item_arr0.length<6)return;
|
|
LayerStringParam_str5=item_arr0[5];
|
|
var LayerStringParam=LayerStringParam_str5;
|
|
//console.log("LayerStringParam:"+LayerStringParam+"\n");
|
|
/*
|
|
var LayerStringParam_item_arr0=LayerStringParam.split('[');
|
|
if(LayerStringParam_item_arr0.length<2)return;
|
|
var LayerStringParam_s1=LayerStringParam_item_arr0[1];
|
|
var LayerStringParam_item_arr1=LayerStringParam_s1.split(']');
|
|
if(LayerStringParam_item_arr1.length<1)return;
|
|
var LayerStringParam_s2=LayerStringParam_item_arr1[0];
|
|
var LayerStringParam_item_arr2=LayerStringParam_s2.split(':');
|
|
if(LayerStringParam_item_arr2.length<2)return;
|
|
var CommentInfo=LayerStringParam_item_arr2[1];
|
|
*/
|
|
var CommentInfo=Lu_Get_SLAMMap_CommentInfo(LayerStringParam);
|
|
//console.log("CommentInfo:"+CommentInfo);
|
|
|
|
if(item_arr0.length<7)return;
|
|
EnableSelect_str6=item_arr0[6];
|
|
var EnableSelect=parseInt(EnableSelect_str6,10);
|
|
//console.log("EnableSelect:"+EnableSelect+"\n");
|
|
if(SLAMMap_Map.has(LayerID)==false){
|
|
var SLAMMap=new Object();
|
|
SLAMMap.LayerName=LayerName;
|
|
SLAMMap.CommentInfo=CommentInfo;
|
|
SLAMMap_Map.set(LayerID,SLAMMap);
|
|
}
|
|
}
|
|
function Lu_Get_SLAMMap_CommentInfo(str){
|
|
var CommentInfo="";
|
|
var LayerStringParam_item_arr0=str.split('[');
|
|
if(LayerStringParam_item_arr0.length<2)return CommentInfo;
|
|
var LayerStringParam_s1=LayerStringParam_item_arr0[1];
|
|
var LayerStringParam_item_arr1=LayerStringParam_s1.split(']');
|
|
if(LayerStringParam_item_arr1.length<1)return CommentInfo;
|
|
var LayerStringParam_s2=LayerStringParam_item_arr1[0];
|
|
var LayerStringParam_item_arr2=LayerStringParam_s2.split(':');
|
|
if(LayerStringParam_item_arr2.length<2)return CommentInfo;
|
|
CommentInfo=LayerStringParam_item_arr2[1];
|
|
return CommentInfo;
|
|
}
|
|
/////////////////////////////////////////////////////
|
|
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);
|
|
var FloorOperationInfo=Lu_Parse_NodeAltitudes(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)){
|
|
var Node_Info=new Object();
|
|
Node_Info.NodeName=NodeName_str4;
|
|
Node_Info.NodePos=NodePos;
|
|
Node_Info.FloorOperationInfo=FloorOperationInfo;
|
|
Node_Info.FloorOperationInfos=new Map();
|
|
Node_Map.set(NodeID,Node_Info);
|
|
Node_Map.get(NodeID).FloorOperationInfos.set(FloorIndex_str1,FloorOperationInfo);
|
|
}else{
|
|
Node_Map.get(NodeID).FloorOperationInfos.set(FloorIndex_str1,FloorOperationInfo);
|
|
}
|
|
}
|
|
|
|
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_NodeAltitudes(str){
|
|
|
|
var item_arr1=str.split('[');
|
|
if(item_arr1.length<1)return;
|
|
//console.log("item_arr1.length:"+item_arr1.length);
|
|
var Operation_Param_List=new Array();
|
|
for(let i=0;i<item_arr1.length;i++){
|
|
var str_arr5_s0=item_arr1[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);
|
|
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_Parse_NodePointManagerTable(str){
|
|
var str_line_arr=str.split("\n");
|
|
for(let i=0;i<str_line_arr.length;i++){
|
|
var str_line=str_line_arr[i];
|
|
if(str_line!="")Lu_Parse_NodePointManagerTableLine(str_line);
|
|
}
|
|
}
|
|
|
|
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;
|
|
|
|
if(NodePoint_Map.has(NodePointInfo)==false){
|
|
NodePoint_Map.set(NodeID,NodePointInfo);
|
|
}
|
|
}
|
|
|
|
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;
|
|
}
|
|
});
|
|
} |