diff --git a/EGkBBox3d.h b/EGkBBox3d.h index 0214722..678d365 100644 --- a/EGkBBox3d.h +++ b/EGkBBox3d.h @@ -74,7 +74,7 @@ class EGK_EXPORT BBox3d bool GetCenter( Point3d& ptCenter) const ; bool GetRadius( double& dRad) const ; bool GetDiameter( double& dDiam) const ; - void Translate( const Vector3d& vtMove) ; + bool Translate( const Vector3d& vtMove) ; bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) ; bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) ; bool ToGlob( const Frame3d& frRef) ; diff --git a/EGkCurveComposite.h b/EGkCurveComposite.h index 4f4894b..24e303a 100644 --- a/EGkCurveComposite.h +++ b/EGkCurveComposite.h @@ -39,6 +39,9 @@ class __declspec( novtable) ICurveComposite : public ICurve virtual bool IsParamAtJoint( double dU) const = 0 ; virtual ICurve* RemoveFirstOrLastCurve( bool bLast = true) = 0 ; virtual bool ChangeStartPoint( double dU) = 0 ; + virtual bool AddLine( const Point3d& ptNew, bool bEndOrStart = true) = 0 ; + virtual bool AddArcTg( const Point3d& ptNew, bool bEndOrStart = true) = 0 ; + virtual bool AddArc2P( const Point3d& ptOther, const Point3d& ptNew, bool bEndOrStart = true) = 0 ; virtual bool AddJoint( double dU) = 0 ; virtual bool ModifyJoint( int nU, const Point3d& ptNewJoint) = 0 ; virtual bool RemoveJoint( int nU) = 0 ; diff --git a/EInAPI.h b/EInAPI.h index a6cf736..019441e 100644 --- a/EInAPI.h +++ b/EInAPI.h @@ -360,6 +360,7 @@ EIN_EXPORT BOOL __stdcall EgtInvertCurve( int nId) ; EIN_EXPORT BOOL __stdcall EgtOffsetCurve( int nId, double dDist, int nType) ; EIN_EXPORT int __stdcall EgtOffsetCurveAdv( int nId, double dDist, int nType, int* pnCount) ; EIN_EXPORT BOOL __stdcall EgtApproxCurve( int nId, int nApprType, double dLinTol) ; +EIN_EXPORT BOOL __stdcall EgtProjectCurveOnPlane( int nId, const double ptP[3], const double vtN[3], int nRefType) ; EIN_EXPORT BOOL __stdcall EgtChangeClosedCurveStartPoint( int nId, const double ptP[3], int nRefType) ; EIN_EXPORT BOOL __stdcall EgtModifyCurveStartPoint( int nId, const double ptP[3], int nRefType) ; EIN_EXPORT BOOL __stdcall EgtModifyCurveEndPoint( int nId, const double ptP[3], int nRefType) ; @@ -379,6 +380,10 @@ EIN_EXPORT BOOL __stdcall EgtModifyCircleCP( int nId, const double ptOn[3], int EIN_EXPORT BOOL __stdcall EgtModifyArcRadius( int nId, double dRad) ; EIN_EXPORT BOOL __stdcall EgtModifyArcC2P( int nId, const double ptEnd[3], int nRefType) ; EIN_EXPORT BOOL __stdcall EgtModifyArc3P( int nId, const double ptMid[3], int nRefType) ; +EIN_EXPORT BOOL __stdcall EgtCloseCurveCompo( int nId) ; +EIN_EXPORT BOOL __stdcall EgtAddCurveCompoLine( int nId, const double ptP[3], int nRefType) ; +EIN_EXPORT BOOL __stdcall EgtAddCurveCompoArcTg( int nId, const double ptP[3], int nRefType) ; +EIN_EXPORT BOOL __stdcall EgtAddCurveCompoArc2P( int nId, const double ptMid[3], const double ptP[3], int nRefType) ; EIN_EXPORT BOOL __stdcall EgtAddCurveCompoJoint( int nId, double dU) ; EIN_EXPORT BOOL __stdcall EgtModifyCurveCompoJoint( int nId, int nU, const double ptP[3], int nRefType) ; EIN_EXPORT int __stdcall EgtGetCurveCompoJointCount( int nId) ; @@ -410,7 +415,10 @@ EIN_EXPORT BOOL __stdcall EgtFrame( int nId, int nRefId, double ptOrig[3], EIN_EXPORT BOOL __stdcall EgtCurveDomain( int nId, double* pdStart, double* pdEnd) ; EIN_EXPORT BOOL __stdcall EgtCurveLength( int nId, double* pdLen) ; EIN_EXPORT BOOL __stdcall EgtCurveLengthAtPoint( int nId, const double ptOn[3], double dExtend, double* pdLen) ; +EIN_EXPORT BOOL __stdcall EgtCurveIsClosed( int nId) ; +EIN_EXPORT BOOL __stdcall EgtCurveIsFlat( int nId, double vtN[3], double* pdDist) ; EIN_EXPORT BOOL __stdcall EgtCurveAreaXY( int nId, double* pdArea) ; +EIN_EXPORT BOOL __stdcall EgtCurveArea( int nId, double vtN[3], double* pdDist, double* pdArea) ; EIN_EXPORT BOOL __stdcall EgtCurveNearestExtremityToPoint( int nId, const double ptP[3], BOOL* pbStart) ; EIN_EXPORT BOOL __stdcall EgtCurveExtrusion( int nId, int nRefId, double vtExtr[3]) ; EIN_EXPORT BOOL __stdcall EgtCurveThickness( int nId, double* pdThick) ; @@ -743,6 +751,8 @@ EIN_EXPORT BOOL __stdcall EgtFrameFrom3Points( double ptO[3], double ptOnX[3], d double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3]) ; EIN_EXPORT BOOL __stdcall EgtFrameOCS( double ptO[3], double vtDirZ[3], double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3]) ; +EIN_EXPORT int __stdcall EgtFrameGetType( const double ptOrig[3], + const double vtX[3], const double vtY[3], const double vtZ[3]) ; EIN_EXPORT BOOL __stdcall EgtFrameTranslate( double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3], const double vtMove[3]) ; EIN_EXPORT BOOL __stdcall EgtFrameRotate( double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3], @@ -754,6 +764,8 @@ EIN_EXPORT BOOL __stdcall EgtFrameToLoc( double ptOrig[3], double vtX[3], double EIN_EXPORT BOOL __stdcall EgtFrameLocToLoc( double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3], const double ptO1[3], const double vtX1[3], const double vtY1[3], const double vtZ1[3], const double ptO2[3], const double vtX2[3], const double vtY2[3], const double vtZ2[3]) ; +EIN_EXPORT BOOL __stdcall EgtBBoxTranslate( double ptMin[3], double ptMax[3], + const double vtMove[3]) ; EIN_EXPORT BOOL __stdcall EgtBBoxRotate( double ptMin[3], double ptMax[3], const double ptAx[3], const double vtAx[3], double dAngRotDeg) ; EIN_EXPORT BOOL __stdcall EgtBBoxToGlob( double ptMin[3], double ptMax[3], diff --git a/EXeExecutor.h b/EXeExecutor.h index fc021c1..e8ec030 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -403,6 +403,10 @@ EXE_EXPORT bool ExeModifyArcC2P( int nId, const Point3d& ptEnd, int nRefType) ; EXE_EXPORT bool ExeModifyArc3P( int nId, const Point3d& ptMid, int nRefType) ; EXE_EXPORT bool ExeModifyArcToExplementary( int nId) ; EXE_EXPORT bool ExeModifyArcByFlip( int nId) ; +EXE_EXPORT bool ExeCloseCurveCompo( int nId) ; +EXE_EXPORT bool ExeAddCurveCompoLine( int nId, const Point3d& ptP, int nRefType) ; +EXE_EXPORT bool ExeAddCurveCompoArcTg( int nId, const Point3d& ptP, int nRefType) ; +EXE_EXPORT bool ExeAddCurveCompoArc2P( int nId, const Point3d& ptMid, const Point3d& ptP, int nRefType) ; EXE_EXPORT bool ExeAddCurveCompoJoint( int nId, double dU) ; EXE_EXPORT bool ExeModifyCurveCompoJoint( int nId, int nU, const Point3d& ptP, int nRefType) ; EXE_EXPORT int ExeGetCurveCompoJointCount( int nId) ; @@ -443,7 +447,10 @@ EXE_EXPORT bool ExeFrame( int nId, int nRefId, Frame3d& frFrame) ; EXE_EXPORT bool ExeCurveDomain( int nId, double* pdStart, double* pdEnd) ; EXE_EXPORT bool ExeCurveLength( int nId, double* pdLen) ; EXE_EXPORT bool ExeCurveLengthAtPoint( int nId, const Point3d& ptOn, double dExtend, double* pdLen) ; -EXE_EXPORT bool ExeCurveAreaXY( int nId, double* pdArea) ; +EXE_EXPORT bool ExeCurveIsClosed( int nId) ; +EXE_EXPORT bool ExeCurveIsFlat( int nId, Plane3d& Plane) ; +EXE_EXPORT bool ExeCurveAreaXY( int nId, double& dArea) ; +EXE_EXPORT bool ExeCurveArea( int nId, Plane3d& Plane, double& dArea) ; EXE_EXPORT bool ExeCurveNearestExtremityToPoint( int nId, const Point3d& ptP, bool& bStart) ; EXE_EXPORT bool ExeCurveExtrusion( int nId, int nRefId, Vector3d& vtExtr) ; EXE_EXPORT bool ExeCurveThickness( int nId, double* pdThick) ;