You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.4 KiB
91 lines
2.4 KiB
4 weeks ago
|
function MyDynDrawCommentWorldDraw(pt1)
|
||
|
{
|
||
|
var _pt1 = pt1;
|
||
|
|
||
|
this.worldDraw = function(currentPoint)
|
||
|
{
|
||
|
this.drawLine(currentPoint,_pt1);
|
||
|
|
||
|
|
||
|
var sText = "测试Test";
|
||
|
var txtH = MxFun.screenCoordLong2Doc(50);
|
||
|
var ptTxt = new THREE.Vector3;
|
||
|
var dTxtWidth = txtH * 6.0;
|
||
|
|
||
|
ptTxt.x = currentPoint.x + txtH * 0.3 + dTxtWidth * 0.5;
|
||
|
ptTxt.y = currentPoint.y + txtH * 0.1 + txtH * 0.5;
|
||
|
this.drawText(sText,txtH,0.0,ptTxt);
|
||
|
|
||
|
var pt3 = new THREE.Vector3;
|
||
|
pt3.x = currentPoint.x + dTxtWidth;;
|
||
|
pt3.y = currentPoint.y
|
||
|
this.drawLine(pt3,currentPoint);
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
mxModule.regist(()=>{
|
||
|
MxFun.addCommand("Mx_Comment",()=>{
|
||
|
|
||
|
// ..
|
||
|
var getPoint = new MrxDbgUiPrPoint();
|
||
|
getPoint.go((status)=>{
|
||
|
|
||
|
if(status != 0)
|
||
|
{
|
||
|
console.log(status);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
var pt1 = getPoint.value();
|
||
|
getPoint.setBasePt(pt1);
|
||
|
getPoint.setUseBasePt(true);
|
||
|
|
||
|
MyDynDrawCommentWorldDraw.prototype = new McEdGetPointWorldDraw();
|
||
|
var worldDrawComment = new MyDynDrawCommentWorldDraw(getPoint.value());
|
||
|
getPoint.setUserDraw(worldDrawComment);
|
||
|
getPoint.go((status)=>{
|
||
|
if(status != 0)
|
||
|
{
|
||
|
console.log(status);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
var currentPoint = getPoint.value();
|
||
|
|
||
|
var scene = MxFun.getCurrentDraw().getDrawContainer();
|
||
|
|
||
|
var iColor = 0XFFFFFF;
|
||
|
|
||
|
scene.add(MxThreeJS.createLine(currentPoint,pt1,iColor));
|
||
|
|
||
|
|
||
|
var sText = "测试Test";
|
||
|
var txtH = MxFun.screenCoordLong2Doc(50);
|
||
|
var ptTxt = new THREE.Vector3;
|
||
|
var dTxtWidth = txtH * 6.0;
|
||
|
|
||
|
ptTxt.x = currentPoint.x + txtH * 0.3 + dTxtWidth * 0.5;
|
||
|
ptTxt.y = currentPoint.y + txtH * 0.1 + txtH * 0.5;
|
||
|
|
||
|
|
||
|
scene.add(MxThreeJS.creatTextSprite(sText,ptTxt,txtH,0.0,iColor) );
|
||
|
|
||
|
var pt3 = new THREE.Vector3;
|
||
|
pt3.x = currentPoint.x + dTxtWidth;;
|
||
|
pt3.y = currentPoint.y
|
||
|
|
||
|
scene.add(MxThreeJS.createLine(currentPoint,pt3,iColor));
|
||
|
|
||
|
MxFun.updateDisplay();
|
||
|
|
||
|
});
|
||
|
|
||
|
|
||
|
|
||
|
});
|
||
|
|
||
|
// ..
|
||
|
});
|
||
|
|
||
|
})
|