Autodesk Forge Viewer - 如何在模型加载完成后触发事件?
Autodesk Forge Viewer - How do I fire an event after model loading is complete?
如何在模型加载完成后触发事件?
我在下面创建了 "basicSetting" 函数。
function basicSetting(){
viewer.setLightPreset(1);
viewer.setQualityLevel(false, false);
viewer.setGhosting(true);
viewer.setGroundShadow(false);
viewer.setGroundReflection(false);
viewer.setEnvMapBackground(false);
viewer.setProgressiveRendering(true);
}
我将它应用到 "onDocumentLoadSuccess" 函数。
但是没有用。
求助!
您可以按照 this link 使用 GEOMETRY_LOADED_EVENT
并在初始化查看器后像这样使用它。
在 typescript 中(使用 forge-typings)
this.viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, (x) =>
{
basicSetting();
}
或者,如果您想额外保存并确保该函数不会在别处被调用,只需将其删除并将其内容放入事件回调中。
this.viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, (x) =>
{
this.viewer.setLightPreset(1);
this.viewer.setQualityLevel(false, false);
this.viewer.setGhosting(true);
this.viewer.setGroundShadow(false);
this.viewer.setGroundReflection(false);
this.viewer.setEnvMapBackground(false);
this.viewer.setProgressiveRendering(true);
}
不确定您正在使用哪种语言开发,但应该非常相似!
您可以像这样使用等待查看器加载完成的承诺:
var loadedPromise = new Promise((resolve, reject) => {
var listener = function (event) {
baseViewer.removeEventListener(
Autodesk.Viewing.GEOMETRY_LOADED_EVENT,
listener
);
resolve();
}
baseViewer.addEventListener(
Autodesk.Viewing.GEOMETRY_LOADED_EVENT,
listener
);
});
等待加载的承诺;
如何在模型加载完成后触发事件?
我在下面创建了 "basicSetting" 函数。
function basicSetting(){
viewer.setLightPreset(1);
viewer.setQualityLevel(false, false);
viewer.setGhosting(true);
viewer.setGroundShadow(false);
viewer.setGroundReflection(false);
viewer.setEnvMapBackground(false);
viewer.setProgressiveRendering(true);
}
我将它应用到 "onDocumentLoadSuccess" 函数。
但是没有用。
求助!
您可以按照 this link 使用 GEOMETRY_LOADED_EVENT
并在初始化查看器后像这样使用它。
在 typescript 中(使用 forge-typings)
this.viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, (x) =>
{
basicSetting();
}
或者,如果您想额外保存并确保该函数不会在别处被调用,只需将其删除并将其内容放入事件回调中。
this.viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, (x) =>
{
this.viewer.setLightPreset(1);
this.viewer.setQualityLevel(false, false);
this.viewer.setGhosting(true);
this.viewer.setGroundShadow(false);
this.viewer.setGroundReflection(false);
this.viewer.setEnvMapBackground(false);
this.viewer.setProgressiveRendering(true);
}
不确定您正在使用哪种语言开发,但应该非常相似!
您可以像这样使用等待查看器加载完成的承诺:
var loadedPromise = new Promise((resolve, reject) => {
var listener = function (event) {
baseViewer.removeEventListener(
Autodesk.Viewing.GEOMETRY_LOADED_EVENT,
listener
);
resolve();
}
baseViewer.addEventListener(
Autodesk.Viewing.GEOMETRY_LOADED_EVENT,
listener
);
}); 等待加载的承诺;