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

opencascade AIS_InteractiveContext源码学习1

AIS_InteractiveContext

前言

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

每个可选择的对象必须指定负责整体选择对象的选择模式(全局选择模式)。交互上下文本身支持使用选择过滤器进行分解对象的选择。默认情况下,全局选择模式等于0,但如果需要,可以重新定义。

方法:object display management 对象显示管理

1:AIS_InteractiveContext()

AIS_InteractiveContext::AIS_InteractiveContext (const Handle< V3d_Viewer > & MainViewer)

构造由主视图器 MainViewer 定义的交互上下文对象。

###:2:~AIS_InteractiveContext()

virtual AIS_InteractiveContext::~AIS_InteractiveContext ()

虚析构函数。

3:DisplayStatus()

PrsMgr_DisplayStatus AIS_InteractiveContext::DisplayStatus (const Handle< AIS_InteractiveObject > & anIobj) const

返回实体 anIobj 的显示状态。显示状态可以是以下几种之一:

  • AIS_DS_Displayed:在主视图器中显示。
  • AIS_DS_Erased:在主视图器中隐藏。
  • AIS_DS_Temporary:临时显示。
  • AIS_DS_None:未显示在任何地方。

4:Status()

void AIS_InteractiveContext::Status (const Handle< AIS_InteractiveObject > & anObj, TCollection_ExtendedString & astatus) const

返回交互对象 anObj 在交互上下文中的视图状态。

这意味着该方法将获取指定交互对象在当前上下文中的状态,并将状态信息存储在 astatus 参数中。

5:IsDisplayed() [1/2]

Standard_Boolean AIS_InteractiveContext::IsDisplayed (const Handle< AIS_InteractiveObject > & anIobj) const

如果对象在交互上下文中显示,返回 true

6:IsDisplayed() [2/2]

Standard_Boolean AIS_InteractiveContext::IsDisplayed (const Handle< AIS_InteractiveObject > & anIobj, const Standard_Integer aMode) const

如果对象在交互上下文中以特定模式显示,返回 true

7:SetAutoActivateSelection()

void AIS_InteractiveContext::SetAutoActivateSelection (const Standard_Boolean theIsAuto) inline

启用或禁用在显示对象时自动激活默认选择模式。

8:GetAutoActivateSelection()

Standard_Boolean AIS_InteractiveContext::GetAutoActivateSelection () const inline

管理是否在显示新对象时自动激活默认选择模式;默认值为 TRUE。

9:Display() 方法翻译
9.1:Display() [1/3]

void AIS_InteractiveContext::Display (const Handle<AIS_InteractiveObject>& theIObj, const Standard_Boolean theToUpdateViewer)

使用默认显示模式在此上下文中显示对象。这将是对象的默认显示模式(如果有的话)。否则,将使用上下文模式。如果 GetAutoActivateSelection() 为 TRUE,则激活交互对象的默认选择模式。通常情况下,这是 0。

9.2:Display() [2/3]

void AIS_InteractiveContext::Display (const Handle<AIS_InteractiveObject>& theIObj, const Standard_Integer theDispMode, const Standard_Integer theSelectionMode, const Standard_Boolean theToUpdateViewer, const PrsMgr_DisplayStatus theDispStatus = PrsMgr_DisplayStatus_None)

设置指定对象的状态、显示模式和选择模式。如果 theSelectionMode 等于 -1,theIObj 将不会被激活:它将被显示,但不会是可选择的。

9.3:Display() [3/3]

void AIS_InteractiveContext::Display (const Handle<AIS_InteractiveObject>& theIObj, const Standard_Integer theDispMode, const Standard_Integer theSelectionMode, const Standard_Boolean theToUpdateViewer, const Standard_Boolean theToAllowDecomposition, const PrsMgr_DisplayStatus theDispStatus = PrsMgr_DisplayStatus_None)

inline
已弃用:
使用过时参数 theToAllowDecompositionDisplay() 方法已弃用。

