#ifndef __OPENINGVALIDATION_H #define __OPENINGVALIDATION_H #include "OpeningData.h" //其他忽略 //门窗编号 个数 门窗类型 窗宽 窗高 二维样式 三维样式 #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 { public: TOpeningValidateTable(){} void Validate(const TDbOpening *pOpening); BOOL ValidateLabel(const TDbOpening *pOpening); void GetValidLabels(TOpeningData::OpeningKind opKind, XStringList &lstLabels) const; }; #endif