| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- /**************************************************************************************************
- 版本所有(C), 2020-2022, 北京普达迪泰
- ***************************************************************************************************
- 文 件 名: StaticData.h
- 功能描述: 静态数据集合
- 版 本 号: 1.00初版
- 作 者: HYF
- 生成日期; 2021-12-20
- 最近修改:
- 函数列表:
- 修改历史:
- 1.日 期 :2021-12-20
- 作 者 : HYF
- 修改内容 : 创建文件
- **************************************************************************************************/
- #pragma once
- #include "pch.h"
- #include <afx.h>
- #include <afxtempl.h>
- class EquipDataAngle;
- class DictManager;
- class StaticData : public CObject
- {
- public:
- StaticData(DWORD iTaskId, LPCTSTR szEquipTypeCode, LPCTSTR szEquipCode);
- virtual ~StaticData();
- private:
- // 字典管理
- DictManager *m_pDictManager;
- // 任务ID
- DWORD m_iTaskId;
- // 设备型号
- CString m_szEquipTypeCode;
- // 设备编码
- CString m_szEquipCode;
- // 静态数据类别
- CDataList m_DataList;
- // 平面列表
- CPlaneList m_PlaneList;
- // 圆列表
- CCircleList m_CircleList;
- // 线列表
- CLineList m_LineList;
- // 点列表
- CPointList m_PointList;
- // 圆柱列表
- CCylinderList m_CylinderList;
- // 推力线偏角列表
- CAngleList m_AngleList;
- // 点残差列表
- CPointRelatedList m_PointRelatedList;
- public:
- // 设备型号
- void SetEquipTypeCode(LPCTSTR szEquipTypeCode) { m_szEquipTypeCode = szEquipTypeCode; }
- CString GetEquipPlace() const { return m_szEquipTypeCode; }
- // 设备编号
- void SetEquipCode(LPCTSTR szEquipCode) { m_szEquipCode = szEquipCode; }
- CString GetEquipCode() const { return m_szEquipCode; }
- public:
- // 从IDPMS文件加载数据
- BOOL LoadDataFromFile(LPCTSTR szFile);
- // 新增
- void AddEquipItemData(int iType);
- void AddEquipSubItemData(int iType, void *pData);
- // 解析点
- BOOL ParsePoint(CStdioFile *pfile);
- // 解析平面
- BOOL ParsePlane(CStdioFile *pfile, CString &szLine);
- // 解析圆
- BOOL ParseCircle(CStdioFile *pfile, CString &szLine);
-
- // 解析直线
- BOOL ParseLine(CStdioFile *pfile, CString &szLine);
- // 解析圆柱
- BOOL ParseCylinder(CStdioFile *pfile, CString &szLine);
- // 解析点残差
- BOOL ParsePointRelated(CStdioFile *pFile, int iType);
- BOOL ParsePlanePointRelated(CStdioFile *pFile);
- BOOL ParseCirclePointRelated(CStdioFile *pFile);
- BOOL ParseLinePointRelated(CStdioFile *pFile);
- BOOL ParseCylinderPointRelated(CStdioFile *pFile);
- // 计算平面度
- void CalcPointFlatness();
- //
- void CalcCircleRoundness();
- // 计算推力线偏角
- void GenerateAngle();
- void GenerateAngleText();
- void GenerateDoublePoint();
- void HandleAngle(LPCTSTR szCylinderCode, LPCTSTR szPointCode);
- void HandleAngleDoublePoint(LPCTSTR szPointCodeStart, LPCTSTR szPointCodeEnd);
- void CalcAngle(const DOUBLE x1, const DOUBLE y1, const DOUBLE z1, const DOUBLE x2, const DOUBLE y2, const DOUBLE z2);
- void CalcAngle(const CString count,const DOUBLE x1, const DOUBLE y1, const DOUBLE z1, const DOUBLE x2, const DOUBLE y2, const DOUBLE z2);
- // 新增推力线偏角
- void AddAngle(EquipDataAngle *pNewAngle);
- // 基于编号查询
- EquipDataPoint* SearchPointByCode(LPCTSTR szCode);
- BOOL IsEquipDataExist(int iType);
- // 调试打印
- void PrintData();
- void PrintEquipData(CStdioFile *pFile);
- void PrintPoint(CStdioFile *pFile);
- void PrintPlane(CStdioFile *pFile);
- void PrintCircle(CStdioFile *pFile);
- void PrintLine(CStdioFile *pFile);
- void PrintCylinder(CStdioFile *pFile);
- void PrintAngle(CStdioFile *pFile);
- void PrintPointRelated(CStdioFile *pFile);
- // 清除
- void Clear();
- //
- BOOL Validate(CString &szMsg);
- // 保存到数据库
- BOOL SaveToDB();
- int SaveEquipDataToDB();
- int SavePlaneToDB();
- int SaveCircleToDB();
- int SaveLineToDB();
- int SavePointToDB();
- int SaveCylinderToDB();
- int SaveAngleToDB();
- int SavePointRelatedToDB();
-
- // 输出配置文件
- int OutputConfig();
- int OutputDataToFile(const CString &szFileName, const CString &szPoints);
- };
|