您好,登錄后才能下訂單哦!
這篇文章主要介紹TE如何動(dòng)態(tài)標(biāo)繪錐形,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
TE二次開(kāi)發(fā)中,可以標(biāo)繪三維錐形,能夠按照TE中操作的方式進(jìn)行錐形的標(biāo)繪。
具體在BS中的javascript代碼實(shí)現(xiàn)如下:
添加操作的事件:
//左鍵、右鍵、實(shí)時(shí)刷新
sgworld.AttachEvent("OnLButtonDown", OnLButtonDown);
sgworld.AttachEvent("OnRButtonDown", OnRButtonDown);
sgworld.AttachEvent("OnFrame", OnFrame);
//左鍵事件
function OnLButtonDown(Flags,X,Y)
{
//是否開(kāi)始標(biāo)繪的標(biāo)志
if(cflag)
{
var Iwordpoint= sgworld.Window.PixelToWorld(X,Y,0);
if(Cone==null)
{
var nLineColor = 0xFF0000FF;
//創(chuàng)建錐形對(duì)象
Cone=sgworld.Creator.CreateCone(Iwordpoint.Position,1,0,nLineColor,nLineColor,12,0,"circle");
}
else
{
var dis = sgworld.CoordServices.GetDistance(Cone.Position.X, Cone.Position.Y, Iwordpoint.Position.X, Iwordpoint.Position.Y);
//判斷先畫底部的圓
if(hflag)
{
var dis1 = sgworld.CoordServices.GetDistance(0, Cone.Position.Y, 0, Iwordpoint.Position.Y);
Cone.Height=dis;
cflag = false;
}
//設(shè)置半徑和圓錐的高度
if (Cone.Height == 0&&!hflag) {
Cone.Radius = dis;
Cone.Height=dis;
hflag=true;
}
}
}
}
//右鍵事件,結(jié)束畫錐形
function OnRButtonUpp(Flags,X,Y)
{
cflag = false;
Cone=null;
hflag=false;
}
//實(shí)時(shí)刷新事件
function Onframe()
{
if(cflag)
{
//底部圓的半徑變換
if(Cone!=null)
{
var Imousinfo = sgworld.Window.GetMouseInfo();
var Iwordpoint = sgworld.Window.PixelToWorld(Imousinfo.X, Imousinfo.Y, 0);
//根據(jù)距離變換半徑
var dis = sgworld.CoordServices.GetDistance(Cone.Position.X, Cone.Position.Y, Iwordpoint.Position.X, Iwordpoint.Position.Y);
if (Cone.Height == 0&&!hflag) {
Cone.Radius = dis;
}
if(hflag)
{
//高度變化
var dis1 = Imethod.getdistance(0, Cone.Position.Y, 0, Iwordpoint.Position.Y);
Cone.Height=dis1;
}
}
}
}
以上是“TE如何動(dòng)態(tài)標(biāo)繪錐形”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。