89 lines
3.5 KiB
C++
89 lines
3.5 KiB
C++
#ifndef _TEIMPBRACKET_H__
|
|
#define _TEIMPBRACKET_H__
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "TImpSpecEquipment.h"
|
|
|
|
class TEImpBracket : public TImpSpecEquipment
|
|
{
|
|
public:
|
|
TEImpBracket();
|
|
virtual ~TEImpBracket();
|
|
|
|
public:
|
|
|
|
Acad::ErrorStatus getClassID(CLSID* pClsid) const;
|
|
virtual void GetKindName(CString& sName);
|
|
// 夹点提示
|
|
virtual Acad::ErrorStatus GetGripText(int i, CString &cs) const;
|
|
|
|
public:
|
|
|
|
//{{AFX_ARX_METHODS(TImpSpecEquipment)
|
|
virtual Acad::ErrorStatus explode(AcDbVoidPtrArray& entitySet) const;
|
|
virtual Acad::ErrorStatus ExplodeOrDraw2d(XExplodeDraw &mode) const;
|
|
virtual Acad::ErrorStatus ExplodeOrDraw3d(XExplodeDraw &mode) const;
|
|
virtual Acad::ErrorStatus transformBy(const AcGeMatrix3d& xform);
|
|
virtual Acad::ErrorStatus moveGripPointsAt(const AcDbIntArray& indices,
|
|
const AcGeVector3d& offset);
|
|
virtual Acad::ErrorStatus moveStretchPointsAt(const AcDbIntArray& indices,
|
|
const AcGeVector3d& offset);
|
|
virtual Acad::ErrorStatus getStretchPoints(AcGePoint3dArray& stretchPoints) const;
|
|
virtual Acad::ErrorStatus getOsnapPoints(AcDb::OsnapMode osnapMode,
|
|
INT_PTR gsSelectionMark,
|
|
const AcGePoint3d& pickPoint,
|
|
const AcGePoint3d& lastPoint,
|
|
const AcGeMatrix3d& viewXform,
|
|
AcGePoint3dArray& snapPoints,
|
|
AcDbIntArray& geomIds) const;
|
|
virtual Acad::ErrorStatus getGripPoints(AcGePoint3dArray& gripPoints,
|
|
AcDbIntArray& osnapModes,
|
|
AcDbIntArray& geomIds) const;
|
|
|
|
//virtual Acad::ErrorStatus explode(AcDbVoidPtrArray& entitySet) const;
|
|
virtual void list() const;
|
|
|
|
//virtual CString GetXml() const; // 2012/9/26 comment by wzh
|
|
virtual CString GetXml(const AcGeMatrix3d& mat) const; // 2012/9/26 add by wzh
|
|
|
|
// add by 2011.02.21 剖切功能 注意 GetSection内不应将std::vector<TObjSectionRecord>参数清空
|
|
virtual bool GetSection(const AcDbFace &face, const AcGeVector3d &vtPlaneSecDir,
|
|
std::vector<TObjSectionRecord> §ionRecord, AcDbVoidPtrArray& arFillPtrs) const;
|
|
|
|
// 剖切用,返回Z坐标最高、最低点
|
|
virtual Acad::ErrorStatus GetExtents(TADSGePoint3d &ptLow, TADSGePoint3d &ptUp) const;
|
|
//}}AFX_ARX_METHODS
|
|
|
|
private:
|
|
BOOL GetNearestPoint(const AcGePoint3d& pickPoint,AcGePoint3d& ptNear) const;
|
|
|
|
BOOL GetCurves(TComplexCurve& cplCurve) const;
|
|
|
|
Acad::ErrorStatus ExplodeOrDrawBracket3d(XExplodeDraw &mode) const;
|
|
|
|
Acad::ErrorStatus ExplodeOrDrawSupport3d(XExplodeDraw &mode) const;
|
|
//双排吊架 bsl add 2011.11.9
|
|
Acad::ErrorStatus ExplodeOrDrawDRowBracket3d(XExplodeDraw& mode) const;
|
|
Acad::ErrorStatus ExplodeOrDrawDRowBracket2d(XExplodeDraw &mode) const;
|
|
|
|
//绘制2维立柱 指定类型
|
|
Acad::ErrorStatus ExplodeOrDraw2dPillar(XExplodeDraw &mode,AcGePoint3d ptS,AcGeVector3d vtDir,int nStyle) const;
|
|
//绘制3维立柱 指定类型
|
|
Acad::ErrorStatus ExplodeOrDraw3dPillar(XExplodeDraw &mode,AcGePoint3d ptS,AcGePoint3d ptE,AcGeVector3d vtNormal,int nStyle) const;
|
|
|
|
//绘制2维托臂 指定起点,法向量,方向向量,长度
|
|
Acad::ErrorStatus ExplodeOrDraw2dSupport(XExplodeDraw &mode,AcGePoint3d ptS,AcGePoint3d ptE,AcGeVector3d vtNormal) const;
|
|
//绘制3维托臂 指定起点,法向量,方向向量,长度
|
|
Acad::ErrorStatus ExplodeOrDraw3dSupport(XExplodeDraw &mode,AcGePoint3d ptS,AcGeVector3d vtNormal,AcGeVector3d vtDir,double dLen) const;
|
|
|
|
//绘制2维底座 指定插入点 旋转角度 图块id
|
|
Acad::ErrorStatus ExplodeOrDraw2dPedestal(XExplodeDraw &mode,AcGePoint3d ptIns,AcDbObjectId BlockId,double dAngle = 0.0) const;
|
|
//绘制3维底座 指定插入点 旋转角度 图块id
|
|
Acad::ErrorStatus ExplodeOrDraw3dPedestal(XExplodeDraw &mode,AcGePoint3d ptIns,AcGeVector3d vtNormal) const;
|
|
};
|
|
|
|
#endif // !defined(_TEIMPBRACKET_H__)
|