今天弄了個檢查模型點是否有重合的command,好久不用api都陌生了;帶有乙個flag——shreshold,簡寫sr,設定需要檢查兩點之間的最小距離,再小於這個距離就算是重合的點了,command會將這兩個點同時返回。源**如下:
#ifndef _check_overlap_point
#define _check_overlap_point
#include
#include
#include
#include
using
namespace
std;
;#endif
#include
#include
#include
#include
#include
#include
#include
#include
const char *shresholdflag = "-sr", *shresholdlongflag = "shreshold";
mselectionlist selection;
mdagpath objectpath;
mglobal::getactiveselectionlist(selection);
mitselectionlist iter(selection);
mpointarray meshpoints, copypoints;
double pointdistance;
for(unsigned int j = 0; j < selection.length(); j++)
pointdistance = meshpoints[k].distanceto(copypoints[l]);
if (pointdistance < shreshold)
}index ++;
}mstring modelname = objectmesh.partialpathname();
for (unsigned int
m = 0; m
mstring pointname;}}
return
stat;
}mstatus initializeplugin( mobject obj )
mstatus uninitializeplugin( mobject obj )
最開始採用的是這種遍歷,計算的次數為n的n次方;
for (unsigned int k = 0; k < meshpoints.length(); k ++)
pointdistance = meshpoints[k].distanceto(meshpoints[l]);
if (pointdistance < shreshold)}}
發現這樣的計算速度太慢於是改進了下,這樣計算的次數是n的階乘,不過記憶體開銷是原來的兩倍,以記憶體換速度了;
for (unsigned int k = 0; k < meshpoints.length(); k ++)
pointdistance = meshpoints[k].distanceto(copypoints[l]);
if (pointdistance < shreshold)
}index ++;
}
最後在maya裡返回的是個列表或陣列,使用者可以根據這個結果做進一步的操作,是merge還是選擇都行,效能上來說還可以,比python版的api能快至少100倍。
使用如下:
// mel
效果如下圖:
PHP判斷地理圍欄是否有重合
判斷地理圍欄是否有重合 points 二維陣列內含經緯度座標 arr 二維陣列,元素內為json格式的二維陣列 return bool true為有重合 false為沒有重合 function in geo array points array arr if empty arr is array a...
檢查文件是否存在
如果只想檢查乙個文件是否存在 根本不想關心內容 那麼用 head方法來代替get方法。head請求沒有返回體,只返回乙個 http 請求報頭 i 如果文件存在,elasticsearch 將返回乙個200 ok的狀態碼 1.1 200ok content type text plain charse...
埠檢查是否開放
序 今早上班,老婆說她們樓層的 長又作妖。孕婦 服領用申請不簽字,又推脫說下星期再說。md你要推脫你就早直接這樣說啊,幹嘛說要找總 長簽字,去了被總 長懟一頓,說找樓層。一老 還天天臭美,打玻尿酸,很多其他事情也是,一點擔當都沒有,佔著茅坑不拉屎。正好最近準備研究下網路安全,於是就研究下他們醫院的官...