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

40 lines
1.6 KiB
C++

#ifndef __CDRAWDRAINCHAMFER_H__
#define __CDRAWDRAINCHAMFER_H__
class CDrawDrainChamfer
{
public:
// 生成倒角
void MakeChamfer(SSearchPipeList *pListAll, PickSet &ssAll, double dChamferLen);
private:
// 获得待修改次管线信息
bool GetChamferInfo(const AcDbObjectId &IdPipeM, const AcDbObjectId &idPipeBra, std::map<AcDbObjectId,AcGePoint3dArray> &dataMap, double dChamferLen);
// 是否为立管
bool IsVerticalPipe(const AcDbObjectId &id);
// 是否在选择集内
bool IsValidPipe(PickSet &ssAll, AcDbObjectId &id);
// 节点上的管线是否都在选择集内
bool IsAllVaildPipe(PickSet &ssAll, SSearchPipeList *pLst);
// 节点上是否有管线与id管线共线
bool IsExistOnLine(AcDbObjectId &id, SSearchPipeList *pLst, SSearchPipeList *&pLstOut);
// 两管是否共线
bool IsOnSameLine(const AcDbObjectId &id1, const AcDbObjectId &id2);
// 管线长度是否大于倒角长度
bool IsOverChamferLen(AcDbObjectId &id, double dChamferLen);
// 获得所有需要修改的管线的信息
void GetPipeMap(SSearchPipeList *pListAll, std::map<AcDbObjectId,AcGePoint3dArray> &dataMap, double dChamferLen, PickSet &ssAll, std::vector<AcDbObjectId> &vecId);
// 修改管线
void ModifyPipe(std::map<AcDbObjectId, AcGePoint3dArray> &dataMap, std::vector<AcDbObjectId> &vecId);
// 获得管道系统的第一根管道
void GetFristPipeNode(SSearchPipeList *pLstIn, SSearchPipeList *&pLstOut);
// 获得需要修改的次管道的最小长度
void GetMinPipeLen(SSearchPipeList *pLst, PickSet &ssAll, const AcDbObjectId &idM, double &dMin);
};
#endif