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
|