XNSim/XNCore/XNModelObject_p.h
2025-04-28 12:25:20 +08:00

100 lines
1.6 KiB
C++
Executable File

/**
* @file XNModelObject_p.h
* @author jinchao
* @brief 模型基类私有头文件
* @version 1.0
* @date 2024-11-07
*
* @copyright Copyright (c) 2024 XN
*
*/
#pragma once
#include "XNObject_p.h"
#include <QLibrary>
#include <QFunctionPointer>
#include <QHash>
#include <fastdds/dds/publisher/DataWriter.hpp>
/**
* @brief 模型基类私有结构体
*/
class XNModelObjectPrivate : public XNObjectPrivate
{
public:
Q_DECLARE_PUBLIC(XNModelObject)
/**
* @brief 构造函数
* @param q 模型基类指针
*/
explicit XNModelObjectPrivate(XNModelObject *q) : XNObjectPrivate(q) {}
/**
* @brief 模型描述
*/
QString _sDescription;
/**
* @brief 模型作者
*/
QString _sAuthor;
/**
* @brief 模型配置文件路径
*/
QString _sXmlPath;
/**
* @brief 数据包模型动态库路径
*/
QString _sLibPath;
/**
* @brief 模型创建时间
*/
QDateTime _cCreatTime;
/**
* @brief 模型修改时间
*/
QDateTime _cChangeTime;
/**
* @brief 模型版本号
*/
QString _sVersion;
/**
* @brief 数据包模型动态库句柄
*/
QLibrary *_dynamicLib = nullptr;
/**
* @brief 发布者信息
*/
QHash<QString, FAST_DDS_MACRO::DataWriter *> _dataWriters;
/**
* @brief 模型运行时间
*/
timespec _lastRunTime;
/**
* @brief 模型运行次数
*/
quint64 _runCnt;
/**
* @brief 模型运行频率
*/
quint32 _runFreq;
/**
* @brief 模型运行节点
*/
quint32 _runNode;
/**
* @brief 模型运行优先级
*/
quint32 _runPriority;
/**
* @brief 模型设置频率
*/
double _setFreq;
};