首页 > 其他分享 >threejs避免重复创建CSS2DObject

threejs避免重复创建CSS2DObject

时间:2025-01-21 17:44:04浏览次数:1  
标签:threejs const CSS2DObject 创建 divDom pointLabel css2DObjects item preDiv

代码如下:

const css2DObjects = [];

const createLabelObj = (idText,) => {
    let div = document.getElementById(idText);

    for (var i = 0; i < css2DObjects.length; i++) {
        const preDiv = css2DObjects[i].element;
        if (preDiv.id === idText) {
            // 如果已存在,则先移除
            const divDom = css2Renderer.domElement;
            if (divDom && divDom.contains(preDiv)) {
                divDom.removeChild(preDiv)
            }
        }
    }

    // 给标签设置坐标位置
    let pointLabel = new CSS2DObject(div);
    css2DObjects.push({ element: div, object: pointLabel });
    return pointLabel;
}

export const addTags = (item) => {
    const item = model.getObjectByName(i.id)
    const tag = createLabelObj(i.id)
    item && item.add(tag)
}

标签:threejs,const,CSS2DObject,创建,divDom,pointLabel,css2DObjects,item,preDiv
From: https://www.cnblogs.com/ZerlinM/p/18683920

相关文章

  • 深入理解视图的创建与删除:数据库管理中的高级功能
    title:深入理解视图的创建与删除:数据库管理中的高级功能date:2025/1/21updated:2025/1/21author:cmdragonexcerpt:在现代数据库管理系统中,视图是一个重要的高级功能,可以为用户提供定制化的数据视图以满足特定需求。视图不仅能够简化复杂的查询,还能增强数据安全性和访......
  • STM32学习笔记-创建工程模版
    1、通过Keil创建新项目。2、在创建的项目文件夹下分别建立Strat、Library、User文件夹。3、在Start文件夹中放入以下固件库中的文件。启动文件:\固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm外设文件:\固件库\ST......
  • Pod的创建流程
    执行流程执行命令连接APIServer:用户执行命令(例如创建RC资源),系统会加载位于$HOME/.kube/config的证书文件来验证与APIServer的连接。假设用户正在创建一个副本数量为5的ReplicationController(RC)。此时,Pod状态为Pending,说明Pod尚未调度到集群中的节点。APISer......
  • 1. Calcite元数据创建
    1.简介Calcite是一款来自Apache的开源动态数据管理框架,核心功能是提供SQL查询解析、优化及执行等基础能力,以灵活支持多种数据源,广泛应用于各类数据处理系统。以下从其功能特性、应用场景、优势三方面简单概述:功能特性SQL解析:支持多种SQL方言,如标准SQL以及不同数据......
  • 震撼!借助模版或 AI,轻松快速创建自己的智能体,智能体的多种创建方式
    1、通过模板搭建智能体模板是扣子平台中公开配置的智能体、工作流、图像流等资源。可以复制一份和模板配置完全一样的智能体,然后把复制的智能体改造为更适合自己的应用。操作也非常简单,大家和涛涛老师一起看下吧。1.1 单击此处访问扣子模板库。1.2注意区分模版的类型和是......
  • 如何在织梦网站中创建和管理分站?(织梦网站分站创建与管理教程)
     织梦(DedeCMS)是一个广泛使用的开源内容管理系统,支持多站点功能。对于需要扩展业务范围的企业来说,创建和管理分站是非常重要的。本文将详细介绍如何在织梦网站中创建和管理分站。答案:要在织梦网站中创建和管理分站,请按照以下步骤操作:准备主站环境:确保主站已经安装并配置好织梦......
  • 如何在Windows下创建 .htaccess 文件?
    常见问题文件名输入:Windows系统要求新建文件时必须输入文件名,直接创建 .htaccess 文件会提示错误。文件类型选择:需要正确选择文件类型和编码,以确保文件正确保存。解决方法方法一:通过文本文件创建 .htaccess 文件新建一个文本文件:在Windows资源管理器中,右键点击空白......
  • MySQL 创建数据库问题:You have an error in your SQL syntax(MySQL 数据库命名规则问题
    问题描述与处理策略1、问题描述CREATEDATABASEmy-shop-db;执行上述SQL语句,报如下错误CREATEDATABASEmy-shop-db>1064-YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtouse......
  • Windows环境下xmake安装配置,创建编译运行项目
     Windows环境下xmake安装配置,创建编译运行项目视频地址:https://www.bilibili.com/video/BV1NHwqe3Ewn/?spm_id_from=333.1387.homepage.video_card.click&vd_source=7c7ae5cc1dbb2453e1eb43950a4264a31、访问xmake网站,根据安装环境选择对应安装方法(1)访问网站:https://xmake.i......
  • 前端必知必会-Node.js连接MongoDB 创建集合
    文章目录Node.js连接MongoDB创建集合创建集合总结Node.js连接MongoDB创建集合MongoDB中的集合与MySQL中的表相同创建集合要在MongoDB中创建集合,请使用createCollection()方法:示例获取您自己的Node.js服务器创建一个名为“customers”的集合:varMon......