【vtkWidgetRepresentation】第五期 vtkLineRepresentation

很高兴在雪易的CSDN遇见你 

内容同步更新在公众号“VTK忠粉”

【vtkWidgetRepresentation】第五期 一条直线的交互


前言

本文分享vtkLineRepresentation,希望对各位小伙伴有所帮助!

感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步!

你的点赞就是我的动力(^U^)ノ~YO


目录

前言

1. vtkLineRepresentation介绍

2. vtkLineRepresentation关键参数

2.1 SetHandleRepresentation & InstantiateHandleRepresentation

2.2 获取控制点的属性

2.3  获取多边形数据

2.4 设置/计算交互状态

2.5 SetDirectionLine(bool)

2.6 SetRenderer设置渲染器

2.7 SetDistanceAnnotationVisibility设置距离标注是否可见

2.8 SetRestrictFlag设置直线是否沿X\Y\Z轴进行约束

3. 常用方法


1. vtkLineRepresentation介绍

        vtkLineRepresentation是Line的几何表示。由三个控制点进行调整Line,一个是控制直线Line的起点;一个控制直线Line的终点;一个控制直线Line的移动。使用时,只需指定两个端点的坐标(世界坐标系或显示坐标系)。PlaceWidget方法通常用于指定直线的初始位置。

2. vtkLineRepresentation关键参数

2.1 SetHandleRepresentation & InstantiateHandleRepresentation

        该接口用于指定直线三个控制点的vtkHandleRepresentation方式。故此可以将之前的vtkPointPlacer子类赋予三个控制点,从而实现约束指点的起始点和终止点的位置。

        通过GetPoint1Representation、GetPoint2Representation和GetLineHandleRepresentation分别获取三个控制点。

2.2 获取控制点的属性

        GetEndPointProperty获取控制点1的属性。

        GetSelectedEndPointProperty获取控制点1选中时的属性。

        GetEndPoint2Property获取控制点2的属性。

        GetSelectEndPoint2Property获取控制点2选中时的属性。

        GetLineProperty获取直线的属性。

        GetSelectLineProperty获取选中直线的属性。

        获取属性后,可以设置自己想要的属性。

2.3  获取多边形数据

        GetPolyData()获取直线的多边形数据。

2.4 设置/计算交互状态

        主要用于交互,Line的状态包括Outside(直线外)、OnP1(在控制点1上)、OnP2(在控制点2上)、TranslatingP1(移动控制点1)、TranslatingP2(移动控制点2)、OnLine(在直线上)、Sacling(缩放)。

2.5 SetDirectionLine(bool)

        Line还可以表示为带箭头的方向线,箭头位于控制点1。

2.6 SetRenderer设置渲染器

        SetRenderer之后,很多交互才能生效,使用vtkWidgetRepresentation及其子类时,必须要设置的参数。

2.7 SetDistanceAnnotationVisibility设置距离标注是否可见

2.8 SetRestrictFlag设置直线是否沿X\Y\Z轴进行约束

        通过设置控制点沿X\Y\Z轴变化来实现直线沿X\Y\Z轴的约束

void vtkLineRepresentation::SetRestrictFlag(int restrict_flag)
{VTK_LEGACY_BODY(vtkLineRepresentation::SetRestricFlag, "VTK 9");this->GetPoint1Representation()->SetTranslationAxis(restrict_flag - 1);this->GetPoint2Representation()->SetTranslationAxis(restrict_flag - 1);this->GetLineHandleRepresentation()->SetTranslationAxis(restrict_flag - 1);
}

3. 常用方法

        大家可以根据自己的实际需求,选择vtkLineRepresentation配合vtkLineWidget2进行使用。也可以根据自己的需求对vtkLineRepresentation进行不同状态的设置,实现较为复杂的交互。

感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步!

你的赞赏是我的最最最最大的动力(^U^)ノ~YO

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/256359.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ESP32-Web-Server编程-通过 Base64 编码在网页中插入图片