10:Load() 方法翻译
10.1:Load() [1/2]

void AIS_InteractiveContext::Load (const Handle<AIS_InteractiveObject>& theObj, const Standard_Integer theSelectionMode = -1)

允许使用给定的选择模式和/或所需的分解选项加载交互对象,无论对象是否可视化。加载的对象将是可选择的,但仅在被选择器检测到时才以高亮显示。

10.2:Load() [2/2]

void AIS_InteractiveContext::Load (const Handle<AIS_InteractiveObject>& theObj, Standard_Integer theSelectionMode, Standard_Boolean)

inline
已弃用:
使用过时参数 theToAllowDecompositionLoad() 方法已弃用。

11:Erase()
  • 功能: 隐藏对象。
  • 参数:
    • theIObj:要隐藏的对象。
    • theToUpdateViewer:是否更新视图以反映更改。
  • 描述: 对象的表示仅标记为不可见,因此将被排除在重绘之外。要显示隐藏的对象,请使用 Display() 方法。
12:EraseAll()
  • 功能: 隐藏所有对象。
  • 参数:
    • theToUpdateViewer:是否更新视图以反映更改。
  • 描述: 对象的表示仅标记为不可见,因此将被排除在重绘之外。要显示所有隐藏的对象,请使用 DisplayAll() 方法。
13:DisplayAll()
  • 功能: 显示所有隐藏的对象。
  • 参数:
    • theToUpdateViewer:是否更新视图以反映更改。
  • 描述: 该方法用于显示所有之前隐藏的对象,使它们再次可见。
14:EraseSelected()
  • 功能: 隐藏选定的对象。
  • 参数:
    • theToUpdateViewer:是否更新视图以反映更改。
  • 描述: 该方法用于隐藏选定的对象,使其不再可见。对象的显示状态将被标记为隐藏,因此在重绘时将被排除。要显示隐藏的对象,请使用 Display() 方法。
15:DisplaySelected()
  • 功能: 显示当前选定的对象。
  • 参数: theToUpdateViewer:是否更新视图以反映更改。
  • 描述: 该方法用于显示当前选定的对象,使其可见。如果对象已被隐藏,则会显示出来。
16:ClearPrs

清空由 theMode 索引的模式的图形呈现。注意!会移除 theIObj。如果 theIObj 之前被激活,它仍然是激活状态。

17:Remove

从每个视图中移除对象。

18:RemoveAll

从上下文中移除所有对象

19:Redisplay

重载1: 重新计算给定类型和给定签名的已显示对象的 Prs/选择。如果签名 = -1,则不考虑签名标准。

20:Redisplay

重载2: 重新计算对象的可见部分的呈现。如果 theAllModes 为 true,即使是不可见的,所有呈现也都存在于对象中。

21:RecomputePrsOnly

重新计算已显示的呈现,并标记其他呈现。但不更新这些呈现。

22: RecomputeSelectionOnly

重新计算活动选择,并标记其他选择。但不更新这些呈现。

23:Update

通过检查和重新计算标记为“需要重新计算”的呈现和选择结构来更新显示的交互对象。此方法不会强制任何重新计算。该方法即使在特定选择器中加载而未激活,也会重新计算选择。

highlighting management

24:Update
HighlightStyle() [1/4]
inline const Handle< Prs3d_Drawer >& AIS_InteractiveContext::HighlightStyle() const

返回当前动态突出显示样式设置,对应于 Prs3d_TypeOfHighlight_Dynamic。这只是一个指向 HighlightStyle(Prs3d_TypeOfHighlight_Dynamic) 的快捷方式。

HighlightStyle() [2/4]
Standard_Boolean AIS_InteractiveContext::HighlightStyle(const Handle< AIS_InteractiveObject >& theObj, Handle< Prs3d_Drawer >& theStyle) const

如果对象标记为通过全局状态进行突出显示,则返回对象的突出显示样式。
参数

  • theObj [in] 要检查的对象
