// 创建设备 正方体
// x1 X轴坐标 y1 Y轴坐标 item 设备的信息 可以把 item 嵌入到正方体里面 h : 高度
private initQuare1(x1:any,y1:any,item:any,h:any) {
var geometry = new THREE.BoxGeometry( 0.5, 1, 0.5 );
// 确定颜色 根据设备的状态动态显示正方体的颜色
let color123 = 'gray'
item.runState === 'running' ? color123 = 'green' : item.runState === 'warning'
? color123 = 'yellow' : item.runState === 'alarm' ? color123 = 'red' : color123 = color123
var material =[
new THREE.MeshBasicMaterial( { map: new THREE.CanvasTexture(this.getTextCanvas2(item,color123)) } ), // right
new THREE.MeshBasicMaterial( { map: new THREE.CanvasTexture(this.getTextCanvas2(item,color123)) } ), // left
new THREE.MeshBasicMaterial( { color: color123 } ), // top
new THREE.MeshBasicMaterial( { color: color123 } ), // bottom
new THREE.MeshBasicMaterial( { map: new THREE.CanvasTexture(this.getTextCanvas2(item,color123)) } ), // back
new THREE.MeshBasicMaterial( { map: new THREE.CanvasTexture(this.getTextCanvas2(item,color123)) } ) // front
];
var square :any = new THREE.Mesh( geometry, material );
square.position.x = x1;
square.data1 = item;
square.position.y = h+0.5;
square.position.z = y1;
// square.asdName = "腔室"
// this.viewer.setRaycasterObjects(square);
this.viewer.scene.add(square);
// 注册事件
square.traverse((item1:any) => {
// console.log(item);
item1.deviceName = '设备';
item1.item = item;
// console.log(item);
this.list.push(item1)
});
this.viewer.setRaycasterObjects(this.list)
}

使用threejs创建一个长方体的更多相关文章

  1. 按要求编写一个Java应用程序: (1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。 (2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性, 和计算体积的方法。 (3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、 宽、高,输出其底面积和体积。

    package jvxing; public class Jvxing { //成员变量 private double width; private double chang; public doub ...

  2. 28.按要求编写一个Java应用程序: (1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。 (2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性, 和计算体积的方法。 (3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、 宽、高,输出其底面积和体积。

    //矩形父类 package d922A; public class Rect { private double l,w; Rect(double c,double k) { l=c; w=k; } ...

  3. 使用TVTK库创建一个矩形视图

    from tvtk.api import tvtk # s=tvtk.ConeSource(height=,radius=) # print(s.center) #创建一个长方体数据源,并同时设置长宽 ...

  4. 【webGL】threejs入门 ---创建一个简单立方体

    开发环境 Three.js是一个JavaScript库,所以,你可以使用平时开发JavaScript应用的环境开发Three.js应用.如果你没什么偏好的话,我会推荐Komodo IDE. 调试建议使 ...

  5. Three-js 创建第一个3D场景

    1.一个场景至少需要的三种类型组件 相机/决定哪些东西将在屏幕上渲染    光源/他们会对材质如何显示,以及生成阴影时材质如何使用产生影响    物体/他们是在相机透视图里主要的渲染队形:方块.球体等 ...

  6. threeJS创建mesh,创建平面,设置mesh的平移,旋转、缩放、自传、透明度、拉伸

    这个小案例是当初我在学习的时候,小的一个小案例,代码还需要进一步优化:还请谅解~~:主要用到了threeJS创建mesh,创建平面,设置mesh的平移,旋转.缩放.自传.透明度.拉伸等这些小功能: 采 ...

  7. threejs创建地球

    上个月底,在朋友圈看到一个号称“这可能是地球上最美的h5”的分享,点进入后发现这个h5还很别致,思考了一会,决定要不高仿一个? 到今天为止,高仿基本完成, 线上地址 github地址 除了手机端的me ...

  8. 在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用

    由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的相关内容往往是某本介绍ASP.NET M ...

  9. 用html5的canvas和JavaScript创建一个绘图程序

    本文将引导你使用canvas和JavaScript创建一个简单的绘图程序. 创建canvas元素 首先准备容器Canvas元素,接下来所有的事情都会在JavaScript里面. <canvas ...

  10. 搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 (1)

    搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 原文地址(英文):http://www.networkcomms.net/creating ...

随机推荐

  1. 从web2的用户名密码登录到web3的钱包签名认证

    Web2 都有哪些常用的认证场景 早期我们使用网页类 Web2 应用时,大多采用账号 + 密码的认证方式访问.为了方便很多网站设置的都是相同的密码(这很不安全). 随着移动应用的普及,慢慢我们习惯了手 ...

  2. 【Java】三元运算符 类型提升 问题

    代码片段: @Test public void test() { Object o = true ? new Integer(1) : new Double(2); System.out.printl ...

  3. 【Layui】12 评分 Rate

    文档地址: https://www.layui.com/demo/rate.html 基础样式: <fieldset class="layui-elem-field layui-fie ...

  4. 从.net开发做到云原生运维(七)——服务网格Istio

    1. 前言 上篇文章我们讲了dapr,dapr作为开发阶段使用的组件,需要开发人员知道怎么使用,到此篇文章之前,开发人员的开发任务已经完成了,剩下的就是一些运维相关的事情了.假设我们的服务已经开发完成 ...

  5. AI辅助教学,甚至AI教学,逐渐成为可能

    看新闻,有感: 太火爆!一门课,两个月吸粉十五万人!企业纷纷布局!千亿级大市场,来了?

  6. 【转载】 【报错】ImportError: cannot import name 'downsample' —— lasagne模块 调用 theano 报错

    原网址: https://blog.csdn.net/kz_java/article/details/125030733 ======================================= ...

  7. SMU Summer 2024 Contest Round 1

    SMU Summer 2024 Contest Round 1 Dice and Coin 题意 给个 n 面骰子和一枚硬币,初始投骰子,若骰子的值在 1 到 \(K-1\) 之间则反复投硬币,硬币为 ...

  8. nginx编译安装-麒麟v10Arm64

    环境信息 操作系统: Kylin Linux Advanced Server V10 (Lance) 架构:Arm keepalived版本:1.25.5 编译 安装依赖包 yum install g ...

  9. Windows 10 美化 Mac OSX 实用教程

    我前几天给新电脑装上了Windows 10系统,想要美化一下,遇到了很多问题,就出了这篇博客,帮大家踩踩坑. 在开始之前,先提醒大家一句: 美化有风险,玩机需谨慎.为以防万一,请大家在进行任何操作前创 ...

  10. Linux 上的 AppImage、Snap、Flatpak 之间的区别和联系

    AppImage.Snap 和 Flatpak 是三种用于在 Linux 系统上分发和安装软件的包管理格式.它们都有助于解决软件依赖问题,使得应用程序可以在不同的 Linux 发行版上更容易地安装和运 ...