欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > Learning vtkjs之Cutter

Learning vtkjs之Cutter

2025/5/4 19:07:39 来源:https://blog.csdn.net/weixin_44204198/article/details/147630899  浏览:    关键词: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桥梁,聚合团队。

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词