HighlightStyle() [3/4]
Standard_Boolean AIS_InteractiveContext::HighlightStyle(const Handle< SelectMgr_EntityOwner >& theOwner, Handle< Prs3d_Drawer >& theStyle) const

如果选择了所有者,则返回所有者的突出显示样式。
参数

  • theOwner [in] 要检查的所有者
HighlightStyle() [4/4]
inline const Handle< Prs3d_Drawer >& AIS_InteractiveContext::HighlightStyle(const Prs3d_TypeOfHighlight theStyleType) const

返回默认的突出显示样式设置(可以被 PrsMgr_PresentableObject 覆盖)。

提示:尽管突出显示样式由 Prs3d_Drawer 定义,但在大多数情况下,实际上只会使用从其基类 Graphic3d_PresentationAttributes 派生的一小组属性。

所有类型的默认突出显示样式为 Aspect_TOHM_COLOR。其他默认值:

  • Prs3d_TypeOfHighlight_Dynamic
    • 颜色:Quantity_NOC_CYAN1;
    • 图层:Graphic3d_ZLayerId_Top,对象突出显示绘制在立即层内的主场景顶部,因此 V3d_View::RedrawImmediate() 将足以看到更新;
  • Prs3d_TypeOfHighlight_LocalDynamic
    • 颜色:Quantity_NOC_CYAN1;
    • 图层:Graphic3d_ZLayerId_Topmost,对象部分突出显示绘制在立即层内的主场景顶部,并清除深度(即使重叠的几何体也将被显示);
  • Prs3d_TypeOfHighlight_Selected
    • 颜色:Quantity_NOC_GRAY80;
    • 图层:Graphic3d_ZLayerId_UNKNOWN,对象突出显示绘制在与对象本身相同的层内(例如,默认情况下为 Graphic3d_ZLayerId_Default)并增加了优先级。

参数

  • [in] theStyleType 要修改的突出显示样式
    返回
    与指定突出显示类型相关联的绘图器

另请参阅

  • 使用 Prs3d_TypeOfHighlight_Dynamic 和 Prs3d_TypeOfHighlight_LocalDynamic 类型的 MoveTo()
  • 使用 Prs3d_TypeOfHighlight_Selected 和 Prs3d_TypeOfHighlight_LocalSelected 类型的 SelectDetected()
  • PrsMgr_PresentableObject::DynamicHilightAttributes() 在对象级别上覆盖 Prs3d_TypeOfHighlight_Dynamic 和 Prs3d_TypeOfHighlight_LocalDynamic 的默认值
  • PrsMgr_PresentableObject::HilightAttributes() 在对象级别上覆盖 Prs3d_TypeOfHighlight_Selected 和 Prs3d_TypeOfHighlight_LocalSelected 的默认值
25:SetHighlightStyle() [1/2]

设置与 Prs3d_TypeOfHighlight_Selected 对应的动态突出显示样式。这只是一个指向 SetHighlightStyle(Prs3d_TypeOfHighlight_Dynamic, theStyle) 的快捷方式。

SetHighlightStyle() [2/2]

设置突出显示样式设置。提示:最好修改由方法 HighlightStyle() 返回的现有样式,而不是创建新的 Prs3d_Drawer,以避免由于错误配置而导致意外结果。

如果创建了新的突出显示样式,请务必检查其演示 Z 层,否则突出显示可能无法按预期工作。

26:SelectionStyle

返回当前选择样式设置,对应于 Prs3d_TypeOfHighlight_Selected。这只是一个指向 HighlightStyle(Prs3d_TypeOfHighlight_Selected) 的快捷方式。

27:SetSelectionStyle

设置选择突出显示的样式。这只是一个指向 SetHighlightStyle(Prs3d_TypeOfHighlight_Selected, theStyle) 的快捷方式。

28:HilightWithColor

更改视图中对象的所有线条的颜色。

29:Unhilight

从对象中移除突出显示。

30:DisplayPriority

返回对象的显示优先级。

31:SetDisplayPriority

