diff --git a/EGkPolyLine.h b/EGkPolyLine.h index 1baa2e6..34c11e6 100644 --- a/EGkPolyLine.h +++ b/EGkPolyLine.h @@ -109,6 +109,8 @@ class PolyLine EGK_EXPORT bool MakeConvex( const Vector3d& vtN, bool bLeftSide) ; EGK_EXPORT bool Invert( bool bInvertU = true) ; EGK_EXPORT bool Flatten( double dZ = 0) ; + EGK_EXPORT bool GetConvexHullXY( PNTVECTOR& vConvHull) const ; + EGK_EXPORT bool GetMinAreaRectangleXY( Point3d& ptCen, Vector3d& vtAx, double& dLen, double& dHeight) const ; private : int m_nRejected ; diff --git a/EInAPI.h b/EInAPI.h index 0ec3bc0..6a97b85 100644 --- a/EInAPI.h +++ b/EInAPI.h @@ -428,6 +428,8 @@ EIN_EXPORT BOOL __stdcall EgtCurveNearestExtremityToPoint( int nId, const double EIN_EXPORT BOOL __stdcall EgtCurveExtrusion( int nId, int nRefId, double vtExtr[3]) ; EIN_EXPORT BOOL __stdcall EgtCurveThickness( int nId, double* pdThick) ; EIN_EXPORT BOOL __stdcall EgtCurveSelfIntersCount( int nId, int* pnCount) ; +EIN_EXPORT BOOL __stdcall EgtCurveMinAreaRectangleXY( int nId, int nRefId, + double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3], double* pdDimX, double* pdDimY) ; EIN_EXPORT int __stdcall EgtClosedCurveClassify( int nId1, int nId2) ; EIN_EXPORT BOOL __stdcall EgtGetMinDistPointCurve( const double ptP[3], int nId, double* pdDist, double* pdU) ; EIN_EXPORT BOOL __stdcall EgtGetMinDistPntSidePointCurve( const double ptP[3], int nId, const double vtN[3], diff --git a/EXeExecutor.h b/EXeExecutor.h index 6bf5db0..e987e46 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -406,6 +406,7 @@ EXE_EXPORT int ExeSplitCurveAtPoint( int nId, const Point3d& ptOn, int nRefType EXE_EXPORT int ExeSplitCurveAtParam( int nId, double dParam) ; EXE_EXPORT int ExeSplitCurveAtCorners( int nId, double dTgAngToler, int* pnCount) ; EXE_EXPORT int ExeSplitCurveAtSelfInters( int nId, int* pnCount) ; +EXE_EXPORT int ExeGetCurveLinearConvexHullXY( int nId, double dLinTol, int nRefType) ; EXE_EXPORT bool ExeModifyCircleCP( int nId, const Point3d& ptOn, int nRefType) ; EXE_EXPORT bool ExeModifyArcRadius( int nId, double dRad) ; EXE_EXPORT bool ExeModifyArcC2P( int nId, const Point3d& ptEnd, int nRefType) ; @@ -465,6 +466,7 @@ EXE_EXPORT bool ExeCurveNearestExtremityToPoint( int nId, const Point3d& ptP, bo EXE_EXPORT bool ExeCurveExtrusion( int nId, int nRefId, Vector3d& vtExtr) ; EXE_EXPORT bool ExeCurveThickness( int nId, double* pdThick) ; EXE_EXPORT bool ExeCurveSelfIntersCount( int nId, int* pnCount) ; +EXE_EXPORT bool ExeCurveMinAreaRectangleXY( int nId, int nRefId, Frame3d& frRect, double& dDimX, double& dDimY) ; EXE_EXPORT int ExeClosedCurveClassify( int nId1, int nId2) ; EXE_EXPORT bool ExeGetMinDistPointCurve( const Point3d& ptP, int nId, double* pdDist, double* pdU) ; EXE_EXPORT bool ExeGetMinDistPntSidePointCurve( const Point3d& ptP, int nId, const Vector3d& vtN,