版本 7.93(2023 年 10 月 5 日发布)的查看器错误

问题描述 投票:0回答:1

APS Viewer 已于 5/10 更新至版本 7.93。 从那时起,我们注意到用于管理对象的函数已被更改(Frags 上的错误)。

准备 Frags 来应用 SetThemingColor 或 ViibilityManager 时,会出现以下错误:

TypeError: Cannot read private member #F from an object whose class did not declare it

RenderModel.js 文件中出现错误

对于每个问题区域,我们使用 InstanceTree 和 enumNodeFragments。 在以前的版本中,一切都很顺利。

如果您对问题有任何想法,谢谢您

autodesk-viewer
1个回答
0
投票

如果您使用 JavaScript 代理对象 来代理查看器模型对象,那么您必须如下所示更新您的代理定义,因为 JavaScript 代理对象 不会转发私有属性。

let model = viewer.getAllModels()[0];
let modelProxy = new Proxy(model , {
    get(target, prop, receiver) {
        const value = target[prop];
        if (value instanceof Function) {
          console.log(target, prop, receiver)
          return function (...args) {
            console.log(arguments, args);
            return value.apply(this === receiver ? target : this, ...args);
          };
        }
        return value;
      }
});


modelProxy.setThemingColor([12567, new THREE.Vector4(1,0,0,1)]);
viewer.impl.invalidate(true);

参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy#no_private_property_forwarding

© www.soinside.com 2019 - 2024. All rights reserved.