重载1:设置对象可见部分呈现的显示优先级。
重载2:(“从 OCCT7.7 开始已弃用,应该传递 Graphic3d_DisplayPriority 而不是整数到 SetDisplayPriority() 函数”)

32:GetZLayer

获取设置为显示的交互对象的 Z 层 ID。

33:SetZLayer

为交互对象设置 Z 层 ID。Z 层可以用于在场景中的其他对象前临时显示某个对象的呈现。Z 层的 ID 由 V3d_Viewer 生成。

34:SetViewAffinity

设置在指定视图中的对象可见性。如果对象在此上下文中未显示,则没有效果。

Display Mode management

35:DisplayMode

返回默认使用的显示模式设置。

36:SetDisplayMode

重载1:设置可见交互对象的显示模式。theMode 提供实体 theIObj 的显示模式索引。
重载2:设置可见交互对象(没有重写显示模式的对象)的显示模式。

37:UnsetDisplayMode

取消设置可见交互对象的显示模式。

object local transformation management

38:SetLocation

将位置放在对象的初始图形表示和选择上。

39:ResetLocation

将对象放回其初始位置。

40:HasLocation

如果对象有位置,则返回 true。

41:Location

返回对象的位置。

42:SetTransformPersistence

设置变换持久性。

mouse picking logic (detection and dynamic highlighting of entities under cursor)鼠标选择逻辑(检测和动态突出显示光标下的实体)。

43:SetPixelTolerance

设置 MoveTo() 操作的像素容差。

44:PixelTolerance

返回像素容差,默认为 2。像素容差扩展了 MoveTo() 操作中的灵敏度(通过点拾取),可以根据用户输入精度(例如屏幕像素密度、输入设备精度等)由应用程序进行调整。

45:SetSelectionSensitivity

允许管理交互对象 theObject 的特定选择的灵敏度,并将选择中以 theMode 为前提的所有敏感实体的先前灵敏度值更改为给定的 theNewSensitivity。

46:LastActiveView

返回上一个活动视图(MoveTo()/Select() 方法的参数)。

47:MoveTo

重载1:将轴 theAxis 传递给交互上下文选择器。这是由视图 theView 通过将该轴传递给主观察者并更新来完成的。如果将 ToRedrawOnUpdate 设置为 false,则被调用者应该调用 RedrawImmediate() 来突出显示检测到的对象。
重载2:突出显示检测到的对象。如果将 ToRedrawOnUpdate 设置为 false,则被调用者应该调用 RedrawImmediate() 来更新视图。
重载3:将以像素为单位的鼠标位置 theXPix 和 theYPix 转发给交互上下文选择器。这是通过视图 theView 将该位置传递给主观察者并更新来完成的。如果将 ToRedrawOnUpdate 设置为 false,则被调用者应该调用 RedrawImmediate() 来突出显示检测到的对象。

另请参阅

  • PickingStrategy()
  • HighlightStyle() 定义检测到的所有者的默认动态突出显示样式(Prs3d_TypeOfHighlight_Dynamic 和 Prs3d_TypeOfHighlight_LocalDynamic)
  • PrsMgr_PresentableObject::DynamicHilightAttributes() 定义检测到的所有者的每个对象动态突出显示样式(覆盖默认值)
48:ClearDetected

清除由 MoveTo() 检测到的实体列表,并重置动态突出显示。

参数

  • theToRedrawImmediate:如果为 TRUE,则主 Viewer 将在更新时重绘

返回值

  • 如果视图需要更新(例如,实际上存在动态突出显示的实体),则返回 TRUE
49:HasDetected

如果上下文中有鼠标检测到的实体,则返回 true。

另请参阅

  • DetectedOwner()
  • HasNextDetected()
  • HilightPreviousDetected()
  • HilightNextDetected()
50:DetectedOwner

返回当前动态突出显示的检测到的敏感原始物的所有者。警告!此方法与 InitDetected()/MoreDetected()/NextDetected() 无关。

