10 v俊逸

尚未进行身份认证

我要认证

有点懒

等级
TA的排名 9w+

c++ 如何优雅的传递函数以及类成员函数

在一般的方法中,基本上传递函数都是通过传递函数指针的方式来实现。但是最近发现,频繁的传递函数、类成员函数不太是一个好的办法,所以在这里梳理一下常见的几种方法以及如何更方便的传递函数。如果是普通函数的话,一般这样#include <iostream>int add(int a, int b){ return a + b;}int main(){ int (*func) (int, int); func = add; std::cout << "func.

2020-10-21 14:52:05

QVTK 添加Sphere 设置SetRenderWindow

本想在Qvtk中添加一个图形,本想直接添加个图形进去就行了,但是我需要做一个鼠标交互事件,所以查阅资料之后发现需要使用到RenderWindow以及renderWindowInteractor来重新实现某些交互事件,所以我就将图形添加到actor中,然后actor加入到renderer中,最后使用QVTK的SetRenderWindow函数将其导向设置好的RenderWindow上,接下来正常显示。demo代码:#include "mainwindow.h"#include "ui_mainwi

2020-10-19 15:42:38

Qt捕捉窗口关闭事件

今天在Qt开发过程中遇到一个问题,本来我想在窗口关闭的时候将配置写入文件中,于是我将操作放入了默认的析构函数中,结果在窗口关闭之后,析构函数并不执行,所以我转而使用窗口关闭事件,来触发我想执行的操作。我写的类是继承自QWidget,class setting : public QWidget它所包含的默认的信号函数只有这几个:并没有我能用到的函数。从网上查找了一下,发现可以通过继承QWidget默认的虚函数closeEvent(QCloseEvent* event);来实现窗口关.

2020-10-09 10:35:14

Windows VTK-8.1 未能正确加载解决方案中的一个或多个项目

在上一篇文章中 使用如下的方案生成VTK的CMAKE文件时VTK_Group_Qt ONVTK_QT_VERSION 5 # by default 4Qt5_DIR D:/Qt/Qt5.9.9/5.9.9/msvc2017_64/lib/cmake/Qt5CMAKE_INSTALL_PREFIX C:/Program Files/VTK # by defaultBUILD_SHARED_LIBS ONCMAKE_CONFIGURATION_TYPES Release # ...

2020-09-27 11:15:33

PCL1.9.1 VTK8.1.0 vtkoutputWindow最全解决办法

使用Qt编译程序的时候,VTK一直弹窗如下:现有的解决方法:第一种方法在main文件之上添加如下代码:#include "QtGuiApplication5.h"#include <QtWidgets/QApplication>#include "vtkoutputwindow.h" //加入 int main(int argc, char *argv[]) {vtkOutputWindow::SetGlobalWarningDisplay(0); //加入

2020-09-25 10:38:28

PCD点云文件框选代码

背景:PCL + VTK项目地址:https://github.com/dezbracaty/PCD_Area_cut_tool后期添加其他功能maybe通过PVL_VISUALIZATION显示点云图像,然后通过按X进入框选模式,然后接受PCL::VISUALIZATION返回的点云索引,然后通过索引将所选择的点云文件导出。函数介绍:pcl::visualization::PCLVisualizer::Ptr viewer(new pcl::visualization::PC.

2020-09-24 09:56:59

Windows C++ 多线程程序 c++17

环境: VS2017#include <iostream> #include <thread> #include <mutex> #include <memory> #include <vector> #include <algorithm> constexpr auto newl = '\n'; const std::unique_ptr<std::mutex> cout_mutex_ptr...

2020-09-22 19:27:31

解决:Error: no override found for ‘vtkRenderWindow‘.

环境:系统 : Windows 10QT Creator : 4.11.1QT Designer: 5.14.2 MSVC 2017 x64PCL : 1.11.1VTK : 8.1.0MSVC : 2017 x64.报错信息:01:25:32: Starting D:\QtProjects\GUI_TOOLS\Release\releas...

2020-09-22 09:31:29

从零开始ROS编程-PCL点云库安装

系统环境:Ubuntu 18.04QT版本 : 5.9.9VTK : 8.1.0PCL : 1.9.1下载链接:https://github.com/PointCloudLibrary/pcl/archive/pcl-1.9.1.tar.gz安装依赖:sudo apt-get update\nsudo apt-get install git build-essential linux-libc-dev\nsudo apt-get insta...

2020-09-17 18:35:06

从零开始ROS编程-VTK安装

系统环境:Ubuntu 18.04QT版本 : 5.9.9VTK : 8.1.0下载链接:wget https://www.vtk.org/files/release/8.1/VTK-8.1.0.tar.gzwget https://www.vtk.org/files/release/8.1/VTKData-8.1.0.tar.gz依赖库安装:sudo apt install libqt5x11extras5sudo apt install libqt...

2020-09-17 16:59:40

