Files
envi-code/SourceCode/Code2026/tg_shs/shs_kerncmd/OpeningValidation.h
T

40 lines
1.2 KiB
C++
Raw Normal View History

2026-10-04 00:04:20 +08:00
#ifndef __OPENINGVALIDATION_H
2026-09-28 15:28:50 +08:00
#define __OPENINGVALIDATION_H
#include "OpeningData.h"
2026-10-04 00:04:20 +08:00
//其他忽略
//门窗编号 个数 门窗类型 窗宽 窗高 二维样式 三维样式
2026-09-28 15:28:50 +08:00
#define OVF_KIND 0x01
#define OVF_WIDTH 0x02
#define OVF_HEIGHT 0x04
#define OVF_STYLE2D 0x08
#define OVF_STYLE3D 0x10
class TDbOpening;
class TOpeningValidation {
public:
XString m_sLabel;
int m_nFlag;
XString m_sKind;
TOpeningData::OpeningKind m_opKind;
double m_nWidth, m_nHeight;
XString m_sStyle2d, m_sStyle3d;
AcDbObjectIdArray m_idArray;
public:
TOpeningValidation();
void Validate(const TDbOpening *pOpening);
BOOL ValidateLabel(const TDbOpening *pOpening);
static int CompareForFindByCode(const TOpeningValidation *p1, const void *pv2);
static int TOpeningValidation::CompareForSort(const TOpeningValidation *p1, const TOpeningValidation *p2);
};
class TOpeningValidateTable: public DList<TOpeningValidation> {
public:
TOpeningValidateTable(){}
void Validate(const TDbOpening *pOpening);
BOOL ValidateLabel(const TDbOpening *pOpening);
void GetValidLabels(TOpeningData::OpeningKind opKind, XStringList &lstLabels) const;
};
#endif