另请参阅

  • HasDetected()
  • HasNextDetected()
  • HilightPreviousDetected()
  • HilightNextDetected()
51:DetectedInteractive

返回上下文中最后检测到的交互对象。通常,这只是 DetectedOwner()->Selectable() 的 Handle(AIS_InteractiveObject)::DownCast() 包装。

另请参阅

  • DetectedOwner()
52:HasDetectedShape

如果本地上下文中存在检测到的形状,则返回 true。

另请参阅

  • HasDetected()
  • DetectedShape()

已弃用:
(“本地上下文已弃用 - 应该使用无本地上下文的本地选择”)

53:DetectedShape

返回本地上下文中检测到的形状。

另请参阅

  • DetectedOwner()

已弃用:
(“本地上下文已弃用 - 应该使用无本地上下文的本地选择”)

54:HasNextDetected

如果在上次鼠标检测中检测到了其他实体,则返回 True。

另请参阅

  • HilightPreviousDetected()
  • HilightNextDetected()
56:HilightNextDetected

如果选择器检测到多个对象,则只有“最佳”所有者会在鼠标位置突出显示。该方法允许用户依次突出显示其他检测到的实体。如果调用 select 方法,则所选实体将成为突出显示的实体!警告:循环方法。当所有检测到的实体都已突出显示时,下一次调用将再次突出显示第一个实体。

返回值:
突出显示实体的排名

另请参阅:

  • HasNextDetected()
  • HilightPreviousDetected()
57:HilightPreviousDetected

与前面的方法相同,但是在相反的方向上。

另请参阅:

  • HasNextDetected()
  • HilightNextDetected()

iteration through detected entities 迭代检测到的实体

58:InitDetected

初始化迭代器,以便在交互上下文中或本地上下文中(如果已打开)迭代鼠标检测到的对象。

另请参阅:

  • DetectedCurrentOwner()
  • MoreDetected()
  • NextDetected()
60:MoreDetected

如果在迭代鼠标检测到的交互对象期间,当前对象之后还有更多鼠标检测到的对象,则返回 TRUE。

另请参阅:

  • DetectedCurrentOwner()
  • InitDetected()
  • NextDetected()
61:NextDetected

在迭代鼠标检测到的交互对象期间获取下一个当前对象。

另请参阅:

  • DetectedCurrentOwner()
  • InitDetected()
  • MoreDetected()
62:DetectedCurrentOwner

返回由当前迭代器位置指向的检测到列表中的所有者。警告!此方法与 DetectedOwner() 无关,后者返回最后选择的所有者,而不管迭代器位置如何!

另请参阅:

  • InitDetected()
  • MoreDetected()
  • NextDetected()

Selection management

续看篇章2

相关文章:

opencascade AIS_InteractiveContext源码学习1

AIS_InteractiveContext 前言 交互上下文&#xff08;Interactive Context&#xff09;允许您在一个或多个视图器中管理交互对象的图形行为和选择。类方法使这一操作非常透明。需要记住的是&#xff0c;对于已经被交互上下文识别的交互对象&#xff0c;必须使用上下文方法进行…...

TIA博途 WinCC下载到面板时,提示错误消息:“装载过程终止由于传输错误:8020AB001A06FFF4!”的解决办法

TIA博途 WinCC下载到面板时,提示错误消息:“装载过程终止由于传输错误:8020AB001A06FFF4!”的解决办法 这个错误信息是由于缺少设备镜像无法下载到操作面板而导致的。 当使用 TIA V15.1 Update 4 和 Update 5 组态 TP1000F Mobile 时,请遵守特别注意事项。 问题 在编译一个…...

【MySQL】聊聊数据库是如何保证数据不丢的

对于一个存储系统来说&#xff0c;其中比较关键的核心组件包含&#xff0c;网络、存储模型、持久化、数据结构等。而数据如何保证不丢失&#xff0c;对于不同的存储系统来说&#xff0c;比如Redis采用AOF和RDB的方式进行混合使用&#xff0c;而MySQL采用日志进行保证。也就是re…...

