90 lines
3.2 KiB
C++
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 |