Files
envi-code/SourceCode/Code2026/tg_shs/inc/geo/TPickEntSet.h
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

157 lines
3.5 KiB
C++

//-------------------------------------------------------------------------------------------------------+
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
// = FileName : TPickEntSet 类
// = Version : ver2.0
// = Author : wlw
// = CreateDate : 2002-09-09
// = Description: TPickEntSet 声明
// = Maintainers:
//
//-------------------------------------------------------------------------------------------------------+
#ifndef _TPICKENTSET_H_
#define _TPICKENTSET_H_
#ifndef _TRBLIST_H_
#include "TRBList.h"
#endif
#ifndef _TENTITYSET_H_
#include "TEntitySet.h"
#endif
#ifndef _TADSGEPOINT3D_H_
#include "TADSGePoint3d.h"
#endif
class TADSGePoint3d;
class GEOAPI TPickEntSet
{
friend GEOAPI TPickEntSet operator + (const TPickEntSet &, const TPickEntSet &);
friend GEOAPI TPickEntSet operator - (const TPickEntSet &, const TPickEntSet &);
friend GEOAPI TPickEntSet operator * (const TPickEntSet &, const TPickEntSet &);
public:
TPickEntSet(int createMode = 0);
TPickEntSet(const ads_name n);
TPickEntSet(const TPickEntSet & n);
virtual ~TPickEntSet();
virtual int Move(const TADSGePoint3d &src, TADSGePoint3d &res) const;
virtual int Rotate(const TADSGePoint3d &src, ads_real *res = NULL) const;
virtual int Scale(const TADSGePoint3d &src, ads_real *res = NULL) const;
operator TLong_ptr *();
int operator !() const;
int operator += (const AcDbObjectId &);
int operator -= (const AcDbObjectId &);
int operator += (const TEntitySet &);
int operator -= (const TEntitySet &);
int operator += (const TPickEntSet &);
int operator -= (const TPickEntSet &);
TPickEntSet & operator = (const ads_name n);
TPickEntSet & operator = (const TPickEntSet &n);
TEntitySet operator [](long index) const;
int MakeUnnamedGroup();
int Get(LPCTSTR commandString = NULL, void *pt1 = NULL, const ads_point pt2 = NULL);
int Get(LPCTSTR commandString, void *pt1, const ads_point pt2, const TRBList & entmask);
int Get(LPCTSTR commandString, void *pt1, const ads_point pt2, const resbuf * entmask);
int Transform(ads_matrix genmat) const;
int XTransform(ads_matrix mat) const;
int GetExtend(ads_point lowPt, ads_point upPt) const;
int GetExtend(ads_point cen, ads_real *x, ads_real *y, ads_real *z = NULL) const;
void Get(TADSGePoint3d ptUcs,const resbuf* entmask = NULL);
void GetPreSel(const resbuf* entmask = NULL);
void AsIdArray(AcDbObjectIdArray &idArray);
void Free();
long Length() const;
// New Tools
bool IsInclude(TEntitySet ent)const;
void IncludeBegin();
void IncludeEnd();
int MakeAnonymous(const TADSGePoint3d &base, TCHAR *blk = NULL, int mkInstance = 1) const;
void Redraw(int mode = 1) const;
void RedrawAll(int mode = 1) const;
void Delete() const;
int Erase() const;
void Bind(const TEntitySet& key);
void ExFilter(const TRBList &exList);
void ExTagFilter(const int *tagList, int sz);
//留下满足baseList的实体
void BaseFilter(const TRBList &baseList);
//排除掉满足baseList的实体
void BaseExclude(const TRBList &baseList);
int RemoveXData() const;
public:
ads_name name;
TEntitySet mark;
unsigned char flag;
};
typedef TPickEntSet SelectionSet;
class GEOAPI TRemoveDupEntByLayer
{
public:
TRemoveDupEntByLayer(const TCHAR * pszLayer);
virtual ~TRemoveDupEntByLayer();
static int CompareForFindByLayer(const TRemoveDupEntByLayer *p1, const void *p2);
public:
TCString m_sLayer;
TPickEntSet m_ss;
};
#endif