当前位置: 首页 > ai >正文

Learning vtkjs之Cutter

平面裁切轮廓提取

介绍

针对一个平面,生成一个轮廓线

效果

在这里插入图片描述

核心代码

更新平面

const updatePlaneFunction = () => {const { plane, renderWindow } = context.current;plane.setOrigin(state.originX, state.originY, state.originZ);plane.setNormal(state.normalX, state.normalY, state.normalZ);renderWindow.render();};

主要流程

	const fullScreenRenderer = vtkFullScreenRenderWindow.newInstance({background: [0, 0, 0],rootContainer: vtkContainerRef.current,});const renderer = fullScreenRenderer.getRenderer();const renderWindow = fullScreenRenderer.getRenderWindow();const plane = vtkPlane.newInstance();const cutter = vtkCutter.newInstance();cutter.setCutFunction(plane);const cutMapper = vtkMapper.newInstance();cutMapper.setInputConnection(cutter.getOutputPort());const cutActor = vtkActor.newInstance();cutActor.setMapper(cutMapper);const cutProperty = cutActor.getProperty();cutProperty.setRepresentation(vtkProperty.Representation.WIREFRAME);cutProperty.setLighting(false);cutProperty.setColor(0, 0, 1);renderer.addActor(cutActor);const cubeMapper = vtkMapper.newInstance();cubeMapper.setScalarVisibility(false);const cubeActor = vtkActor.newInstance();cubeActor.setMapper(cubeMapper);const cubeProperty = cubeActor.getProperty();cubeProperty.setRepresentation(vtkProperty.Representation.WIREFRAME);cubeProperty.setLighting(false);cubeProperty.setOpacity(0.1);renderer.addActor(cubeActor);context.current = {plane,cutter,cubeMapper,renderer,renderWindow,};GetModel();

全部代码都放到github上了
新坑_Learning vtkjs_git地址
关注我,我持续更新vtkjs的example学习案例

也欢迎各位给我提意见,技术交流~

大鸿

WeChat : HugeYen
WeChat Public Account : BIM树洞

做一个静谧的树洞君

用建筑的语言描述IT事物;

用IT的思维解决建筑问题;

共建BIM桥梁,聚合团队。

本学习分享资料不得用于商业用途,仅做学习交流!!如有侵权立即删除!!

http://www.xdnf.cn/news/3635.html

相关文章:

  • 有向图强连通分量好题分享(一)
  • 【深度学习的灵魂】图片布局生成模型LayoutPrompt(2)·布局序列化模块
  • 如何通过文理工三类AI助理赋能HI,从而,颠覆“隔行如隔山”的旧观念和“十万小时定律”的成长限制
  • 快速掌握--cursor
  • 深入解析 Stacking:集成学习的“超级英雄联盟
  • 排查 EF 保存数据时提示:Validation failed for one or more entities 的问题
  • 以梦为舟,共赴中医星辰大海
  • 【Mytais系列】Type模块:源码
  • MySQL快速入门篇---数据库约束
  • 【计算机视觉】三维重建: MVSNet:基于深度学习的多视图立体视觉重建框架
  • 驱动精灵v9.7(含网卡版)驱动工具软件下载及安装教程
  • 360驱动大师v2.0(含网卡版)驱动工具软件下载及安装教程
  • The Traitor King (10 player 25 player)
  • 【网络编程】HTTP(超文本传输协议)详解
  • 文献总结:TPAMI端到端自动驾驶综述——End-to-End Autonomous Driving: Challenges and Frontiers
  • 《解锁Windows下GCC升级密码,开启高效编程新旅程》
  • 游戏引擎学习第255天:构建配置树
  • 【AI面试准备】Testim.io自动化测试工具使用指南
  • C++ 友元:打破封装的钥匙
  • 【Linux】线程控制
  • 【PINN】DeepXDE学习训练营(12)——operator-antiderivative_aligned_pideeponet.py
  • 0902Redux_状态管理-react-仿低代码平台项目
  • Go小技巧易错点100例(二十八)
  • LeetCode240. 搜索二维矩阵 II(巧妙转换)
  • 【AI论文】DeepCritic:使用大型语言模型进行有意识的批判
  • Vscode+git笔记
  • 【Bootstrap V4系列】学习入门教程之 组件-徽章(Badge)和面包屑导航(Breadcrumb)
  • 【Java Lambda表达式详解】
  • 学习黑客色即是空
  • 第3章 Python 3 基础语法001