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

C++:结构体变量可以被多个cpp文件共同使用

问题描述:点云过滤部分的参数写成一个QT界面进行调整参数,那么就需要保持界面参数和函数里面参数的一致性,由于参数众多,我使用结构体进行构造,但是在使用extern方法时候出现问题,无法保持一致性。

解决代码:有两个文件-头文件filiter.h-cpp文件filiter.cpp

step1:filiter.h:注意这里只是声明。

typedef struct{
    //范围过滤
    double XMin;
    double XMax;
    double YMin;
    double YMax;
    double ZMin;
    double ZMax;

    //体素降采样
    float voxel_X;
    float voxel_Y;
    float voxel_Z;
    //随机降采样
    int random_Sample;
    int random_Seed;
    //半径去噪
    double radius;
    int radius_points;
    //统计去噪
    int radius_MeanK;
    double radius_StddevMulThres;
}filiter_para;

定义外部变量

extern filiter_para para;

filiter.cpp

定义全局变量

filiter_para para;

赋初始值

filiter::filiter()
{
    //范围过滤
    para.XMin=0.0;
    para.XMax=1.0;
    para.YMin=0.0;
    para.YMax=1.0;
    para.ZMin=0.0;
    para.ZMax=1.0;

    //体素降采样
    para.voxel_X=0.01;
    para.voxel_Y=0.01;
    para.voxel_Z=0.01;
    //随机降采样
    para.random_Sample=20000;
    para.random_Seed=1;
    //半径去噪
    para.radius=0.5;
    para.radius_points=3;
    //统计去噪
    para.radius_MeanK=50;
    para.radius_StddevMulThres=1.0;
}

需要使用para的文件加上头文件

#include "filiter.h"

http://www.kler.cn/a/287842.html

相关文章:

  • 关于强化学习的一份介绍
  • 在Ubuntu22.04上源码构建ROS noetic环境
  • 微信小程序 https://thirdwx.qlogo.cn 不在以下 downloadFile 合法域名列表中
  • 创建vue+electron项目流程
  • DVWA靶场通关——SQL Injection篇
  • Unity类银河战士恶魔城学习总结(P127 Stat ToolTip属性提示)
  • 大数据系统测试——大数据系统解析(上)
  • 秒级日期空间如何查询整天数据而不是截止到00:00:00到23:59:59?
  • Fabric.js中fabric.Image的深入解析
  • 深入理解Redis(一)----Redis简介+Redis为什么这么快
  • 从中国制造到全球领先,星坤连接器的全球化之路
  • huggingface.co 无法访问问题换源解决
  • Idea中修改Jsp文件的头部注释模版
  • 【LabVIEW学习篇(补充) - 15】:常用快捷键和Quick Drop
  • 版本控制工具git
  • Redis在linux环境集群部署详细介绍
  • 【数据结构】-----哈希
  • 科研绘图系列:R语言富集通路棒棒图(lollipop plot)
  • springboot中根据id查询用户信息
  • 家居设备的多彩世界,乐鑫ESP32芯片模组方案彩屏技术应用,启明云端乐鑫代理商
  • 大文件分块上传和续传
  • LLC电路全桥和半桥工作原理详解
  • 《深入浅出WPF》读书笔记.10资源
  • 鸿蒙开发 ImageKnife二次封装
  • 数据结构(邓俊辉)学习笔记】串 07——KMP算法:分摊分析
  • 【python因果推断库2】使用 PyMC 模型进行差分-in-差分(Difference in Differences, DID)分析