bool CXueWeiLoader::Load(CRectNode* Rects, CLineNode* Lines) { xuewei = new XUEWEI[400]; jingluo = new JINGLUO[20]; FILE *fp; MString ms; #if 1 fp = fopen(ms.str_join(g_Engine->MediaPath,XUEWEI_FILE_NAME),"r"); for (int n=0;n<XUEWEI_NUM;n++) { fscanf(fp,"%f %f %f %f %f %f %f %f %d %s %s %d %s %s %s %s" ,&xuewei[n].world_x,&xuewei[n].world_y,&xuewei[n].world_z ,&xuewei[n].mx,&xuewei[n].my,&xuewei[n].dx ,&xuewei[n].jiaodu_x,&xuewei[n].jiaodu_y,&xuewei[n].xuewei_id ,&xuewei[n].xuewei_ename,&xuewei[n].xuewei_cname,&xuewei[n].jingluo_id ,&xuewei[n].jingluo_cname,&xuewei[n].shiyi,&xuewei[n].gongneng,&xuewei[n].weizhi); //special process for 13 14 if(xuewei[n].xuewei_id >= 310) { xuewei[n].world_x/=3.0;xuewei[n].world_y/=3.0;xuewei[n].world_z/=3.0; } SetJingluo(xuewei[n]); point4f color = GetJingluoColor(xuewei[n].jingluo_id); Rects->addTransformedElement(point3f(xuewei[n].world_x,xuewei[n].world_y,xuewei[n].world_z), point3f(xuewei[n].jiaodu_x,xuewei[n].jiaodu_y/*+180*/,0),point3f(0.02,0.02,0.02),color,xuewei[n].jingluo_id); if(Lines && n>0 && xuewei[n].jingluo_id == xuewei[n-1].jingluo_id) { Lines->AddElement(0,point3f(xuewei[n-1].world_x,xuewei[n-1].world_y,xuewei[n-1].world_z),point3f(xuewei[n].world_x,xuewei[n].world_y,xuewei[n].world_z),0,color); } //Rects->AddElement(0,point3f(xuewei[n].world_x,xuewei[n].world_y,xuewei[n].world_z), // point3f(0,0,0),point3f(0.2,0.2,0.2),0); } fclose(fp); #else fp = _wfopen(L"./xwsj.lj",L"r,ccs=UTF-8"); for (int n=0;n<XUEWEI_NUM;n++) { fwscanf(fp,L"%f %f %f %f %f %f %f %f %d %s %s %d %s %s %s %s" ,&xuewei[n].world_x,&xuewei[n].world_y,&xuewei[n].world_z ,&xuewei[n].mx,&xuewei[n].my,&xuewei[n].dx ,&xuewei[n].jiaodu_x,&xuewei[n].jiaodu_y,&xuewei[n].xuewei_id ,&xuewei[n].xuewei_ename,&xuewei[n].xuewei_cname,&xuewei[n].jingluo_id ,&xuewei[n].jingluo_cname,&xuewei[n].shiyi,&xuewei[n].gongneng,&xuewei[n].weizhi); //Rects->AddElement(0,point3f(xuewei[n].world_x,xuewei[n].world_y,xuewei[n].world_z),0); SetJingluo(xuewei[n]); point4f color = GetJingluoColor(xuewei[n].jingluo_id); Rects->addTransformedElement(point3f(xuewei[n].world_x,xuewei[n].world_y,xuewei[n].world_z), point3f(xuewei[n].jiaodu_x,xuewei[n].jiaodu_y/*+180*/,0),point3f(0.02,0.02,0.02),color,0); //Rects->AddElement(0,point3f(xuewei[n].world_x,xuewei[n].world_y,xuewei[n].world_z), // point3f(0,0,0),point3f(0.2,0.2,0.2),0); } fclose(fp); #endif return true; }