GitLab教程(四):分支(branch)和合并(merge)

文章目录 1.分支&#xff08;branch&#xff09;&#xff08;1&#xff09;分支的概念&#xff08;2&#xff09;branch命令 2.合并&#xff08;merge&#xff09;&#xff08;1&#xff09;三个命令pullfetchmergegit fetchgit mergegit pull &#xff08;2&#xff09;合并冲…...

2021数学建模A题目–“FAST”主动反射面的形状调节

A 题——“FAST”主动反射面的形状调节 思路&#xff1a;该题主要是通过利用伸缩杆调整FAST反射面&#xff0c;给出合适的调整方案 程序获取 第一题问题思路与结果&#xff1a; 当待观测天体S位于基准球面正上方&#xff0c;结合考虑反射面板调节因素&#xff0c;确定理想抛物…...

华为---- RIP路由协议基本配置

08、RIP 8.1 RIP路由协议基本配置 8.1.1 原理概述 RIP(Routing Information Protocol,路由协议)作为最早的距离矢量IP路由协议&#xff0c;也是最先得到广泛使用的一种路由协议&#xff0c;采用了Bellman-Ford算法&#xff0c;其最大的特点就是配置简单。 RIP协议要求网络中…...

Android studio在Ubuntu桌面上 创建桌面图标,以及导航栏图标

Android studio在Ubuntu桌面上 创建桌面图标&#xff0c;以及导航栏图标 1. 下载Android studio for Lunux 免安装版本之后&#xff0c;解压 2. 通过控制台运行 ~/Documents/android-studio-2024.1.1.2-linux/android-studio/bin$ ./studio.sh 3. 选择菜单&#xff0c;Tools…...

JAVA云HIS医院管理系统源码 云HIS系统的应用场景

JAVA云HIS医院管理系统源码 云HIS系统的应用场景 云HIS是针对中小医疗健康机构推出的一套基于云端的诊所云HIS服务平台&#xff0c;包括内部管理系统、临床辅助决策系统、体检系统、客户管理与服务系统、健康管理系统、知识管理系统、医患沟通系统、线上营销系统、其他外部系…...

Handler机制

目录 一、简介二、相关概念解释2.1 Message&#xff08;消息&#xff09;2.2 Handler&#xff08;处理器&#xff09;2.2.1 Handler的构造方法2.2.2 Handler sendMessage&#xff08;&#xff09;相关的方法2.2.3 Handler dispatchMessage&#xff08;&#xff09;方法 2.3 Mes…...

鸿蒙实现金刚区效果

前言&#xff1a; DevEco Studio版本&#xff1a;4.0.0.600 所谓“金刚区"是位于APP功能入口的导航区域&#xff0c;通常以“图标文字”的宫格导航的形式出现。之所以叫“金刚区”&#xff0c;是因为该区域会随着业务目标的改变&#xff0c;展示不同的功能图标&#xff…...

Ubuntu 查看设备温度

要在Ubuntu中查看设备的温度&#xff0c;可以使用一些命令行工具来获取系统硬件的温度信息。下面列出了几种常用的方法&#xff1a; 方法 1: 使用 sensors 命令 sensors 命令用于读取和显示系统中的传感器数据&#xff0c;包括CPU温度和其他硬件传感器的信息。首先需要安装 l…...

大型网站优化指南:打造流畅的在线体验

大型网站 大型网站是指具有高并发、大流量、高可用性、海量数据处理能力&#xff0c;并能提供7*24小时不间断服务的网站。 这些网站通常面临用户分布广泛、网络情况复杂、安全环境恶劣等挑战。 同时需要快速适应市场变化和用户需求&#xff0c;通过渐进式的发展策略运营成大型…...

Redis变慢了?

Redis变慢了&#xff1f; 什么是Redis&#xff1f;测定Redis变慢&#xff1f;最大响应延迟平均响应延迟设置Redis慢日志 分析Redis变慢bigkeysbigkey的危害bigkey优化 写在最后 什么是Redis&#xff1f; 作为一个技术人员来说&#xff0c;大家用的最多的可能就是Redis了&#…...

