sview.html5.js
2026-09-08 18:22
应用层主类,用于获取底层相关接口,以及监听底层方法
初始化sview
initSView(labelId) {
this.sviewFrame = SView.createSViewObject(SView, "FrameMain", labelId);
if (renderType !== RenderType.Server) {
this.sviewFrame.createCanvas(labelId);
this.sviewFrame.getViewer().initEventListener();
}
//添加对Frame层的消息订阅
M3D.Utility.M3DMessageCenter.getCenter().subscribe(this, this.sviewFrame);
return this.sviewFrame;
}
消息监听处理可参考API文档中SView消息机制以及原文件
update(msg) {
// console.error(`我是[sview],收到了新消息,内容为: ${msg.state}`);
switch (msg.type) {
//修改右键菜单是否可用(msg.state= "true")
case "ChangeRightMenuClick":
break;
case "MoveTypeCommand":
break;
case "PlayAnimationCommand":
break;
case "CreateClipPlaneCommandView":
break;
case "ShapeSetCommandView":
break;
case "PropertyCommandView":
break;
case "CollisionCommand":
break;
case "ChangeFaceColor":
break;
case "VolumeWeightCommand":
break;
case "CollisionCommandView":
break;
case "DrawMode":
break;
case "ClipPlaneCommand":
break;
case SView.Commands.CommandNames.CHANGEVIEWCOMMAND:
break;
case M3D.Utility.MessageType.Read:
{
break;
}
case M3D.Utility.MessageType.Scene:
break;
case M3D.Utility.MessageType.Loader:
{
break;
}
case M3D.Utility.MessageType.Shapes:
{
break;
}
case M3D.Utility.MessageType.Licence:
{
break;
}
case M3D.Utility.MessageType.Selector:
{
break;
}
}
}
部分对外消息事件
class FunctionListener {
static configLoaded(configType) {
}
static showHideAssemblyDilaog(isShow) {
}
static buttonClickFunction(id, enterMenu, returnMenu = MainBottomMenu) {
}
static changeBottomMenuState(event) {
}
static createSubMenu(id, enterMenu) {
}
static executeCommand(btnId) {
}
static showViewMenu(elementId) {
}
static selectWalkingMode() {
}
static showTopViewBar(isShow) {
}
}

全部评论