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

67 lines
2.5 KiB
C++

#ifndef _KT3DMODEL_H__
#define _KT3DMODEL_H__
#if _MSC_VER > 1000
#pragma once
#endif
class KT3DModel
{
public:
KT3DModel();
virtual ~KT3DModel();
public:
// 长方体 ptCen : 底中心点 vtX,vtY底面坐标系包括边长,vtZ 高度
static BOOL Cube(const AcGePoint3d& ptCen,const AcGeVector3d& vtX,const AcGeVector3d& vtY,const AcGeVector3d& vtZ,AcDbVoidPtrArray& arFacePtrs);
// 圆柱
static BOOL Cylinder(const AcGePoint3d& ptCen,double dRad,const AcGeVector3d& vtDir,AcDbVoidPtrArray& arFacePtrs);
static BOOL Cylinder(const AcGePoint3d& ptSta,const AcGePoint3d& ptEnd,double dRad,AcDbVoidPtrArray& arFacePtrs);
// 圆锥
static BOOL Cone(const AcGePoint3d& ptCen,double dRad,const AcGeVector3d& vtH,AcDbVoidPtrArray& arFacePtrs);
// 弯头体
static BOOL Elbow(const AcGePoint3d& ptGe1,const AcGePoint3d& ptGe2,const AcGePoint3d& ptGe3,double dR,AcDbVoidPtrArray& arFacePtrs);
// 弯头体
static BOOL Elbow(const AcDbArc* pArc,double dR,AcDbVoidPtrArray& arFacePtrs);
// 管子
static BOOL Pipe(const AcGePoint3d& ptCen,double dRad,const AcGeVector3d& vtDir,AcDbVoidPtrArray& arFacePtrs);
static BOOL Pipe(const AcGePoint3d& ptSta,const AcGePoint3d& ptEnd,double dRad,AcDbVoidPtrArray& arFacePtrs);
// 方管
static BOOL Duct(const AcGePoint3d& ptSta,const AcGeVector3d& vtX,const AcGeVector3d& vtY,const AcGeVector3d& vtZ,AcDbVoidPtrArray& arFacePtrs);
// 偏心变径
static BOOL PipeEccRed(const AcGePoint3d& ptCen1,double dRad1,const AcGePoint3d& ptCen2,double dRad2,const AcGeVector3d& vtOffset,AcDbVoidPtrArray& arFacePtrs);
// 变径
static BOOL PipeRed(const AcGePoint3d& ptFr,double dRad1,const AcGePoint3d& ptTo,double dRad2,AcDbVoidPtrArray& arFacePtrs);
// 圆台
static BOOL ConeRed(const AcGePoint3d& ptFr,double dRad1,const AcGePoint3d& ptTo,double dRad2,AcDbVoidPtrArray& arFacePtrs);
// 椭圆封头
static BOOL HemiSph(const AcGePoint3d& ptCen,double dRad,double dH,const AcGeVector3d& vtNorm,AcDbVoidPtrArray& arFacePtrs);
// 方型台
static BOOL PyRam(const AcGePoint3d& ptSta,const AcGeVector3d& vtX,const AcGeVector3d& vtY,const AcGePoint3d& ptEnd,double dX2,double dY2,AcDbVoidPtrArray& arFacePtrs);
// 容器
static BOOL Container(const AcGePoint3d& ptSta,const AcGePoint3d& ptEnd,double dR,double dH,AcDbVoidPtrArray& arFacePtrs);
// 封头 nPos 端位置
static BOOL Cap(const AcGePoint3d& ptSta,const AcGePoint3d& ptEnd,double dR,double dH,AcDbVoidPtrArray& arFacePtrs);
public:
//分化率,边长数
static int m_nChordSegs;
};
#endif //_KT3DMODEL_H__