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"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值