60 lines
1.6 KiB
C++
60 lines
1.6 KiB
C++
#pragma once
|
|
|
|
#ifdef EARTHWORM_EXPORT
|
|
#define DLLIMPEXP __declspec(dllexport)
|
|
#else
|
|
#define DLLIMPEXP __declspec(dllimport)
|
|
#endif
|
|
|
|
#include <brface.h>
|
|
|
|
class DLLIMPEXP BrepOper
|
|
{
|
|
public:
|
|
static void setUCS(AcGePlane &plan, bool bPlan = true);
|
|
|
|
static bool setUCSByFace(AcBrFace *pFace, bool bPlan = false);
|
|
static bool setUCSBySubentPath(AcDbFullSubentPath &path, bool bPlan = false);
|
|
|
|
static bool setUcsByPickFace(AcDbObjectId &id , const AcGePoint3d &pickPnt, AcDbVoidPtrArray *pAr = NULL);
|
|
|
|
static AcDb3dSolid* get3DSolidBySH(AcDbObjectId &idSH);
|
|
|
|
static void getSubPathBySolid(AcDbObjectId &id
|
|
, AcArray<AcDbSubentId> &subs
|
|
, AcArray<AcGePlane> &plans);
|
|
|
|
static void copyEdgeByFace(AcDbObjectId &id, const AcGePoint3d &pickPnt, AcDbCurve *&pEdge);
|
|
|
|
static bool getPlaneByBrepFace(const AcBrFace *pFace, AcGePlane &plan);
|
|
|
|
static bool selectSubentPaths(LPCTSTR filter
|
|
, ads_point adsPt
|
|
, const AcDb::SubentType &subType
|
|
, AcDbFullSubentPathArray &paths);
|
|
|
|
static bool getProfileByPickFace(AcDbObjectId &id
|
|
, const AcGePoint3d &pickPnt
|
|
, AcDbVoidPtrArray &ptrs);
|
|
|
|
static bool getProfileByPickFace2(AcDbObjectId &idSH
|
|
, const AcGePoint3d &pickPnt
|
|
, AcDbVoidPtrArray &ptrsOut
|
|
, AcDbVoidPtrArray &ptrsIn);
|
|
|
|
static bool getProfileByPickFace3(AcDbObjectId &idSH
|
|
, const AcGePoint3d &pickPnt
|
|
, AcDbVoidPtrArray &ptrsOut
|
|
, AcDbVoidPtrArray &ptrsIn
|
|
, void*&pFaceSolid);
|
|
|
|
static AcDbSubentId Acad2Zcad(const AcDbSubentId &idCad);
|
|
|
|
static void test();
|
|
|
|
static void get3DSolidToPolyMesh();
|
|
|
|
static bool PolyhedronGeometry(AcDb3dSolid *p3d, CString &sVertices, CString &sIndices);
|
|
};
|
|
|