#pragma once #if defined(VZ_API_LIBRARY) # define VZ_APISHARED_EXPORT __declspec(dllexport) #else # define VZ_APISHARED_EXPORT __declspec(dllimport) #endif #include #include "SG_baseDataType.h" typedef struct { bool validFlag; //指示结果是否有效 double x; double y; double z; }SSG_3AxisAttitude; class ISGFireBrick { public: ISGFireBrick() = default; virtual ~ISGFireBrick() = default; virtual const char* GetVersion() = 0; virtual void sgSegHistScale(double) = 0; virtual void sgCalibCamPose() = 0; virtual void sgSetPoseSortingMode(ESG_poseSortingMode mode) = 0; virtual ESG_poseSortingMode sgGetPoseSortingMode() = 0; virtual void sgScanLineProc(SVzNL3DLaserLine* a_line, double* camPoseR, int* errCode) = 0; virtual void sgGetBrickPose(SVzNL3DLaserLine* scanData, int nLines, std::vector& brickPoses, int* errCode) = 0; virtual void sgSortBrickPoses(std::vector& brickPoses, ESG_poseSortingMode sortingMode) = 0; }; VZ_APISHARED_EXPORT bool SGCreateFireBrick(double dHistScale, ISGFireBrick** ppFireBrick);