- 博客(32)
- 收藏
- 关注
原创 vtkActor个数对渲染效率得影响
比如有个模型有1000条边,如果每个边用一个vtkActor显示,那么渲染窗口会卡顿,但是把1000条边当作一个vtkActor的数据进行显示则会顺畅。所以架构设计前一定要了解到位。不然现在项目就得大改了。经过测试发现,vtkActor的个数会严重影响效率。
2024-06-26 10:12:13
120
4
原创 gp_Trsf 移动了再复原问题
假设我有一个TopoDS_Shape,对它施加了一个gp_Trsf,再施加一个gp_Trsf的逆变换,那么会使它的IsEqual失效。
2024-04-25 15:14:24
107
原创 使用OCC进行旋转扫掠
旋转扫掠是将物体以某一个坐标轴为参照,按照指定的角度旋转生成新的图形的过程。这里使用面的案例,使用线的逻辑处理其实是一样的。
2024-03-14 10:03:11
421
原创 使用OCC进行镜像操作
gp_Ax2 以点和一个方向构造,这个方向会定义x轴和y轴,因为它总是等于x轴和y轴的叉乘。镜像操作需要一个三维坐标系作为镜子,然后以这个镜子来生成物体所对应的对象。将要介绍的例子,使用的是以 gp_Ax2为代表一个三维右手坐标系。还有另外一种方式,可以通过定义的平面来作为镜像的坐标轴,执行变换。需要注意的是,执行了镜像操作后,其实物体的拓扑结构是改变了的。
2024-03-13 09:50:28
371
原创 使用OCC进行阵列操作
环形阵列所需要的参数比较多,需要有旋转所围绕的轴,旋转的角度和旋转得到的数量。直线阵列:以一个在z轴正方向的直线向y轴方向阵列2个距离为5的对象。下图所示是将Z轴正方向的线,以x轴正方向旋转30°和60°所形成的。
2024-03-12 10:37:51
370
原创 使用OCC进行放样操作
比如我可以通过三条线来创建一个曲面,三个线的坐标如下所示。放样操作我的理解是将两个线进行缝合联通的操作。通过放样操作形成的曲面如上所示。
2024-03-11 09:57:56
397
原创 如何使用TopoDS_Wire构造TopoDS_Face
TopoDS_Wire在OCC中是边的集合,一个边集合能否构造成一个面,涉及到非常多的判断情况。
2024-03-06 09:58:37
660
原创 QLabel实时显示QSlider的值QSlider的滑动出现抖动
使用QSlider的valueChanged(int)信号连接了槽函数,使用QLabel实时显示QSlider的值,鼠标在拖动QSlider的时候会出现抖动现象。原因:QLabel是用于显示静态数据的,不是实时更新,需要参与Qt的事件循环机制。解决办法:使用QLineEdit代替,它使用setText是实时更新的。
2024-01-19 13:54:26
388
1
原创 error LNK2001: 无法解析的外部符号 “public: virtual struct QMetaObject const * __thiscall Widget::metaObject
右键类的头文件->属性->常规/项类型->选择Qt Meta-Object Compiler。
2023-12-28 11:28:01
793
1
原创 VS Release模式下编译报找不到Qt文件
在Debug模式下正常,Release模式下编译却会报找不到Qt文件。C/C++/常规/附加包含目录下,勾选从父级或项目默认继承,既可解决。
2023-12-14 11:50:12
457
1
原创 记录Expression: _CrtisvalidHeapPointer(block) 发生问题。
1.Release模式下有个模块是Debug或者Debug模式下有模块是Release。项目属性设置里面的C/C++/代码生成/里面的运行库选择同样要正确。2.重复delete一个new的对象。3.栈上分配的内存被delete。目前看来主要有三种可能。
2023-12-14 11:46:27
569
1
原创 stl的一些注意地方
容器是用来存储和组织其他对象的对象头文件内容vector表示一个必要时可自动增加容量的数组array数组容器优于vector<>的一个优点是,它可以完全在栈上分配,而vector<>总是需要访问堆deque增加了向容器开头添加元素的能力forward_list单向链表,以前向方式处理链表中的元素,就比List快mapmap<K,T>是关联容器,用关联键(类型为k...
2018-02-25 23:32:42
213
原创 有关类的一些注意点
类的默认访问属性是private给类添加成员函数不会影响类对象的大小class CBox { ..... CBox()=default; //default关键字指定,无参CBox构造函数应包含在类中,就是默认构造函数}在构造函数头初始化成员比使用赋值语句的效率高对于const或引用类型的类成员,其初始化方式是无法选择的,唯一的方式是...
2018-02-25 14:24:37
413
原创 程序小设计的问题
auto power(double x,int n)->double 函数的返回类型放在函数头中“->”后面,称为拖尾返回类型。数组是函数中唯一不能按值传递的类型虽然rvalue引用形参可以引用一个rvalue-即表达式的临时结果,但rvalue引用形参本身并不是一个rvalue,而是一个lvalue可以将函数定义成能够接受任意数量的实参,将省略号(3个句点)写在函数定义中形参列表的最...
2018-02-23 23:17:29
129
原创 判断,数组,字符串和指针知识点
数值比较是所有判断的本质toupper(),头文件ctype,将字母转换为大写的标准库函数在case中创建一个变量时,需要用大括号{}把case的部分括起来。在要执行的语句之前接连写出各个case标签,就可以为多种不同的case采取相同的动作如:case 'a':case 'e':case 'i':case 'o' :case 'u':cout<<"漂亮!”;myLabel:cout ...
2018-02-23 21:55:59
178
原创 数据,变量
main和_tmain取决于程序是否使用unicode,使用为_tmain注释的另一种形式是以/*和*/为界using std::cout;告诉编译器,只要使用名称cout,就表示std::cout1.125E2,其中小数部分与E(代表指数)后面指定的10的幂相乘。=1.125x10²常量结尾f指定它属于float型,如果没有f,这个常量就是double型。typedef关键字能够为现有的类型定义...
2018-02-22 12:44:23
256
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人