首页 > 编程语言 >opencascade AIS_InteractiveContext源码学习7 debug visualization

opencascade AIS_InteractiveContext源码学习7 debug visualization

时间:2024-07-02 20:55:32浏览次数:29  
标签:visualization InteractiveContext 对象 AIS Standard 源码 偏移 设置 交互

AIS_InteractiveContext

在这里插入图片描述

前言

交互上下文(Interactive Context)允许您在一个或多个视图器中管理交互对象的图形行为和选择。类方法使这一操作非常透明。需要记住的是,对于已经被交互上下文识别的交互对象,必须使用上下文方法进行修改。如果交互对象尚未加载到交互上下文中,您才能直接调用交互对象的方法。

debug visualization “调试可视化”

1:DisplayActiveSensitive
重载1

“返回特定类型(WhichKind)和签名(WhichSignature)的显示对象列表。默认情况下,WhichSignature 等于 -1,这意味着只检查类型。”

重载2

“给出特定类型和签名的显示对象列表。默认情况下, = -1 表示仅控制 。”

2:ClearActiveSensitive

“清晰呈现敏感信息。”

common object display attributes

common object display attributes 常见的对象显示属性
1:SetLocalAttributes

“设置交互对象的图形属性,例如可视化模式、颜色和材质。”

2:UnsetLocalAttributes

“移除对象的局部属性设置并恢复默认设置。”

3:SetCurrentFacingModel

修改当前的面向模型,应用于 SetColor()、SetTransparency()、SetMaterial() 方法。默认的面向模型是 Aspect_TOFM_TWO_SIDE,这意味着属性同时应用于正面和背面。

4:HasColor

如果交互对象的视图具有颜色,则返回 true。

5:Color

在交互上下文中返回对象的颜色。

6:SetColor

Sets the color of the selected entity.

7:UnsetColor

移除所选实体的颜色选择。

8: Width

在交互上下文中返回交互对象的宽度。

9:SetWidth

在交互上下文中设置交互对象的宽度。

10:UnsetWidth

移除对象的宽度设置。

11:SetMaterial

设置材质

12:UnsetMaterial

取消材质

13:SetTransparency

设置透明度

14:UnsetTransparency

取消透明度

15:SetPolygonOffsets

为给定的 AIS_InteractiveObject 设置多边形偏移。它简单地调用 AIS_InteractiveObject::SetPolygonOffsets()。

16:HasPolygonOffsets

简单调用 AIS_InteractiveObject::HasPolygonOffsets()。

17:PolygonOffsets

检索对象的当前多边形偏移设置。

简单示例

以下是示例,展示如何在 OpenCascade 中设置和管理对象的常见显示属性:

设置对象颜色:
// 创建 AIS_InteractiveObject 对象,这里假设已经创建或获取了该对象
Handle<AIS_InteractiveObject> interactiveObject = ...;

// 设置颜色
Quantity_Color color(Quantity_NOC_RED); // 选择红色
myAISContext->SetColor(interactiveObject, color, Standard_True); // 设置对象颜色并更新视图
设置对象透明度:
// 创建 AIS_InteractiveObject 对象
Handle<AIS_InteractiveObject> interactiveObject = ...;

// 设置透明度值(范围从 0.0 到 1.0,0.0 表示不透明,1.0 表示完全透明)
Standard_Real transparencyValue = 0.5; // 设置为半透明
myAISContext->SetTransparency(interactiveObject, transparencyValue, Standard_True); // 设置对象透明度并更新视图
设置对象材质:
// 创建 AIS_InteractiveObject 对象
Handle<AIS_InteractiveObject> interactiveObject = ...;

// 设置材质
Graphic3d_MaterialAspect material(Graphic3d_NOM_BRASS); // 选择黄铜材质
myAISContext->SetMaterial(interactiveObject, material, Standard_True); // 设置对象材质并更新视图
设置多边形偏移:
// 创建 AIS_InteractiveObject 对象
Handle<AIS_InteractiveObject> interactiveObject = ...;

// 设置多边形偏移参数
Standard_Integer mode = 1; // 设置偏移模式
Standard_ShortReal factor = 0.1; // 设置偏移因子
Standard_ShortReal units = 0.1; // 设置偏移单位

myAISContext->SetPolygonOffsets(interactiveObject, mode, factor, units, Standard_True); // 设置多边形偏移并更新视图
检查对象是否具有多边形偏移:
// 创建 AIS_InteractiveObject 对象
Handle<AIS_InteractiveObject> interactiveObject = ...;

// 检查对象是否具有多边形偏移
Standard_Boolean hasOffsets = myAISContext->HasPolygonOffsets(interactiveObject);

