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

103 lines
3.7 KiB
C++

#ifndef __MULTIVIEW_INSERT_H
#define __MULTIVIEW_INSERT_H
//#include "DbBlockInsert.h"
class TARCH_EXP TDbMultiViewInsert: public TDbEntity {
DECLARE_TENTBASE();
ACRX_DECLARE_MEMBERS(TDbMultiViewInsert);
private:
const static Adesk::UInt8 g_nVersion;
protected:
Adesk::UInt8 m_nFlag;
AcDbHardPointerId m_idBlock2d, m_idBlock3d;
XPoint m_ptLocation;
double m_xScale, m_yScale, m_zScale;
double m_nRotation;
public:
AcDbObjectId GetBlockId(BOOL b3D) const {
return (b3D? m_idBlock3d : m_idBlock2d);
}
AcGeScale3d GetScaleFactors() const {
return AcGeScale3d(m_xScale, m_yScale, m_zScale);
}
XPoint GetLocation() const {
return m_ptLocation;
}
double GetRotation() const {
return m_nRotation;
}
void SetBlockId(BOOL b3D, AcDbObjectId id) {
assertWriteEnabled();
if(b3D) m_idBlock3d=id;
else m_idBlock2d=id;
}
void SetLocation(XPoint pt) {
assertWriteEnabled();
m_ptLocation=pt;
}
void SetRotation(double nRot) {
assertWriteEnabled();
m_nRotation=nRot;
}
void SetScaleFactors(AcGeScale3d scales) {
assertWriteEnabled();
m_xScale=scales[0];
m_yScale=scales[1];
m_zScale=scales[2];
}
AcDbBlockReference *NewBlock(BOOL b3D) const;
TBlockGeomInfo GetGeomInfo() const;
Acad::ErrorStatus UpdateFrom(const TBlockGeomInfo &geom);
protected:
Acad::ErrorStatus DrawOneView(XExplodeDraw &dc, BOOL bDraw3d) const;
public:
TDbMultiViewInsert();
virtual BOOL IsValid() const;
virtual bool IsModelEntity() const{return true;}
virtual void CopyPropertiesFrom(AcDbEntity *pSrcEntity, unsigned gMatchFlag);
virtual Acad::ErrorStatus ExplodeOrDraw2d(XExplodeDraw &dc) const;
virtual Acad::ErrorStatus ExplodeOrDraw3d(XExplodeDraw &dc) const;
virtual Acad::ErrorStatus GetGripText(int i, CString &cs) const;
virtual void GetTips(DList<TObjInfoUnit> &) const; //取动态属性显示数据
virtual int GetFirstVersion()const{return 6;}//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 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);
virtual Acad::ErrorStatus subGetOsnapPoints(
AcDb::OsnapMode osnapMode,
INT_PTR gsSelectionMark,
const AcGePoint3d& ptPick,
const AcGePoint3d& lastPoint,
const AcGeMatrix3d& viewXform,
AcGePoint3dArray& snapPoints,
AcDbIntArray& geomIds) const;
virtual Acad::ErrorStatus subIntersectWith(const AcDbEntity* ent,
AcDb::Intersect intType,
AcGePoint3dArray& points,
INT_PTR thisGsMarker,
INT_PTR otherGsMarker) const;
virtual int GetCtrlToggleIndex()const{return 0;}//ok
};
#endif