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

90 lines
3.2 KiB
C++

#ifndef __DBASCENT_H
#define __DBASCENT_H
//#include "DbEntity.h"
class TDbHandRail;
#define AF_SLANT 0x01 //防滑条
#define AF_LEFT 0x02 //左平齐
#define AF_RIGHT 0x04 //右平齐
class TARCH_EXP TDbAscent: public TDbEntity {
DECLARE_TENTBASE();
ACRX_DECLARE_MEMBERS(TDbAscent);
private:
const static Adesk::UInt8 g_nVersion;
protected:
double m_nLength, m_nWidth, m_nHeight, m_nIdent;
XPoint m_ptLocation;
double m_nRotation; //WCS下的转角
Adesk::UInt8 m_nFlag;
TDbHandRail *m_pTempRail;
public:
TDbAscent();
~TDbAscent();
virtual BOOL IsValid() const;
virtual bool IsModelEntity() const{return true;}
virtual bool IsMeClip()const{return true;}//可能裁剪散水
virtual Acad::ErrorStatus GetClipBoundary(XPoly2D &poly)const;
virtual bool IsClipMe(const TEntityBase* pEnt=NULL)const;
virtual void CopyPropertiesFrom(AcDbEntity *pSrcEntity, unsigned gMatchFlag);
// 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 subGetGripPoints(AcGePoint3dArray& gripPoints,
AcDbIntArray& osnapModes,
AcDbIntArray& geomIds) const;
virtual Acad::ErrorStatus subGetStretchPoints(AcGePoint3dArray & stretchPoints) const;
virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d& xform);
virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbIntArray& indices,
const AcGeVector3d& offset);
virtual Acad::ErrorStatus subMoveStretchPointsAt(const AcDbIntArray& indices,
const AcGeVector3d& offset);
// drived from TDbEntity
virtual Acad::ErrorStatus ExplodeOrDraw3d(XExplodeDraw &dc) const;
virtual Acad::ErrorStatus ExplodeOrDraw2d(XExplodeDraw &dc) const;
virtual void GetTips(DList<TObjInfoUnit> &) const; //取动态属性显示数据
virtual Acad::ErrorStatus GetGripText(int i, CString &cs) const;
virtual const TCHAR *GetDefaultLayer() const;
virtual Acad::ErrorStatus GetExtents2d(XPoint &ptLow, XPoint &ptUp) const;
virtual Acad::ErrorStatus GetExtents(XPoint &ptLow, XPoint &ptUp) const;
XPoint GetLowLeft2d() const;
XPoint GetUpLeft2d() const;
XPoint GetUpRight2d() const;
XPoint GetLowRight2d() const;
double GetElevation() const;
double GetLength() const;
double GetHeight() const;
double GetWidth() const;
double GetIdent() const;
XPoint GetLocation() const;
double GetRotation() const;
BOOL HasSlant() const;
BOOL IsAligned(int nSide) const; //是否平齐
void SetElevation(double elev);
void SetLength(double l);
void SetHeight(double h);
void SetWidth(double w);
void SetIdent(double i);
void SetLocation(XPoint ptLoc);
void SetRotation(double rot);
void SetSlant(BOOL bTrue);
void SetAlignment(int nSide, BOOL bTrue);
void SetTempRail(TDbHandRail *pRail);
};
TARCH_IMPEXP int EditAscent0(AcDbObjectId id);
#endif