2004擭11寧25擔

僂僄僀僩儅僢僾傪儈儔乕僐僺乕偡傞僾儔僌僀儞3

傾僋僥傿儀乕僔儑儞娭悢偺僐乕僪
LW偑僾儔僌僀儞傪幚峴偡傞偲丄偙偺娭悢偑屇偽傟傞
張棟偺棳傟偼丄
僨乕僞偺弶婜壔
愝掕僼傽僀儖偐傜撉傒崬傒
僷僱儖偵搉偡僨乕僞傪廂廤
僷僱儖傪奐偔
愝掕僼傽僀儖偵曐懚
VMAP偺廋惓


//傾僋僥傿儀乕僔儑儞娭悢
XCALL_(int)Activate(long version, GlobalFunc *global, LWModCommand *local, void *serverData)
{
  LWMessageFuncs *msgf = (LWMessageFuncs*)global( LWMESSAGEFUNCS_GLOBAL, GFUSE_TRANSIENT );
  MyData   data;
  if( LWMODCOMMAND_VERSION != version )
    return AFUNC_BADVERSION;
  if( !msgf )
    return AFUNC_BADGLOBAL;
  data.global = global;
 //愝掕撉傒崬傒
  readConfig(&data);
 //慡僂僄僀僩儅僢僾儕僗僩嶌惉
  listupAllWMap(&data);
  if( 0 == data.allwlist.size() ){
    msgf->error("僂僃僀僩儅僢僾偑偁傝傑偣傫丅", NULL);
    return AFUNC_OK;
  }
 //僂僄僀僩儅僢僾儕僗僩嶌惉
  listupEditWMap(&data);
 //僷僱儖昞帵
  if( 0 == Panel(&data, global) ){
    return AFUNC_OK;
  }
 //愝掕曐懚
  writeConfig(&data);
  data.edit = local->editBegin(0, 0, OPSEL_GLOBAL);
 //億僀儞僩僗僉儍儞
  data.edit->pointScan(data.edit->state, PointScanFunc, &data, OPLYR_PRIMARY);
  data.edit->done(data.edit->state, EDERR_NONE, 0);
  return AFUNC_OK;
}

 

億僀儞僩僗僉儍儞娭悢偺僐乕僪
偡傋偰偺億僀儞僩偵懳偟偰屇偽傟傞
尦偵側傞僂僄僀僩儅僢僾偺抣傪庢摼
惉岟偟偨傜丄X嵗昗偵operation偺抣(1or-1)傪偐偗傞
0傛傝戝偒偗傟偽丄懳徾僂僄僀僩儅僢僾偵抣傪愝掕丄尦儅僢僾傪嶍彍
0側傜偽丄懳徾僂僄僀僩儅僢僾偵抣傪愝掕



//億僀儞僩僗僉儍儞娭悢
EDError PointScanFunc(void *scanData, const EDPointInfo *info)
{
  MyData  *data = (MyData*)scanData;
  MeshEditOp *edit = data->edit;
   int   result;
  float  val;
  for(int i=0; i<data->wlist.size(); i++){
    data->wlist[i].mapID = (LWID)edit->pointVSet(edit->state, (void*)data->wlist[i].mapID, LWVMAP_WGHT, data->wlist[i].src.c_str());
    result = edit->pointVGet(edit->state, info->pnt, &val);
    if( 0 != result ){
      if( 0.0 < (info->position[0] * data->operation) ){
        edit->pntVMap(edit->state, info->pnt, LWVMAP_WGHT, data->wlist[i].src.c_str(), 1, NULL);
        edit->pntVMap(edit->state, info->pnt, LWVMAP_WGHT, data->wlist[i].dist.c_str(), 1, NULL);
        edit->pntVMap(edit->state, info->pnt, LWVMAP_WGHT, data->wlist[i].dist.c_str(), 1, &val);
      }else if( 0.0 == info->position[0] ){
        edit->pntVMap(edit->state, info->pnt, LWVMAP_WGHT, data->wlist[i].dist.c_str(), 1, &val);
      }
    }
  }
  return EDERR_NONE;
}

posted by toka at 13:41| Comment(0) | TrackBack(0) | LW僾儔僌僀儞奐敪 | 偙偺僽儘僌偺撉幰偵側傞 | 峏怴忣曬傪僠僃僢僋偡傞
偙偺婰帠傊偺僐儊儞僩
僐儊儞僩傪彂偔
偍柤慜:

儊乕儖傾僪儗僗:

儂乕儉儁乕僕傾僪儗僗:

僐儊儞僩:


偙偺婰帠傊偺僩儔僢僋僶僢僋
×

偙偺峀崘偼90擔埲忋怴偟偄婰帠偺搳峞偑側偄僽儘僌偵昞帵偝傟偰偍傝傑偡丅