【控件】mars3d控件的设置

本文介绍了如何在编程中通过获取控件的DOM元素来实现对其样式的独立设置,包括更换图片、添加文字以及修改其他样式。通过控制`toolButton.container`和`toolButton.container.firstChild`,可以实现对控件图片和文字的动态更新。同时,还提及了显示隐藏控件的方法以及获取父元素的可能性,提供了深入定制用户界面的实践指导。
摘要由CSDN通过智能技术生成

添加一个控件,想要单独的设置样式,然后发现,可以获取到这个控件的dom元素

 const toolButton = new mars3d.control.ToolButton({
    title: "示例按钮bookmark",
    icon: "图片路径",
    insertIndex: 1, // 插入的位置顺序, 1是home按钮后面
    click: () => {
       // 控件的dom元素
      console.log(toolButton.container)

      // dom元素里面的第一个子元素,通常是控件的图片,可以直接修改src更换图片
      console.log(toolButton.container.firstChild) 
    }
  })
  map.addControl(toolButton)

更换图片

toolButton.container.firstChild.src = "图片路径"

将图片换成文字

 toolButton.container.innerHTML=`更换成文字`

设置其他样式:原生控制dom修改样式,添加class,去除class等等

还可以获取它的父元素

 console.log(toolButton.parentContainer)

也有一些参数控制:

显示隐藏 --- toolButton.show = false 

HelixViewport3D 控件是 WPF 3D 绘图控件,可以用来展示三维模型。要获取或设置模型在 HelixViewport3D 控件中的旋转角度,可以通过修改 HelixViewport3D 的 Camera 属性来实现。 首先,需要获取 HelixViewport3D 控件的 Camera 对象: ```csharp var camera = myHelixViewport3D.Camera; ``` 然后可以使用 Camera 的属性来获取或设置相机的位置、朝向和旋转角度等信息。例如,要获取当前相机的旋转角度,可以使用 Camera 的 LookDirection 和 UpDirection 属性来计算出相机的旋转矩阵,然后从矩阵中提取旋转角度: ```csharp var rotationMatrix = new Matrix3D( camera.LookDirection.X, camera.LookDirection.Y, camera.LookDirection.Z, 0, camera.UpDirection.X, camera.UpDirection.Y, camera.UpDirection.Z, 0, 0, 0, 1, 0, 0, 0, 0, 1); var rotationQuaternion = rotationMatrix.ToQuaternion(); var rotationAngle = rotationQuaternion.Angle; ``` 其中,ToQuaternion() 方法是一个扩展方法,用于将旋转矩阵转换为四元数,Angle 属性则表示四元数的旋转角度。 要设置模型的旋转角度,可以直接修改相机的 LookDirection 和 UpDirection 属性,或者使用 RotateTransform3D 对象来构造一个旋转变换,并将其应用到相机的 Transform 属性中: ```csharp // 直接修改相机的 LookDirection 和 UpDirection 属性 camera.LookDirection = new Vector3D(0, 0, -1); camera.UpDirection = new Vector3D(0, 1, 0); // 使用 RotateTransform3D 构造一个旋转变换 var rotation = new RotateTransform3D(new AxisAngleRotation3D(new Vector3D(0, 1, 0), 45)); // 将旋转变换应用到相机的 Transform 属性中 camera.Transform = rotation; ``` 这样就可以实现对 HelixViewport3D 控件中模型的旋转角度的获取和设置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值