#ifndef _TEImpCabTee_H__ #define _TEImpCabTee_H__ #if _MSC_VER > 1000 #pragma once #endif #include "TImpSpecFitting.h" class TEImpCabTee : public TImpSpecFitting { public: TEImpCabTee(); virtual ~TEImpCabTee(); public: // 接口描述对象 virtual int GetInterfaceCount() const; virtual BOOL GetInterface(int nIndex,TInterface& pipeInterface) const; virtual BOOL GetInterface(const AcGePoint3d& ptCon,TInterface& pipeInterface) const; virtual BOOL HasInterface(const AcGePoint3d& ptCon,const AcGeVector3d& vtDir); // 建立接口关联关系 virtual BOOL SetInterfaceRelation(const AcGePoint3d& ptConnect,const AcDbObjectId& idConnect); // 移除接口关联关系 virtual BOOL RemoveInterfaceRelation(const AcGePoint3d& ptConnect,const AcDbObjectId& idConnect); // 接口更改通知 virtual BOOL NotifyInterfaceToModify(const TInterfaceModifyMsg& iModiMsg,TInterfaceModifyMsgs& iModiMsgs); virtual TDb::Position ExplainGripIndex(int nIndex) const; virtual void GetKindName(CString& sName); //获取三维的壳对象 virtual int GetXBaseShell(TXShell& xShell); //获取体的范围方块 virtual int GetBodyBox(AcDbExtents& ext); virtual CString GetXml() const; virtual CString GetXml(const AcGeMatrix3d& mat) const; // add by 2011.02.21 剖切功能 注意 GetSection内不应将std::vector参数清空 virtual bool GetSection(const AcDbFace &face, const AcGeVector3d &vtPlaneSecDir, std::vector §ionRecord, AcDbVoidPtrArray& arFillPtrs) const; // 剖切用,返回Z坐标最高、最低点 virtual Acad::ErrorStatus GetExtents(TADSGePoint3d &ptLow, TADSGePoint3d &ptUp) const; public: virtual BOOL MakeCurves(TComplexCurve& cplCurve) const; virtual BOOL GetCurvesInSide(TComplexCurve& compCurve) const; virtual AcDbPolyline* MakePolyCurve() const; virtual BOOL MakePolyCurveFaces(AcDbVoidPtrArray& arFaces); BOOL NoneConectLineIfNeed(TComplexCurve& cplCurve) const; virtual void GetTips(CMapStringToString& mapLable2Tip) const; public: //{{AFX_ARX_METHODS(TDbImpCabElbow) virtual Acad::ErrorStatus ExplodeOrDraw2d(XExplodeDraw &mode) const; virtual Acad::ErrorStatus ExplodeOrDraw3d(XExplodeDraw &mode) const; virtual Acad::ErrorStatus transformBy(const AcGeMatrix3d& xform); virtual Acad::ErrorStatus moveStretchPointsAt(const AcDbIntArray& indices, const AcGeVector3d& offset); virtual Acad::ErrorStatus moveGripPointsAt(const AcDbIntArray& indices, const AcGeVector3d& offset); virtual Acad::ErrorStatus getStretchPoints(AcGePoint3dArray& stretchPoints) const; virtual Acad::ErrorStatus getGripPoints(AcGePoint3dArray& gripPoints, AcDbIntArray& osnapModes, AcDbIntArray& geomIds) 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 void list() const; virtual Acad::ErrorStatus getClassID(CLSID* pClsid) const; //}}AFX_ARX_METHODS protected: static void FreeBuffer(AcDbVoidPtrArray& arCurves); // 夹点移动消息处理 BOOL OnMoveGripPointMsgNotify(const TInterfaceModifyMsg& iModiMsg,TInterfaceModifyMsgs& iModiMsgs); // 对象移动消息处理 BOOL OnTransformByMsgNotify(const TInterfaceModifyMsg& iModiMsg,TInterfaceModifyMsgs& iModiMsgs); // 尺寸调整消息处理 BOOL OnSizeMsgNotify(const TInterfaceModifyMsg& iModiMsg,TInterfaceModifyMsgs& iModiMsgs); void GetEqualRTVExtents(DList& polyLst) const; void GetEqualTSideVExtents(DList& polyLst) const; void GetEqualTopSideVExtents(DList& polyLst) const; void GetEqualRMidVExtents(DList& polyLst) const; // 下角垂直等径三通 add by wzh 2012/10/16 null void GetEqualRBAngVExtents(DList& polyLst) const; private: Acad::ErrorStatus OnCEqualRMoveGripPointsAt(const AcDbIntArray& indices,const AcGeVector3d& offset); // 获取垂足点 BOOL GetVerticalFootPoint(const AcGePoint3d& pickPoint, const AcGePoint3d& lastPoint, AcGePoint3d& ptVerFoot) const; BOOL GetTeeMidLine(TComplexCurve& compCurve) const; // 获取最近点 BOOL GetNearestPoint(const AcGePoint3d& pickPoint, AcGePoint3d& ptNear) const; // 槽式水平等径 void EqualHVMakeCurvesNor(TComplexCurve& cplCurve,int& nNum) const; void EqualHVMakeCurvesNorZ(TComplexCurve& cplCurve,int& nNum) const; void EqualHMakeCurvesNorY(TComplexCurve& cplCurve,int& nNum) const; void EqualHMakeCurvesNorX(TComplexCurve& cplCurve,int& nNum) const; void EqualHVMakeCurvesIgnore(TComplexCurve& cplCurve,int& nNum) const; // 斜向水平等径三通 add by wzh 2012/11/12 // 槽式上垂直等径 void EqualUpVMakeCurvesNor(TComplexCurve& cplCurve,int& nNum) const; void EqualUpVMakeCurvesNorX(TComplexCurve& cplCurve,int& nNum) const; void EqualUpVMakeCurvesNorZ(TComplexCurve& cplCurve,int& nNum) const; void EqualUpVMakeCurvesNorY(TComplexCurve& cplCurve,int& nNum) const; // 槽式下垂直等径 void EqualBotVMakeCurvesNor(TComplexCurve& cplCurve,int& nNum) const; void EqualBotVMakeCurvesNorX(TComplexCurve& cplCurve,int& nNum) const; void EqualBotVMakeCurvesNorZ(TComplexCurve& cplCurve,int& nNum) const; // 槽式上边垂直等径 void EqualTopSideVMakeCurvesNor(TComplexCurve& cplCurve,int& nNum) const; void EqualTopSideVMakeCurvesNorZ(TComplexCurve& cplCurve,int& nNum) const; void EqualTopSideVMakeCurvesNorX(TComplexCurve& cplCurve,int& nNum) const; void EqualTopSideVMakeCurvesNorY(TComplexCurve& cplCurve,int& nNum) const; // 槽式下边垂直等径三通 void EqualDSideVMakeCurvesNor(TComplexCurve& cplCurve,int& nNum) const; void EqualDSideVMakeCurvesNorZ(TComplexCurve& cplCurve,int& nNum) const; void EqualDSideVMakeCurvesNorX(TComplexCurve& cplCurve,int& nNum) const; void EqualDSideVMakeCurvesNorY(TComplexCurve& cplCurve,int& nNum) const; // 槽式上边中间垂直等径 void EqualUpMidVMakeCurvesNor(TComplexCurve& cplCurve,int& nNum) const; void EqualUpMidVMakeCurvesNorZ(TComplexCurve& cplCurve,int& nNum) const; void EqualUpMidVMakeCurvesNorX(TComplexCurve& cplCurve,int& nNum) const; void EqualUpOrBMidVMakeCurvesNorY(TComplexCurve& cplCurve,int& nNum) const; // 槽式下边中间垂直等径 void EqualBMidVMakeCurvesNor(TComplexCurve& cplCurve,int& nNum) const; void EqualBMidVMakeCurvesNorZ(TComplexCurve& cplCurve,int& nNum) const; void EqualBMidVMakeCurvesNorX(TComplexCurve& cplCurve,int& nNum) const; // 槽式上角垂直等径三通 2012/10/23 add by wzh NULL void EqualUpAngleVMakeCurvesNor(TComplexCurve& cplCurve,int& nNum) const; void EqualUpAngleVMakeCurvesNorZ(TComplexCurve& cplCurve,int& nNum) const; void EqualUpAngleVMakeCurvesNorX(TComplexCurve& cplCurve,int& nNum) const; void EqualUpAngleVMakeCurvesNorY(TComplexCurve& cplCurve,int& nNum) const; // 槽式下角垂直等径三通 2012/10/23 add by wzh void EqualDAngleVMakeCurvesNor(TComplexCurve& cplCurve,int& nNum) const; void EqualDAngleVMakeCurvesNorZ(TComplexCurve& cplCurve,int& nNum) const; void EqualDAngleVMakeCurvesNorX(TComplexCurve& cplCurve,int& nNum) const; void EqualDAngleVMakeCurvesNorY(TComplexCurve& cplCurve,int& nNum) const; Acad::ErrorStatus ExplodeOrDraw3dOfP(XExplodeDraw &mode) const; Acad::ErrorStatus ExplodeOrDraw3dOfC(XExplodeDraw &mode) const; Acad::ErrorStatus ExplodeOrDraw3dOfT(XExplodeDraw &mode) const; // 三通绘制 // 槽式 void EqualRHVExplodeOrDraw3d(XExplodeDraw &mode) const; // 槽式 水平垂直等径三通 void EqualRHIgnoreExplodeOrDraw3d(XExplodeDraw &mode) const; // 槽式 斜向水平等径三通 2012/11/12 add by wzh void EqualTSideVExplodeOrDraw3d(XExplodeDraw &mode) const; // 槽式 上边垂直等径三通 void EqualDSideVExplodeOrDraw3d(XExplodeDraw &mode) const; // 槽式 下边垂直等径三通 void EqualRTVExplodeOrDraw3d(XExplodeDraw &mode) const; // 槽式 上垂直等径三通 void EqualRBVExplodeOrDraw3d(XExplodeDraw &mode) const; // 槽式 下垂直等径三通 void EqualTopSideVExplodeOrDraw3d(XExplodeDraw &mode) const; // 槽式 上边中间垂直等径三通 void EqualRMidVExplodeOrDraw3d(XExplodeDraw &mode) const; // 槽式 下边中间垂直等径三通 void EqualRTAngleVExplodeOrDraw3d(XExplodeDraw &mode) const; // 槽式 上角垂直等径三通 add by wzh 2012-10-23 NULL void EqualRBAngleVExplodeOrDraw3d(XExplodeDraw &mode) const; // 槽式 下角垂直等径三通 add by wzh 2012-10-23 // 梯式 void EqualRHVExplodeOrDraw3dOfT(XExplodeDraw &mode) const; // 梯式 水平等径 void EqualRHIgnoreExplodeOrDraw3dOfT(XExplodeDraw &mode) const; // 梯式 斜向水平等径三通 2012/11/12 add by wzh void EqualRTVExplodeOrDraw3dOfT(XExplodeDraw &mode) const; // 梯式 上垂直等径三通 void EqualRBVExplodeOrDraw3dOfT(XExplodeDraw &mode) const; // 梯式 下垂直等径三通 void EqualTopSideVExplodeOrDraw3dOfT(XExplodeDraw &mode) const; // 梯式 上边垂直等径三通 void EqualDSideVExplodeOrDraw3dOfT(XExplodeDraw &mode) const; // 梯式 下边垂直等径三通 void EqualTSideVExplodeOrDraw3dOfT(XExplodeDraw &mode) const; // 梯式 上边中间垂直等径三通 void EqualRMidVExplodeOrDraw3dOfT(XExplodeDraw &mode) const; // 梯式 下边中间垂直等径三通 void EqualRTAngleVExplodeOrDraw3dOfT(XExplodeDraw &mode) const; // 梯式 上角垂直等径三通 add by wzh 2012-10-23 NULL void EqualRBAngleVExplodeOrDraw3dOfT(XExplodeDraw &mode) const; // 梯式 下角垂直等径三通 add by wzh 2012-10-23 NULL ////////// void DrawCube(XExplodeDraw &mode,const AcGeVector3d &vtDir, const AcGePoint3dArray &ptArr, double dThick) const; // MakePolyCurve void MakePolyCurveOfHEqlR(AcDbPolyline*& pPl) const; // 槽式 水平等径 void MakePolyCurveOfUMidEqlR(AcDbPolyline*& pPl) const; // 槽式 上边中间垂直等径三通 void MakePolyCurveOfBMidEqlR(AcDbPolyline*& pPl) const; // 槽式 下边中间垂直等径三通 void MakePolyCurveOfTVerEqlR(AcDbPolyline*& pPl) const; // 槽式 上垂直等径三通 void MakePolyCurveOfBVerEqlR(AcDbPolyline*& pPl) const; // 槽式 下垂直等径三通 void MakePolyCurveOfTSidEqlR(AcDbPolyline*& pPl) const; // 槽式 下边垂直等径三通 void MakePolyCurveOfBSidEqlR(AcDbPolyline*& pPl) const; // 槽式 上边垂直等径三通 void MakePolyCurveOfUAngEquR(AcDbPolyline*& pPl) const; // 槽式 上角垂直等径三通 add by wzh 2012-10-23 NULL void MakePolyCurveOfBAngEquR(AcDbPolyline*& pPl) const; // 槽式 下角垂直等径三通 add by wzh 2012-10-23 // MakePolyCurveFaces void MakePolyCurveFacesOfHEqlR(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfHEqlRXY(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfHEqlRZ(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfHEqlRIgnore(AcDbVoidPtrArray& arFaces); // 斜向水平等径三通 add by wzh 2012/11/12 void MakePolyCurveFacesOfUMidEqlR(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfUMidEqlRX(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfUMidEqlRY(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfUMidEqlRZ(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfBMidEqlR(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfBMidEqlRX(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfBMidEqlRY(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfBMidEqlRZ(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfTVerEqlR(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfTVerEqlRXY(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfTVerEqlRZ(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfBVerEqlR(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfBVerEqlRXY(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfBVerEqlRZ(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfTSidEqlR(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfTSidEqlRX(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfTSidEqlRY(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfTSidEqlRZ(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfBSidEqlR(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfBSidEqlRX(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfBSidEqlRY(AcDbVoidPtrArray& arFaces); // 上角垂直等径三通 add by wzh 2012-10-23 NULL void MakePolyCurveFacesOfUAngEquR(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfUAngEquRX(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfUAngEquRY(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfUAngEquRZ(AcDbVoidPtrArray& arFaces); // 下角垂直等径三通 add by wzh 2012-10-23 void MakePolyCurveFacesOfBAngEquR(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfBAngEquRX(AcDbVoidPtrArray& arFaces);//? void MakePolyCurveFacesOfBAngEquRY(AcDbVoidPtrArray& arFaces); void MakePolyCurveFacesOfBAngEquRZ(AcDbVoidPtrArray& arFaces); //GetOsnapPoints void GetOsnapPointsOfHEqlR(AcDb::OsnapMode osnapMode, INT_PTR gsSelectionMark, const AcGePoint3d& pickPoint, const AcGePoint3d& lastPoint, const AcGeMatrix3d& viewXform, AcGePoint3dArray& snapPoints, AcDbIntArray& geomIds) const; void GetOsnapPointsOfUMidEqlR(AcDb::OsnapMode osnapMode, INT_PTR gsSelectionMark, const AcGePoint3d& pickPoint, const AcGePoint3d& lastPoint, const AcGeMatrix3d& viewXform, AcGePoint3dArray& snapPoints, AcDbIntArray& geomIds) const; void GetOsnapPointsOfBMidEqlR(AcDb::OsnapMode osnapMode, INT_PTR gsSelectionMark, const AcGePoint3d& pickPoint, const AcGePoint3d& lastPoint, const AcGeMatrix3d& viewXform, AcGePoint3dArray& snapPoints, AcDbIntArray& geomIds) const; void GetOsnapPointsOfTVerEqlR(AcDb::OsnapMode osnapMode, INT_PTR gsSelectionMark, const AcGePoint3d& pickPoint, const AcGePoint3d& lastPoint, const AcGeMatrix3d& viewXform, AcGePoint3dArray& snapPoints, AcDbIntArray& geomIds) const; void GetOsnapPointsOfBVerEqlR(AcDb::OsnapMode osnapMode, INT_PTR gsSelectionMark, const AcGePoint3d& pickPoint, const AcGePoint3d& lastPoint, const AcGeMatrix3d& viewXform, AcGePoint3dArray& snapPoints, AcDbIntArray& geomIds) const; void GetOsnapPointsOfTSidEqlR(AcDb::OsnapMode osnapMode, INT_PTR gsSelectionMark, const AcGePoint3d& pickPoint, const AcGePoint3d& lastPoint, const AcGeMatrix3d& viewXform, AcGePoint3dArray& snapPoints, AcDbIntArray& geomIds) const; void GetOsnapPointsOfBSidEqlR(AcDb::OsnapMode osnapMode, INT_PTR gsSelectionMark, const AcGePoint3d& pickPoint, const AcGePoint3d& lastPoint, const AcGeMatrix3d& viewXform, AcGePoint3dArray& snapPoints, AcDbIntArray& geomIds) const; void GetOsnapPointsOfUAngEqlR(AcDb::OsnapMode osnapMode, INT_PTR gsSelectionMark, const AcGePoint3d& pickPoint, const AcGePoint3d& lastPoint, const AcGeMatrix3d& viewXform, AcGePoint3dArray& snapPoints, AcDbIntArray& geomIds) const; // 上角垂直等径三通 add by wzh 2012-10-23 NULL void GetOsnapPointsOfBAngEqlR(AcDb::OsnapMode osnapMode, INT_PTR gsSelectionMark, const AcGePoint3d& pickPoint, const AcGePoint3d& lastPoint, const AcGeMatrix3d& viewXform, AcGePoint3dArray& snapPoints, AcDbIntArray& geomIds) const; // 下角垂直等径三通 add by wzh 2012-10-23o //GetCurvesInSide void GetCurvesInSideOfHEqlR(TComplexCurve& cplCurve) const; void GetCurvesInSideOfHEqlRX(TComplexCurve& cplCurve) const; void GetCurvesInSideOfHEqlRY(TComplexCurve& cplCurve) const; void GetCurvesInSideOfHEqlRZ(TComplexCurve& cplCurve) const; void GetCurvesInSideOfUMidEqlR(TComplexCurve& cplCurve) const; void GetCurvesInSideOfUMidEqlRX(TComplexCurve& cplCurve) const; void GetCurvesInSideOfUMidEqlRY(TComplexCurve& cplCurve) const; void GetCurvesInSideOfUMidEqlRZ(TComplexCurve& cplCurve) const; void GetCurvesInSideOfBMidEqlR(TComplexCurve& cplCurve) const; void GetCurvesInSideOfBMidEqlRX(TComplexCurve& cplCurve) const; void GetCurvesInSideOfBMidEqlRZ(TComplexCurve& cplCurve) const; void GetCurvesInSideOfTVerEqlR(TComplexCurve& cplCurve) const; void GetCurvesInSideOfTVerEqlRX(TComplexCurve& cplCurve) const; void GetCurvesInSideOfTVerEqlRY(TComplexCurve& cplCurve) const; void GetCurvesInSideOfTVerEqlRZ(TComplexCurve& cplCurve) const; void GetCurvesInSideOfBVerEqlR(TComplexCurve& cplCurve) const; void GetCurvesInSideOfBVerEqlRX(TComplexCurve& cplCurve) const; void GetCurvesInSideOfBVerEqlRY(TComplexCurve& cplCurve) const; void GetCurvesInSideOfBVerEqlRZ(TComplexCurve& cplCurve) const; void GetCurvesInSideOfTSidEqlR(TComplexCurve& cplCurve) const; void GetCurvesInSideOfTSidEqlRX(TComplexCurve& cplCurve) const; void GetCurvesInSideOfTSidEqlRY(TComplexCurve& cplCurve) const; void GetCurvesInSideOfTSidEqlRZ(TComplexCurve& cplCurve) const; void GetCurvesInSideOfBSidEqlR(TComplexCurve& cplCurve) const; void GetCurvesInSideOfBSidEqlRX(TComplexCurve& cplCurve) const; void GetCurvesInSideOfBSidEqlRY(TComplexCurve& cplCurve) const; void GetCurvesInSideOfBSidEqlRZ(TComplexCurve& cplCurve) const; // 上角垂直等径三通 add by wzh 2012-10-23 NULL void GetCurvesInSideOfUAngEqlR(TComplexCurve& cplCurve) const; void GetCurvesInSideOfUAngEqlRX(TComplexCurve& cplCurve) const; void GetCurvesInSideOfUAngEqlRY(TComplexCurve& cplCurve) const; void GetCurvesInSideOfUAngEqlRZ(TComplexCurve& cplCurve) const; // 下角垂直等径三通 add by wzh 2012-10-23o void GetCurvesInSideOfBAngEqlR(TComplexCurve& cplCurve) const; void GetCurvesInSideOfBAngEqlRX(TComplexCurve& cplCurve) const; void GetCurvesInSideOfBAngEqlRY(TComplexCurve& cplCurve) const; void GetCurvesInSideOfBAngEqlRZ(TComplexCurve& cplCurve) const; private: void FormatPolyline(AcDbPolyline*& pPl,TComplexCurve& cplCurve,int nNum) const; void FormatArcPolyline(AcDbPolyline*& pPl,TComplexCurve& cplCurve,int nNum) const; AcDbFace* CreateAcDbFace(const AcGePoint3d& pt1, const AcGePoint3d& pt2, const AcGePoint3d& pt3, const AcGePoint3d& pt4); BOOL CreateAcDbArcFace(AcDbVoidPtrArray& arFaces,const AcGePoint3d& ptSta,const AcGePoint3d& ptEnd,const AcGePoint3d& ptMid); void CreateFaceByMesh(XExplodeDraw &mode,AcGePoint3d& pt1,AcGePoint3d& pt2,AcGePoint3d& pt3,AcGePoint3d& pt4) const; // 计算曲线中点 AcGePoint3d GetPolyCurMidPoint(const AcGePoint3d& pt1,const AcGePoint3d& pt2,const AcGePoint3d& ptGeM) const; // AcGePoint3d GetPolyCurMidPoint(const AcGePoint3d& pt1,const AcGePoint3d& pt2,const AcGePoint3d& ptBase, double dAngle) const; // 计算外切于两等距线的圆心, 用于拐角为单弧/双弧的斜向三通/四通 2012/11/16 add by wzh AcGePoint3d GetPolyCurveCentre(const AcGePoint3d& pt1,const AcGePoint3d& pt2,const AcGePoint3d& ptBase,double dAngle) const; BOOL GetIndexOfPointIsOn(TComplexCurve& cplCurv,const AcGePoint3d& ptOn,int& nIndex) const; CString GetCurrentTypeName() const; void AppendAcDbExtents(std::vector& vctpt,AcDbExtents& ext); private: // 点 int GetBodyBoxOfTHorEqualR(AcDbExtents& ext); int GetBodyBoxOfTVerEqualR(AcDbExtents& ext); int GetBodyBoxOfTDVerEqualR(AcDbExtents& ext); int GetBodyBoxOfTUSMVEqualR(AcDbExtents& ext); int GetBodyBoxOfTDMVEqualR(AcDbExtents& ext); int GetBodyBoxOfTDSVEqualR(AcDbExtents& ext); int GetBodyBoxOfTUSVEqualR(AcDbExtents& ext); int GetBodyBoxOfTUAVEqualR(AcDbExtents& ext); // 上角垂直等径三通 add by wzh 2012-10-23 null int GetBodyBoxOfTBAVEqualR(AcDbExtents& ext); // 下角垂直等径三通 add by wzh 2012-10-23 // 外壳 int GetXBaseShellOfTHorEqualR(TXShell& xShell); int GetXBaseShellOfTVerEqualR(TXShell& xShell); int GetXBaseShellOfTDVerEqualR(TXShell& xShell); int GetXBaseShellOfTUSMVerEqualR(TXShell& xShell); int GetXBaseShellOfTDSMVerEqualR(TXShell& xShell); int GetXBaseShellOfTDSVerEqualR(TXShell& xShell); int GetXBaseShellOfTUSVerEqualR(TXShell& xShell); int GetXBaseShellOfTUAVerEqualR(TXShell& xShell); // 上角垂直等径三通 add by wzh 2012-10-23 null int GetXBaseShellOfTBAVerEqualR(TXShell& xShell); // 下角垂直等径三通 add by wzh 2012-10-23 }; #endif //_TEImpCabTee_H__