11.6.k8s实战-节点扩缩容

目录 一&#xff0c;需求描述 二、集群缩容-节点下线 1&#xff0c;节点下线案例说明 2&#xff0c;查看现有节点 3&#xff0c;查看所有名称空间下的pod ​编辑4&#xff0c;驱逐下线节点的pod 5&#xff0c;驱逐后再次查看pod 6&#xff0c;驱逐pod后再次查看节点信息…...

相亲交友APP系统|婚恋交友社交软件|语音聊天平台定制开发

在现代社会&#xff0c;婚恋交友已经成为了人们日常生活中的一项重要任务。为了方便用户进行相亲交友活动&#xff0c;各种相亲交友APP系统和婚恋交友社交软件应运而生。本文将介绍相亲交友APP系统、婚恋交友社交软件的开发以及语音聊天平台的定制开发的相关知识和指导。 一、…...

2005-2022年款福特福克斯维修手册和电路图线路图接线图资料更新

经过整理&#xff0c;2005-2022年款福特福克斯全系列已经更新至汽修帮手资料库内&#xff0c;覆盖市面上99%车型&#xff0c;包括维修手册、电路图、新车特征、车身钣金维修数据、全车拆装、扭力、发动机大修、发动机正时、保养、电路图、针脚定义、模块传感器、保险丝盒图解对…...

nodejs爬取小红书图片

昨天的文章已经描述了可以抓取评论区内容&#xff0c; 抓取图片内容和抓取评论区的内容基本一致 我们可以看到接口信息中含有图片链接&#xff0c;我们要做的就是爬取图片链接然后下载 这边要用到的模块为const downloadrequire(download) 将爬到的图片链接存放到images数组…...

MySQL从5.7升级到8.0步骤及其问题

MySQL从5.7升级到8.0步骤及其问题 前言 本文源自微博客&#xff0c;且以获得授权&#xff0c;请尊重版权。 一、需求背景 Docker环境下&#xff0c;MySQL5.7升级到8.0&#xff0c;数据迁移时使用的是mysqldump方式迁移。 二、迁移步骤 数据备份&#xff1a; docker exec -i 1…...

中年帕金森:守护健康,从容面对生活挑战

在快节奏的现代生活中&#xff0c;中年人群面临着越来越多的健康挑战。其中&#xff0c;帕金森病作为一种常见的神经系统疾病&#xff0c;逐渐引起了人们的关注。帕金森病不仅影响患者的身体健康&#xff0c;还对其日常生活造成极大的困扰。那么&#xff0c;我们该如何应对中年…...

oracle块跟踪

1.查询块跟踪 select status,filename,bytes from v$block_change_tracking;2.打开块跟踪 ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE /home/oracle/block_change_tracking.log;3.关闭块跟踪 ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;4.解释 Oracle数据…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

Chrome 浏览器前端与客户端双向通信实战

Chrome 前端&#xff08;即页面 JS / Web UI&#xff09;与客户端&#xff08;C 后端&#xff09;的交互机制&#xff0c;是 Chromium 架构中非常核心的一环。下面我将按常见场景&#xff0c;从通道、流程、技术栈几个角度做一套完整的分析&#xff0c;特别适合你这种在分析和改…...

Vue ③-生命周期 || 脚手架

生命周期 思考&#xff1a;什么时候可以发送初始化渲染请求&#xff1f;&#xff08;越早越好&#xff09; 什么时候可以开始操作dom&#xff1f;&#xff08;至少dom得渲染出来&#xff09; Vue生命周期&#xff1a; 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...

QT开发技术【ffmpeg + QAudioOutput】音乐播放器

一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下&#xff0c;音视频内容犹如璀璨繁星&#xff0c;点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频&#xff0c;到在线课堂中知识渊博的专家授课&#xff0c;再到影视平台上扣人心弦的高清大片&#xff0c;音…...