Files
envi-code/SourceCode/Code2026/tg_shs/inc/TArch/DbPolyPathArray.h
T
2026-09-28 15:28:50 +08:00

82 lines
3.0 KiB
C++

#ifndef __DB_POLYPATHARRAY_H
#define __DB_POLYPATHARRAY_H
//#include "DbPolyCurveEnt.h"
#define RF_EQUALSCALE 0x01//使用Y向比例
#define RF_AUTOEXPAND 0x02//等比时有效
#define RF_RIGHTBASE 0x04
#define RF_MIDBASE 0x08
#define RF_REVERSE 0x10
//路径排列(线图案)
class TARCH_EXP TDbPolyPathArray: public TDbPolyCurveEnt
{
DECLARE_TENTBASE();
ACRX_DECLARE_MEMBERS(TDbPolyPathArray);
private:
const static Adesk::UInt8 g_nVersion;
protected:
AcDbHardPointerId m_idUnit; //自定义扶手
double m_nUnitHeight;//单元高
double m_nRatio;//填充比例
Adesk::UInt8 m_nRailFlag; //单元对齐方式
public:
TDbPolyPathArray();
virtual BOOL IsValid() const;
virtual bool IsModelEntity() const{return true;}
virtual void CopyPropertiesFrom(AcDbEntity *pSrcEntity, unsigned gMatchFlag);
virtual int GetFirstVersion()const{return 7;}//ok
// Overriden function from AcDbEntity
virtual Acad::ErrorStatus subGetClassID(CLSID* pClsid) const;
virtual Acad::ErrorStatus dwgInFields (AcDbDwgFiler*);
virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler*) const;
virtual Acad::ErrorStatus dxfInFields (AcDbDxfFiler*);
virtual Acad::ErrorStatus dxfOutFields(AcDbDxfFiler*) const;
virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d&mat);//ok
virtual Acad::ErrorStatus subGetOsnapPoints(
AcDb::OsnapMode osnapMode,
INT_PTR gsSelectionMark,
const AcGePoint3d& pickPoint,
const AcGePoint3d& lastPoint,
const AcGeMatrix3d& viewXform,
AcGePoint3dArray& snapPoints,
AcDbIntArray& geomIds) const;
virtual Acad::ErrorStatus subGetOsnapPoints(
AcDb::OsnapMode osnapMode,
INT_PTR gsSelectionMark,
const AcGePoint3d& pickPoint,
const AcGePoint3d& lastPoint,
const AcGeMatrix3d& viewXform,
AcGePoint3dArray& snapPoints,
AcDbIntArray& geomIds,
const AcGeMatrix3d& insertionMat) const;
// drived from TDbEntity
virtual DrawType GetDrawType() const;
virtual const TCHAR *GetDefaultLayer() const;
virtual Acad::ErrorStatus ExplodeOrDraw2d(XExplodeDraw &dc) const;
virtual void GetTips(DList<TObjInfoUnit> &) const; //取动态属性显示数据
double GetUnitWidth() const;
double GetUnitHeight()const;
double GetRatio()const;
double GetScaleY()const;
BOOL IsAutoExpand() const;
BOOL IsEqualScale()const;
BOOL IsReversed()const;
int GetBaseType()const;
AcDbObjectId GetUnitId() const;
void SetBaseType(int type=0);//0,左,1,右,2,中
void SetUnitHeight(double h);
void SetRatio(double r);
void SetUnitId(AcDbObjectId id);
void SetAutoExpand(BOOL bTrue);
void SetEqualScale(BOOL bTrue);
void Reverse();
};
#endif