#pragma once #include "tdbcurveentity.h" class TARCH_EXP TDbInSight : public TDbSymbWithText { protected: DECLARE_TENTBASE(); ACRX_DECLARE_MEMBERS(TDbInSight); public: enum EInsightType{ENormalInsight = 0, EIndexInsight}; TDbInSight(); virtual ~TDbInSight(); void SetType(EInsightType uStyle) { m_InSightStyle = (short)uStyle; } // 0 - 单面, 1-双面(上下) 2-双面左右, 3-四面 EInsightType GetType(){ return (EInsightType)m_InSightStyle; } void SetInsertPt(XPoint ptIns) { m_ptIns = ptIns; } XPoint GetInsertPt() { return m_ptIns; } void SetRadius(double nRadius); double GetRadius() { return m_dRadius; } void SetMapNoText(CString str); //图号 CString GetMapNoText() { return m_strTH; } void SetNumberText(CString str); //编号 CString GetNumberText() { return m_strBH; } void SetAngle(double dRotation); double GetAngle(); void SetOldStyle(int nDraw); int GetOldStyle() const; double GetTextRatio() const; // 文字控制大小的比例 void SetTextRatio(double dVal); virtual int GetFirstVersion() const; public: int GetTrueTextStyle() const; virtual Acad::ErrorStatus subGetClassID(CLSID* pClsid) const; virtual void CopyPropertiesFrom(AcDbEntity *pSrcEntity, unsigned gMatchFlag); virtual Acad::ErrorStatus dwgInFields (AcDbDwgFiler* pFiler); virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler* pFiler) const; virtual Acad::ErrorStatus GetGripText(int i, CString &cs) const; virtual Acad::ErrorStatus DownGradeSave(int nDrawMode, AcDbVoidPtrArray &entSet,BOOL *bErase); // sg add 081223,导出低版本 virtual Acad::ErrorStatus ExplodeOrDraw2d(TGGiExplodeDrawBase &dc) const; virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d& xform); virtual Acad::ErrorStatus subGetGripPoints(AcGePoint3dArray&gripPoints,AcDbIntArray&,AcDbIntArray&)const; virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbIntArray& indices, const AcGeVector3d& offset); virtual TSubText* HitTestText(XPoint pt)const; virtual void SetSubText(long i, CString sText); void GetTextExtends(const TCHAR *sText, double &dX, double &dY, BOOL bDrawingLabel) const; virtual long GetSubTextNum()const{return m_InSightStyle == ENormalInsight ? 1:2;}//ok private: short m_InSightStyle; //内饰符号样式 CString m_strTH; //文字1 CString m_strBH; //文字2 XPoint m_ptIns; //插入点 double m_dRadius; //半径 double m_dRotation; //图案旋转角 double m_dValue; //预留 int m_nFlag; //预留 double m_dTextRatio; // 文字控制大小的比例,0为随TDbConfig Adesk::UInt8 m_bOldStyle; };