首页 > 其他分享 >使用threejs创建一个长方体

使用threejs创建一个长方体

时间:2023-09-15 16:25:08浏览次数:40  
标签:threejs square 创建 color123 THREE item new 长方体 any

  // 创建设备 正方体
  // 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,square,创建,color123,THREE,item,new,长方体,any
From: https://www.cnblogs.com/zhulongxu/p/17705276.html

相关文章

  • 软件测试|深入解析Docker Run命令:创建和启动容器的完全指南
    简介Docker是一种流行的容器化平台,用于构建、分发和运行应用程序。其中一个最基本且重要的Docker命令是dockerrun,用于创建和启动容器。本文将详细解析dockerrun命令的用途、参数和示例,帮助您全面掌握创建和启动容器的过程。dockerrun在Docker中,容器是运行应用程序的独立环......
  • 9.HTML开发--在线投票:创建一个在线投票应用,允许用户投票给不同的选项。
    创建一个在线投票应用是一个有趣的项目,它可以让用户轻松地投票给不同的选项。以下是一个简单的HTML和CSS模板,你可以基于它创建你自己的在线投票应用:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-wid......
  • Python开发实例(二十)网站检测工具:创建一个测量网站的工具,检查页面加载时间等指标
    在这个实例中,我们将创建一个简单的网站检测工具,使用Python的requests库来测量网站,包括页面加载时间等指标。首先,请确保你已经安装了requests库。如果没有安装,可以通过以下命令来安装:pipinstallrequests下面是一个网站检测工具的Python程序:importrequestsimporttimedefmeasu......
  • 操作:视频直播点播平台EasyDSS如何创建用户?
    视频推拉流EasyDSS视频直播点播平台,集视频直播、点播、转码、管理、录像、检索、时移回看等功能于一体,可提供音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务。由于旭帆科技的EasyDSS平台支持新建用户,但新建时用户需与角色下的资源绑定,因此不能直接添加用户,......
  • 如何在linux的环境中,创建swap内存?
    背景说明 swap内存是系统中的临时内存,或者说,用磁盘的文件空间,当做物理内存来使用。主要是,为了解决一些系统,物理内存不够的情况,可以用swap内存作为一些补充。但是要注意,swap内存的效率是非常的低的,如果应用对内存有足够的需求,可以考虑增加物理内存来提升性能。通过下面的内容......
  • JavaWeb专栏之(三):Eclipse创建JavaWeb项目
    JavaWeb专栏之(三):Eclipse创建JavaWeb项目前言:关注:《遇见小Du说》微信公众号,分享更多Java知识,不负每一次相遇。更多内容请访问:www.dushunchang.top在上一篇文章中,小Du猿带大家使用Idea创建JavaWeb项目,相比之下Idea作为当前非常主流的开发IDE,深受Java后端程序员使用。市面上约......
  • 通过实例学习鸿蒙动态库的创建与使用
    【本文正在参加2023「盲盒」+码有奖征文活动】,活动链接https://ost.51cto.com/posts/25284简要介绍动态共享包HSP(HarmonySharedPackage),是为了实现在不同HAP之间代码和资源的共享,HAR中的代码和资源跟随使用方编译,但HSP中的代码和资源可以独立编译,运行时在一个进程中,代码也只......
  • openGauss学习笔记-69 openGauss 数据库管理-创建和管理普通表-更新表中数据
    openGauss学习笔记-69openGauss数据库管理-创建和管理普通表-更新表中数据修改已经存储在数据库中数据的行为叫做更新。用户可以更新单独一行、所有行或者指定的部分行。还可以独立更新某个字段,而其他字段则不受影响。使用UPDATE命令更新现有行,需要提供以下三种信息:表的名称......
  • HBase学习5(HBase java编程:创建项目,创建删除表,数据增删改查)
    1.准备工作1.1创建IDEAMaven项目其中名字为hbase_op,groupid为cn.itcast然后导入pom依赖<repositories><!--代码库--><repository><id>aliyun</id><url>http://maven.aliyun.com/nexus/content/groups/public/</url>&l......
  • IDEA 22.2.3 创建web项目及Tomcat部署与服务器初始界面修改(保姆版)
    开始前请确认自己的Tomcat、JDK已经安装配置完毕不同版本的IDEA创建配置流程可能不同,演示中的IDEA版本号为22.2.3本教程创作时间为2023/09/141.创建项目通过下图路径进入创建界面,项目名称、路径、JDK都选择完毕后点击Create创建2.创建web目录右键单击目录名呼出二级菜单......