从零开始ROS编程-QT安装

系统环境:Ubuntu 18.04Qt版本: 5.9.9下载链接:https://download.qt.io/official_releases/qt/5.9/5.9.9/删除预装软件:sudo apt-get purge qt5-default qtcreator sudo apt-get purge qt4-designer qt4-dev-tools安装依赖:sudo apt-get install build-essential libgl1-mesa-...

2020-09-17 15:57:54

Windows10下QT+VTK+PCL环境配置(一次成功)

环境内容:系统:Windows10QT:Qt5.9.9Pcl:1.9.1VTK:0.8.1VTKDATA:0.8.1Visual Studio:20171:安装VS2017直接安装2:安装Qt在安装qt时勾选安装qt的所有部件。安装完成后 进入VS2017在工具--扩展和更新--联机中搜索qt,安装qt visual studio tools .然后打开VS2017 这时最上面的工具栏会出现QTVSTOOLS,打开其中的QT options,选择add .

2020-09-14 10:46:40

c++11 std::threads创建多线程的三种方式

c++11 std::threads创建多线程的三种方式在C++11 标准中,添加了很多的新特性,当用户在创建多线程程序时,可以有更多的选择。创建线程的三种方式:1.) 函数指针2.) 函数类型3.) Lambda 函数1 函数指针void foo1(int param1, int param2, int& param3){ param3=param1+param2; std::cout<<"Method Function Pointer at.

2020-06-24 23:39:20

Cmake编译pthreads报错:undefined reference to pthread_create

当使用Cmake编译多线程程序时,需要手动添加pthread库,如果手动添加,就会报错:undefined reference to `pthread_create'出现这个问题的原因是在链接阶段,函数对应的库文件搜索不到,找不到这个函数的具体实现。解决方式就是在Cmake文件中添加对应的库。这里需要指定的是Threads库,参考代码cmake_minimum_required(VERSION 3.16)project(ThreeWay_MulthThreadDemo)f

2020-06-24 23:38:29

Ros编程-tf::getYaw返回-nan的解决办法

首先看一下函数的使用方式:static inline double getYaw(const geometry_msgs::Quaternion& msg_q){ Quaternion bt_q; quaternionMsgToTF(msg_q, bt_q); return getYaw(bt_q);}

2020-06-12 14:20:57

Ros编程-undefined reference to `octomath::Pose6D::Pose6D解决办法

背景:报错信息如下:CMakeFiles/odompcl.dir/src/odompcl_node.cpp.o: In function `main':/home/allen/catkin_ws/src/odompcl/src/odompcl_node.cpp:18: undefined reference to `octomath::Pose6D::Pose6D(float, float, float, double, double, double)'/home/allen/catkin_.

2020-06-05 16:03:58

PCL+QT+VTK完整开发环境搭建以及开发- QT安装

背景ubuntu 16.04通过ros-kinetic-desktop-full安装的PCL库开发有很多bug,所以改用稳定的QT5.7+VTK8.1+PCL1.8.1的组合。总览qt: 5.7.0 qmake: 3.0 based on Qt 5.7.0 qtcreator: 3.5.1 based on Qt 5.5.1清除已有的QTsudo apt-get purge qt5-default qtcreator sudo apt-get purge qt4-designer

2020-06-02 22:56:20

从零开始Ros编程-创建自己的包(packagge)

背景官网的教程链接:链接一个package最主要有三点:一个catkin可以使用的package.xml文件。这个文件主要提供包所需要的文件的信息。 一个CmakeList.txt文件,并且这个文件使用catkin。 每一个package都有各自独立的文件夹。在src目录下,创建一个my_package目录,这个目录的文件模式类似下方的模板,列出的文件是必须可少的文件,my_package目录下也可以根据后期项目需求自己添加其他目录甚至文件。比如,可以创建scripts目录,用于存放脚本文

2020-06-02 22:25:34

从零开始Ros编程-ros工作目录

在上文中提到的,Ros目录配置完成之后便可以正式进行Ros编程了。在开始正式编程之前先简单介绍一下ros工作目录下各个目录的作用。首先,ros下的目录文件如下:build和devel目录都是编译程序时系统自动生成的目录,其中编译好的可执行文件存放在devel/lib目录下。src目录存放用户自己的程序源码文件。...

2020-05-31 02:59:04

从零开始Ros编程-环境配置

一:安装完成Ros操作系统之后,需要配置环境,如果Shell是系统默认的Shell,则在/etc/bashrc中添加:source /opt/kinetic/setup.bash这一步执行之后,就可以直接在命令行中使用catkin工具等等各种Ros工具了,同时在编译程序时,如果你指定了要包括相关的Ros文件,这一步执行之后系统就能搜索到那些文件。二:创建工作目录在home目录下创建一个工作目录,广而用之的目录名称是catkin_ws,执行命令:mkdir -p ~/catkin..

2020-05-31 02:17:49

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取