#pragma once #include #include #include #include #include #ifdef EARTHWORM_EXPORT #define DLLIMPEXP __declspec(dllexport) #else #define DLLIMPEXP __declspec(dllimport) #endif class DLLIMPEXP SubDMesh { public: struct Pnt { double x, y, z; }; static void fillPnt(const AcGePoint3d &pt, Pnt &pnt); static void fillPt(const Pnt &pnt, AcGePoint3d &pt); static bool subDMesh2Buffer(const AcArray &faces , const AcGePoint3dArray &pts , const AcGePoint3dArray &pts2d , void *&pOutBuffer , Adesk::UInt32 &nOutLen); static bool Buffer2SubDMesh(void *pBuffer , const int &len , AcArray &faces , AcGePoint3dArray &pts , AcGePoint3dArray &pts2d); static bool subDMesh2Buffer( const AcDbSubDMesh &mesh , const AcGePoint3dArray &pts2d , void *&pOutBuffer , Adesk::UInt32 &nOutLen); };