67 lines
2.5 KiB
C++
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__
|