ESP32-Web-Server编程-通过 Base64 编码在网页中插入图片 概述 不同于上节 ESP32-Web-Server编程-在网页中通过 src 直接插入图片,本节引入 Base64 编码来显示图片。 Base64 是一种用64个字符来编码表示任意二进制数据的方法。任何符号都可以转换成 Base64 字符集…

HTTP、HTTPS、SSL协议以及报文讲解

目录 HTTP/HTTPS介绍 HTTP/HTTPS基本信息 HTTP请求与应答报文 HTTP请求报文 HTTP响应报文 SSL协议 SSL单向认证 SSL双向认证 HTTP连接建立与传输步骤 HTTP访问全过程相关报文(以访问www.download.cucdccom为例子) DNS报文解析 TCP三次握手连…

k8s中的Pod网络;Service网络;网络插件Calico

Pod网络;Service网络;网络插件Calico Pod网络 在K8S集群里,多个节点上的Pod相互通信,要通过网络插件来完成,比如Calico网络插件。 使用kubeadm初始化K8S集群时,有指定一个参数–pod-network-cidr10.18.0…

工作中真实的Rest-Assured教程,对标阿里java自动化测试

Rest-Assured 介绍 什么是 Rest-Assured ? Rest-Assured 是一套由 Java 实现的轻量级的 REST API 测试框架,可以直接编写代码向服务器端发起 HTTP 请求,并验证返回结果。 看看官方是怎么说的: Testing and validating REST se…

推荐一个可以记录历史进价的进销存软件?

“我是卖数码产品的,数码产品价格变动是比较大的,每次采购时候我都会多家对比价格,再决定在哪个厂家进货。所以基本上我每次进价价格都不一样,但是之前的询价情况又很难一一单独记录,让我采购的时候很被动。” “准备…

初始类与对象

初始类与对象 实验介绍 本课程是进一步对类与对象的深入认识,如何定义并实例化一个类,介绍如何使用 C 标准库 string 类等。 知识点 认识类与对象内联函数string 类类的定义与实例化 认识类与对象 官方定义 类:在面向对象编程中是一种…

【Spring 源码】 深入理解 Bean 定义之 BeanDefinition

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

添加新公司代码的配置步骤-Part1

原文地址:配置公司代码 概述 我们生活在一个充满活力的时代,公司经常买卖子公司。对于已经使用 SAP 的公司来说,增加收购就成为一个项目。我开发了一个电子表格,其中包含向您的结构添加新公司代码所需的所有配置更改。当然&…

SpringSecurity安全授权

目录 前言 正文 1.基本流程 2.基本用法 3.配置项 4.HttpSecurity 方式和内存认证方式 5.认证流程 6.基于数据库查询的登录验证 7.多种角色权限认证 8.自定义权限认证 总结 前言 安全对于任何系统来说都是非常重要的,权限的分配和管理一直都是开发者需…

Docker网络原理及Cgroup硬件资源占用控制

docker的网络模式 获取容器的进程号 docker inspect -f {{.State.Pid}} 容器id/容器名 docker初始状态下有三种默认的网络模式 ,bridg(桥接),host(主机),none(无网络设置&#xff…

Shell数组函数:数组——数组和循环(二)

for脚本快速定义数组 [rootlocalhost ~]# vim for12.sh #脚本编辑 #!/bin/bash for a in cat /etc/hosts do hosts[o]$a donefor i in ${!hosts[]} do echo "$i : ${hosts[$a]}" done[rootlocalhost ~]# vim for12.sh #执行脚本区别 :for的空格分割…

再识二叉树

1. 二叉树的存储 二叉树的存储结构分为:顺序存储和类似于链表的链式存储。 其中二叉树的链式存储是通过一个一个的节点引用起来的,常见的表示方式有二叉和三叉表示方式(这里本主主要讲的是链式存储),具体代码如下&…