这些示例演示了如何使用 OpenCascade 中的 AIS_InteractiveContext 类来设置和管理对象的颜色、透明度、材质和多边形偏移等显示属性。在实际应用中,可以根据具体需求选择合适的属性和参数进行设置,并通过 Standard_True 参数确保更新视图以反映更改。
来源:网址
继续trihedron display attributes

标签:visualization,InteractiveContext,对象,AIS,Standard,源码,偏移,设置,交互
From: https://blog.csdn.net/weixin_45751713/article/details/140135928

相关文章

  • LLaMA-Factory/scripts/length_cdf.py 源码解析
    这段代码定义了一个函数 length_cdf,用来计算和打印数据集样本长度的累积分布函数(CDF),并在脚本直接运行时通过 fire 库将该函数暴露为命令行接口。我们逐行解释这段代码:python复制fromllmtuner.dataimportget_datasetfromllmtuner.hparamsimportget_train_argsfrom......
  • 基于web实现的物业管理系统项目(运行视频+源码+数据库+部署文档)
    项目描述文档1.项目概述本项目旨在开发一个综合性物业管理系统,涵盖了保安保洁管理、保修管理、房产信息管理、公告管理、管理员信息管理、业主信息管理和登录管理等多个功能模块。该系统使用了JSP作为前端页面的开发技术,结合Bootstrap和jQuery进行页面设计和交互,后端则使用J......
  • SpringBoot在线软考考试管理系统(报告+源码+数据库)
    系统功能        基于SpringBoot框架的在线考试系统是一个集用户管理、权限控制[4]、试题管理、在线考试、成绩管理等功能于一体的综合性系统。该系统在构建时充分考虑了现代Web应用的最佳实践,采用了前后端分离架构,使得前端与后端能够各自独立开发、部署和扩展,通过......
  • 短视频矩阵/系统搭建/源码(HYT0606006)
    短视频矩阵的搭建通常涉及到内容管理系统(CMS)的集成、视频上传和管理功能、推荐算法、用户互动以及数据分析等多个组件。以下是构建短视频矩阵系统的一般步骤:需求分析:明确平台的目标用户、内容类型、功能需求,如社交分享、评论、点赞等。技术选型:选择后端框架(如Node.js、Pyth......
  • 基于SpringBoot+Vue邮件过滤系统设计和实现(源码+LW+调试文档+讲解等)
    ......
  • Meta平台新纪元 Facebook机器人源码/部署实战教程
    随着Meta平台的不断升级,Facebook机器人成为了连接品牌与用户的新桥梁。本文将为您提供一份详尽的Facebook机器人源码及部署实战教程,助您在新纪元中抢占先机,实现精准营销。一、了解Meta平台与Facebook机器人首先,深入了解Meta平台的最新动态及Facebook机器人的应用场景。明确机......
  • 从零到一 Instagram自动运营脚本源码搭建/配置详解
    对于希望在Instagram上实现高效自动运营的用户而言,搭建一套个性化脚本至关重要。本文将从源码层面出发,详解如何从零到一构建并配置Instagram自动运营脚本。一、项目规划明确自动化目标:如提升曝光、增加粉丝、维护用户关系等。设计脚本框架:包括登录模块、任务调度模块、执行模......
  • TG智能客服机器人开发指南/自动化客户服务机器人源码构建手册
    一、引言在数字化时代,提供高效、快速的客户服务是企业赢得客户满意度和忠诚度的关键。TG智能客服机器人作为一种新型的客户服务工具,能够24小时不间断地为客户提供服务,极大地提升了客户服务的效率和质量。本文将为您提供一份详尽的TG智能客服机器人开发指南和自动化客户服务机......
  • 频道管理新高度 YouTube自动化脚本源码/部署指南
    提升YouTube频道管理效率,自动化脚本是关键。本指南将带您深入了解YouTube自动化脚本的源码结构与部署流程,助您实现频道管理的新高度。一、源码结构解析核心模块:登录认证、视频处理、评论管理、订阅者互动等。辅助模块:日志记录、错误处理、定时任务等。二、环境准备与依赖安......
  • 飞书集成机器人搭建实战/多平台整合机器人源码部署流程
    一、引言在当今数字化办公时代,多平台整合成为提高工作效率的关键。飞书集成机器人能够打通不同平台之间的壁垒,实现信息的快速流通和协同办公。本文将带您实战搭建飞书集成机器人,并详细介绍多平台整合机器人的源码部署流程。二、集成需求分析在开始搭建之前,我们需要明确集成......