返回介绍

响应事件, 增加坐标变换功能

发布于 2023-08-09 23:10:34 字数 1131 浏览 0 评论 0 收藏 0

想要支持自定义实体的移动,旋转,缩放功能,需要添加坐标变换事件处理,事件名:CustomEntity_transformBy

document.getElementById("MxDrawXCtrl").ImpTransformByFun = TransformByFun;

函数实现js代码如下:

function TransformByFun(pCustomEntity, pMatXform, pOk)
    {
        pOk = 1;
        // 得到自定义实体类型
        var sGuid = pCustomEntity.Guid;

        if (sGuid == "DrawCustEntity")
        {
            if (!pCustomEntity.IsHave("Count"))
                return;
            var lCount = pCustomEntity.GetLong("Count");

            // 对实体的点坐标进行坐标变换。
            for (var i = 0; i < lCount; i++)
            {
                var sName;
                sName = "Point" + (i + 1).toString();
                if (!pCustomEntity.IsHave(sName))
                    break;
                // 取自定义实体的端点坐标。
                var pt = pCustomEntity.GetPoint(sName);
                // 计算出新的坐标。
                pt.TransformBy(pMatXform);
                pCustomEntity.SetPoint(sName, pt);
            }
        }
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文