Compare commits
23 Commits
Preview
...
Nst_SurfFr
| Author | SHA1 | Date | |
|---|---|---|---|
| a11da73e36 | |||
| ca5efc44a9 | |||
| 4352332d54 | |||
| 0b155ef732 | |||
| 71e670357b | |||
| 41f2151748 | |||
| 28ae97ae20 | |||
| cac25dd095 | |||
| 2eccae4b92 | |||
| fac9c9cbc7 | |||
| c879b37f7d | |||
| a6c5a4e6ca | |||
| b6a535a3b7 | |||
| 84ae21db77 | |||
| 89d62ea86a | |||
| 4e4ac1353e | |||
| f24ca04620 | |||
| 6819363068 | |||
| bd01cb72fd | |||
| 32cba3873e | |||
| ee7aabb242 | |||
| 552c408827 | |||
| 8bd32361be |
@@ -35,20 +35,27 @@ const int SCI_LINE_LINE = 4 ; // tra linea di mobile e linea di fiss
|
||||
struct SCollInfo
|
||||
{
|
||||
int nType ; // tipo di collisione
|
||||
|
||||
int nChunkM ; // indice del chunk della regione mobile
|
||||
int nCrvM ; // indice della curva nel loop esterno del chunk
|
||||
int nLoopM ; // indice del loop del chunk della regione mobile
|
||||
int nCrvM ; // indice della curva nel loop del chunk
|
||||
|
||||
int nChunkF ; // indice del chunk della regione fissa
|
||||
int nCrvF ; // indice della curva nel loop esterno del chunk
|
||||
int nLoopF ; // indice del loop del chunk della regione fissa
|
||||
int nCrvF ; // indice della curva nel loop del chunk
|
||||
|
||||
Point3d ptP1 ; // punto di contatto
|
||||
Point3d ptP2 ; // se contatto linea-linea, secondo punto di contatto
|
||||
Vector3d vtDirM ; // se contatto del mobile con linea, sua direzione
|
||||
Vector3d vtDirF ; // se contatto del fisso con linea, sua direzione
|
||||
|
||||
// costruttori
|
||||
SCollInfo() : nType( SCI_NONE), nChunkM( -1), nCrvM( -1), nChunkF( -1), nCrvF( -1),
|
||||
SCollInfo() : nType( SCI_NONE), nChunkM( -1), nLoopM( -1), nCrvM( -1), nChunkF( -1), nLoopF( -1), nCrvF( -1),
|
||||
ptP1(), ptP2(), vtDirM(), vtDirF() {}
|
||||
SCollInfo( const SCollInfo& Sou) : nType( Sou.nType), nChunkM( Sou.nChunkM), nCrvM( Sou.nCrvM),
|
||||
nChunkF( Sou.nChunkF), nCrvF( Sou.nCrvF), ptP1( Sou.ptP1),
|
||||
ptP2( Sou.ptP2), vtDirM( Sou.vtDirM), vtDirF( Sou.vtDirF) {}
|
||||
SCollInfo( const SCollInfo& Sou) : nType( Sou.nType),
|
||||
nChunkM( Sou.nChunkM), nLoopM( Sou.nLoopM), nCrvM( Sou.nCrvM),
|
||||
nChunkF( Sou.nChunkF), nLoopF( Sou.nLoopF), nCrvF( Sou.nCrvF),
|
||||
ptP1( Sou.ptP1), ptP2( Sou.ptP2), vtDirM( Sou.vtDirM), vtDirF( Sou.vtDirF) {}
|
||||
} ;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
@@ -67,4 +74,4 @@ class CAvSimpleSurfFrMove
|
||||
const ISurfFlatRegion* m_pRegM ;
|
||||
const ISurfFlatRegion* m_pRegF ;
|
||||
SCollInfo m_SCollInfo ;
|
||||
} ;
|
||||
} ;
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2015-2018
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EGkCAvSurfFrMove.h Data : 26.03.2026 Versione : 3.1c7
|
||||
// Contenuto : Dichiarazione classe per movimento di superfici flat region
|
||||
// nel loro piano evitando collisioni
|
||||
//
|
||||
// Modifiche : 26.03.26 RE Creazione modulo.
|
||||
//
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "/EgtDev/Include/EGkCAvSimpleSurfFrMove.h"
|
||||
|
||||
//----------------------- Macro per import/export ----------------------------
|
||||
#undef EGK_EXPORT
|
||||
#if defined( I_AM_EGK) // da definirsi solo nella DLL
|
||||
#define EGK_EXPORT __declspec( dllexport)
|
||||
#else
|
||||
#define EGK_EXPORT __declspec( dllimport)
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
class CAvSurfFrMove
|
||||
{
|
||||
public :
|
||||
EGK_EXPORT CAvSurfFrMove( const ISurfFlatRegion& SfrM, const ISurfFlatRegion& SfrF) ;
|
||||
|
||||
public :
|
||||
EGK_EXPORT bool Translate( const Vector3d& vtDir, double& dLen) ;
|
||||
EGK_EXPORT bool Rotate( const Point3d& ptCen, double& dAng) ;
|
||||
EGK_EXPORT const SCollInfo& GetCollInfo()
|
||||
{ return m_CollInfo ; }
|
||||
|
||||
private :
|
||||
const ISurfFlatRegion* m_pRegM ;
|
||||
const ISurfFlatRegion* m_pRegF ;
|
||||
SCollInfo m_CollInfo ;
|
||||
} ;
|
||||
+2
-2
@@ -23,7 +23,7 @@ class CurveLocal
|
||||
CurveLocal( IGeomDB* pGeomDB, int nCrvId, const Frame3d& frLoc)
|
||||
: m_pCrv( nullptr), m_pCopy( nullptr)
|
||||
{ // verifica dei parametri
|
||||
if ( pGeomDB == nullptr || &frLoc == nullptr)
|
||||
if ( pGeomDB == nullptr)
|
||||
return ;
|
||||
// recupero riferimento della curva
|
||||
Frame3d frCrv ;
|
||||
@@ -76,7 +76,7 @@ class CurveLocal
|
||||
return ;
|
||||
m_pCrv = m_pCopy ;
|
||||
}
|
||||
CurveLocal( CurveLocal&& Other)
|
||||
CurveLocal( CurveLocal&& Other) noexcept
|
||||
: m_pCrv( Other.m_pCrv), m_pCopy( Other.m_pCopy)
|
||||
{ // annullo gli originali
|
||||
Other.m_pCrv = nullptr ;
|
||||
|
||||
@@ -40,7 +40,8 @@ class CrvPointDiffGeom
|
||||
double dCurv ;
|
||||
|
||||
public :
|
||||
CrvPointDiffGeom( void) { nStatus = NONE ; nFlag = STD ; }
|
||||
CrvPointDiffGeom( void)
|
||||
: nStatus( NONE), nFlag( STD), dU( -1), dCurv( -1) {}
|
||||
} ;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
+2
-2
@@ -63,8 +63,8 @@ class DistPointCurve
|
||||
EGK_EXPORT bool GetMinDistPoint( double dNearParam, Point3d& ptMinDist, int& nFlag) const ;
|
||||
EGK_EXPORT bool GetParamAtMinDistPoint( int nInd, double& dParam, int& nFlag) const ;
|
||||
EGK_EXPORT bool GetParamAtMinDistPoint( double dNearParam, double& dParam, int& nFlag) const ;
|
||||
EGK_EXPORT bool GetSideAtMinDistPoint( int nInd, const Vector3d& vtN, int& nSide) const ;
|
||||
EGK_EXPORT bool GetSideAtMinDistPoint( double dNearParam, const Vector3d& vtN, int& nSide) const ;
|
||||
EGK_EXPORT bool GetSideAtMinDistPoint( int nInd, const Vector3d& vtN, int& nSide, double dTol = EPS_SMALL) const ;
|
||||
EGK_EXPORT bool GetSideAtMinDistPoint( double dNearParam, const Vector3d& vtN, int& nSide, double dTol = EPS_SMALL) const ;
|
||||
EGK_EXPORT bool GetMinDistInfo( int nInd, MinDistPCInfo& aInfo) const ;
|
||||
|
||||
private :
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@ struct IntCrvCrvInfo {
|
||||
IntCrvInfo IciB[2] ; //!< IciB[0] intersez. isolata o inizio overlap, IciB[1] fine overlap
|
||||
// costruttore
|
||||
IntCrvCrvInfo( void)
|
||||
: bOverlap( false) {}
|
||||
: bOverlap( false), bCBOverEq( false) {}
|
||||
} ;
|
||||
//! vettore di IntCrvCrvInfo
|
||||
typedef std::vector<IntCrvCrvInfo> ICCIVECTOR ;
|
||||
|
||||
@@ -46,9 +46,9 @@ enum IntLineTriaAuxType { ILTA_NO_TRIA = -1, // l'intersezione è stata ca
|
||||
ILTA_IN = 5} ; // intersezione in interno del triangolo
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//! dati di intersezione linea - superficie trimesh
|
||||
//! dati di intersezione linea - superficie bezier
|
||||
struct IntLinSbzInfo {
|
||||
int nILTA ; //!< tipo di intersezione linea-triangolo // se -1 vuol dire che l'intersezione � stata calcolata direttamente, senza usare la trimesh
|
||||
int nILSB ; //!< tipo di intersezione linea-bezier
|
||||
double dU ; //!< parametro sulla linea
|
||||
double dU2 ; //!< secondo parametro sulla linea
|
||||
int nT ; //!< indice del triangolo della superficie trimesh // se -1 vuol dire che l'intersezione � stata calcolata direttamente, senza usare la trimesh
|
||||
@@ -58,11 +58,11 @@ struct IntLinSbzInfo {
|
||||
Point3d ptUV ; //!< coordinate del punto nello spazio parametrico
|
||||
Point3d ptUV2 ; //!< coordinate del secondo punto nello spazio parametrico
|
||||
// costruttori
|
||||
IntLinSbzInfo( void) : nILTA( ILTA_NO), dU( 0), dU2( 0), nT(0), dCosDN(0), ptI(), ptI2(), ptUV(), ptUV2(){}
|
||||
IntLinSbzInfo( int nILT, double dUU, int nTT, double dCos, const Point3d& ptP, const Point3d ptSP)
|
||||
: nILTA( nILT), dU( dUU), dU2( 0), nT( nTT), dCosDN( dCos), ptI( ptP), ptI2(), ptUV( ptSP), ptUV2() {}
|
||||
IntLinSbzInfo( int nILT, double dUU, double dUU2, int nTT, double dCos, const Point3d& ptP, const Point3d& ptP2, const Point3d& ptSP, const Point3d& ptSP2)
|
||||
: nILTA( nILT), dU( dUU), dU2( dUU2), nT( nTT), dCosDN( dCos), ptI( ptP), ptI2( ptP2), ptUV( ptSP), ptUV2( ptSP2) {}
|
||||
IntLinSbzInfo( void) : nILSB( LSBT_NONE), dU( 0), dU2( 0), nT(0), dCosDN(0), ptI(), ptI2(), ptUV(), ptUV2(){}
|
||||
IntLinSbzInfo( int nILS, double dUU, int nTT, double dCos, const Point3d& ptP, const Point3d ptSP)
|
||||
: nILSB( nILS), dU( dUU), dU2( 0), nT( nTT), dCosDN( dCos), ptI( ptP), ptI2(), ptUV( ptSP), ptUV2() {}
|
||||
IntLinSbzInfo( int nILS, double dUU, double dUU2, int nTT, double dCos, const Point3d& ptP, const Point3d& ptP2, const Point3d& ptSP, const Point3d& ptSP2)
|
||||
: nILSB( nILS), dU( dUU), dU2( dUU2), nT( nTT), dCosDN( dCos), ptI( ptP), ptI2( ptP2), ptUV( ptSP), ptUV2( ptSP2) {}
|
||||
} ;
|
||||
//! vettore di IntLinSbzInfo
|
||||
typedef std::vector<IntLinSbzInfo> ILSBIVECTOR ;
|
||||
|
||||
@@ -102,6 +102,7 @@ class __declspec( novtable) ISurfBezier : public ISurf
|
||||
virtual bool CreateByTwoCurves( const ICurve* pCurve1, const ICurve* pCurve2, int nType) = 0 ;
|
||||
virtual bool CreateBySetOfCurves( const ICURVEPOVECTOR& vCrvBez, bool bReduceToDeg3 = true) = 0 ;
|
||||
virtual bool RemoveCollapsedSpans() = 0 ;
|
||||
virtual PNTVECTOR GetAllControlPoints( void) const = 0 ;
|
||||
} ;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
+2
-1
@@ -52,7 +52,8 @@ class __declspec( novtable) ISurfFlatRegion : public ISurf
|
||||
virtual bool GetChunkCentroid( int nChunk, Point3d& ptCen) const = 0 ;
|
||||
virtual bool GetChunkArea( int nChunk, double& dArea) const = 0 ;
|
||||
virtual bool GetChunkPerimeter( int nChunk, double& dLen) const = 0 ;
|
||||
virtual int GetChunkSimpleClassification( int nChunk, const ISurfFlatRegion& Other, int nOthChunk) const ; // compare only outsides
|
||||
virtual int GetChunkSimpleClassification( int nChunk, const ISurfFlatRegion& Other, int nOthChunk) const = 0 ; // compare only outsides
|
||||
virtual bool CheckChunkInterference( int nChunk, const ISurfFlatRegion& Other, int nOthChunk, bool& bInterference) const = 0 ;
|
||||
virtual bool GetChunkMaxOffset( int nChunk, double& dOffs) const = 0 ;
|
||||
virtual int GetLoopCount( int nChunk) const = 0 ;
|
||||
virtual int GetLoopCurveCount( int nChunk, int nLoop) const = 0 ;
|
||||
|
||||
+3
-3
@@ -23,7 +23,7 @@ class SurfLocal
|
||||
SurfLocal( IGeomDB* pGeomDB, int nSrfId, const Frame3d& frLoc)
|
||||
: m_pSrf( nullptr), m_pCopy( nullptr)
|
||||
{ // verifica dei parametri
|
||||
if ( pGeomDB == nullptr || &frLoc == nullptr)
|
||||
if ( pGeomDB == nullptr)
|
||||
return ;
|
||||
// recupero riferimento della superficie
|
||||
Frame3d frSrf ;
|
||||
@@ -48,7 +48,7 @@ class SurfLocal
|
||||
SurfLocal( const ISurf* pSurf, const Frame3d& frSrf, const Frame3d& frLoc)
|
||||
: m_pSrf( nullptr), m_pCopy( nullptr)
|
||||
{ // verifica dei parametri
|
||||
if ( pSurf == nullptr || &frSrf == nullptr || &frLoc == nullptr)
|
||||
if ( pSurf == nullptr)
|
||||
return ;
|
||||
// assegno la superficie originale
|
||||
m_pSrf = pSurf ;
|
||||
@@ -76,7 +76,7 @@ class SurfLocal
|
||||
return ;
|
||||
m_pSrf = m_pCopy ;
|
||||
}
|
||||
SurfLocal( SurfLocal&& Other)
|
||||
SurfLocal( SurfLocal&& Other) noexcept
|
||||
: m_pSrf( Other.m_pSrf), m_pCopy( Other.m_pCopy)
|
||||
{ // annullo gli originali
|
||||
Other.m_pSrf = nullptr ;
|
||||
|
||||
@@ -138,6 +138,7 @@ class __declspec( novtable) ISurfTriMesh : public ISurf
|
||||
virtual bool GetPartLoops( int nPart, POLYLINEVECTOR& vPL) const = 0 ;
|
||||
virtual bool RemovePart( int nPart) = 0 ;
|
||||
virtual ISurfTriMesh* ClonePart( int nPart) const = 0 ;
|
||||
virtual bool GetPartAndShellFromFacet( int nFacet, int& nPart, int& nShell) const = 0 ;
|
||||
virtual bool SetTFlag( int nId, int nTFlag) = 0 ;
|
||||
virtual bool GetTFlag( int nId, int& nFlag) const = 0 ;
|
||||
virtual int GetMaxTFlag( void) const = 0 ;
|
||||
|
||||
+5
-4
@@ -29,10 +29,10 @@ class __declspec( novtable) IVolZmap : public IGeoObj
|
||||
public :
|
||||
virtual bool CopyFrom( const IGeoObj* pGObjSrc) = 0 ;
|
||||
virtual bool Clear( void) = 0 ;
|
||||
virtual bool Create( const Point3d& ptO, double dDimX, double dDimY, double dDimZ, double dStep, bool bTriDex) = 0 ;
|
||||
virtual bool CreateEmpty( const Point3d& ptO, double dDimX, double dDimY, double dDimZ, double dStep, bool bTriDex) = 0 ;
|
||||
virtual bool CreateFromFlatRegion( const ISurfFlatRegion& Surf, double dDimZ, double dStep, bool bTriDex) = 0 ;
|
||||
virtual bool CreateFromTriMesh( const ISurfTriMesh& Surf, double dStep, bool bTriDex, double dExtraBox = 0) = 0 ;
|
||||
virtual bool Create( const Point3d& ptO, double dDimX, double dDimY, double dDimZ, double dStep, bool bTriDex, int* nError = nullptr) = 0 ;
|
||||
virtual bool CreateEmpty( const Point3d& ptO, double dDimX, double dDimY, double dDimZ, double dStep, bool bTriDex, int* nError = nullptr) = 0 ;
|
||||
virtual bool CreateFromFlatRegion( const ISurfFlatRegion& Surf, double dDimZ, double dStep, bool bTriDex, int* nError = nullptr) = 0 ;
|
||||
virtual bool CreateFromTriMesh( const ISurfTriMesh& Surf, double dStep, bool bTriDex, double dExtraBox = 0, int* nError = nullptr) = 0 ;
|
||||
virtual int GetBlockCount( void) const = 0 ;
|
||||
virtual int GetBlockUpdatingCounter( int nBlock) const = 0 ;
|
||||
virtual bool GetBlockTriangles( int nBlock, TRIA3DEXVECTOR& vTria) const = 0 ;
|
||||
@@ -94,6 +94,7 @@ class __declspec( novtable) IVolZmap : public IGeoObj
|
||||
virtual bool AddSurfTm( const ISurfTriMesh* pStm) = 0 ;
|
||||
virtual bool SubtractSurfTm( const ISurfTriMesh* pStm) = 0 ;
|
||||
virtual bool MakeUniform( double dToler, bool bIsExtensionFirst = true, int nToolNum = 0) = 0 ;
|
||||
virtual bool RemoveFins( const Vector3d& vtDir, double dThick) = 0 ;
|
||||
virtual bool Offset( double dOffs, int nType) = 0 ;
|
||||
} ;
|
||||
|
||||
|
||||
@@ -297,6 +297,8 @@ EIN_EXPORT int __stdcall EgtCreatePolygonFromApothem( int nParentId, int nNumSi
|
||||
const double ptMid[3], int nRefType) ;
|
||||
EIN_EXPORT int __stdcall EgtCreatePolygonFromSide( int nParentId, int nNumSides, const double ptIni[3],
|
||||
const double ptFin[3], int nRefType) ;
|
||||
EIN_EXPORT int __stdcall EgtSurfBezierGetCurveU( int nSurfId, double dU, int nDestGroup) ;
|
||||
EIN_EXPORT int __stdcall EgtSurfBezierGetCurveV( int nSurfId, double dV, int nDestGroup) ;
|
||||
|
||||
// GeomDB Create Surf
|
||||
EIN_EXPORT int __stdcall EgtCreateSurfFrRectangle( int nParentId, const double ptIni[3], const double ptCross[3], int nRefType) ;
|
||||
@@ -634,6 +636,9 @@ EIN_EXPORT int __stdcall EgtExtractSurfTmLoops( int nId, int nDestGrpId, int* p
|
||||
EIN_EXPORT int __stdcall EgtExtractSurfTmFacetLoops( int nId, int nFacet, int nDestGrpId, int* pnCount) ;
|
||||
EIN_EXPORT int __stdcall EgtCopySurfTmFacet( int nId, int nFacet, int nDestGrpId) ;
|
||||
EIN_EXPORT int __stdcall EgtExtractSurfTmTriaLoop( int nId, int nT, int nDestGrpId) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtSurfBezierParamsFromPoint( int nSurfId, const double ptOnSurf[3], int nRefId, double* pdU, double* pdV) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtSurfBezierGetPointNrmD1( int nSurfId, double dU, double dV, int nUsd, int nVsd, int nRefId,
|
||||
double ptP[3], double vtNorm[3], double vtDerU[3], double vtDerV[3]) ;
|
||||
EIN_EXPORT int __stdcall EgtExtractSurfBezierLoops( int nId, int nDestGrpId, int* pnCount) ;
|
||||
|
||||
// Geo Snap Vector/Point/Frame
|
||||
@@ -945,6 +950,7 @@ EIN_EXPORT BOOL __stdcall EgtSetMachiningGeometry( int nNumId, const int nIds[],
|
||||
EIN_EXPORT BOOL __stdcall EgtPreviewMachining( BOOL bRecalc) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtApplyMachining( BOOL bRecalc) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtUpdateMachining( void) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtChangePreviewMachiningToolShow( int nLookFlag) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtPreparePreviewMachiningTool( void) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtRemovePreviewMachiningTool( void) ;
|
||||
EIN_EXPORT int __stdcall EgtGetPreviewMachiningToolStepCount( void) ;
|
||||
|
||||
@@ -266,6 +266,7 @@ class __declspec( novtable) IMachMgr
|
||||
virtual bool RemoveMachiningPreview( void) = 0 ;
|
||||
virtual bool MachiningApply( bool bRecalc, bool bPostApply = true) = 0 ;
|
||||
virtual bool MachiningUpdate( bool bPostApply = true) = 0 ;
|
||||
virtual bool ChangePreviewMachiningToolShow( int nLookFlag) = 0 ;
|
||||
virtual bool PreparePreviewMachiningTool( void) const = 0 ;
|
||||
virtual bool RemovePreviewMachiningTool( void) const = 0 ;
|
||||
virtual int GetPreviewMachiningToolStepCount( void) const = 0 ;
|
||||
@@ -289,6 +290,9 @@ class __declspec( novtable) IMachMgr
|
||||
virtual bool GetClEntAxesStatus( int nEntId, int& nStatus) const = 0 ;
|
||||
virtual bool GetClEntAxesMask( int nEntId, int& nMask) const = 0 ;
|
||||
virtual bool GetClEntAxesVal( int nEntId, DBLVECTOR& vAxes) const = 0 ;
|
||||
virtual bool GetClEntTDir( int nEntId, Vector3d& vTDir) const = 0 ;
|
||||
virtual bool GetClEntCDir( int nEntId, Vector3d& vCDir) const = 0 ;
|
||||
virtual bool GetClEntADir( int nEntId, Vector3d& vADir) const = 0 ;
|
||||
// Simulation
|
||||
virtual bool SimInit( void) = 0 ;
|
||||
virtual bool SimStart( bool bFirst) = 0 ;
|
||||
@@ -336,6 +340,7 @@ class __declspec( novtable) IMachMgr
|
||||
virtual bool GetNearestAngleInStroke( int nInd, double dAngRef, double& dAng) const = 0 ;
|
||||
virtual bool LimitAngleToStroke( int nInd, double& dAng) const = 0 ;
|
||||
virtual bool VerifyOutstroke( double dX, double dY, double dZ, double dAngA, double dAngB, int& nStat) const = 0 ;
|
||||
virtual bool VerifyOutstroke( double dX, double dY, double dZ, const DBLVECTOR& vAng, bool bClear, int& nStat) const = 0 ;
|
||||
virtual std::string GetOutstrokeInfo( bool bMM = true) const = 0 ;
|
||||
// Machine
|
||||
virtual int GetBaseId( const std::string& sBase) const = 0 ;
|
||||
|
||||
+16
-9
@@ -746,8 +746,9 @@ EXE_EXPORT bool ExeVolZmapMillingStep( int nId, const Point3d& ptPs, const Vecto
|
||||
const Point3d& ptPe, const Vector3d& vtDe, const Vector3d& vtAe, int nRefType) ;
|
||||
EXE_EXPORT bool ExeCutVolZmapPlane( int nId, const Point3d& ptOn, const Vector3d& vtN, int nRefType) ;
|
||||
EXE_EXPORT bool ExeUpdateVolZmapByAddingSurfTm( int nVolZmapId, int nStmId) ;
|
||||
EXE_EXPORT bool ExeUniformVolZmap( int nVolZmapId, double dToler, bool bExtensionFirst, int nToolNum) ;
|
||||
EXE_EXPORT bool ExeVolZmapMakeUniform( int nVolZmapId, double dToler, bool bExtensionFirst, int nToolNum) ;
|
||||
EXE_EXPORT bool ExeVolZMapOffset( int nId, double dDist, int nType) ;
|
||||
EXE_EXPORT bool ExeVolZMapRemoveFins( int nVolZMapId, const Vector3d& vtDir, double dThick, int nRefType) ;
|
||||
|
||||
// GeomDB Get
|
||||
EXE_EXPORT bool ExeTextNormVersor( int nId, int nRefId, Vector3d& vtNorm) ;
|
||||
@@ -757,7 +758,7 @@ EXE_EXPORT bool ExeTextGetHeight( int nId, double& dH) ;
|
||||
EXE_EXPORT bool ExeTextGetItalic( int nId, bool& bItl) ;
|
||||
|
||||
// GeomDb Get Pocketing
|
||||
EXE_EXPORT bool ExePocketing( const int nId, double dRad, double dStep, double dAngle, int nType, bool bSmooth, int nDestGrpId, int& nFirstId, int& nCrvCount) ;
|
||||
EXE_EXPORT bool ExePocketing( int nId, double dRad, double dStep, double dAngle, int nType, bool bSmooth, int nDestGrpId, int& nFirstId, int& nCrvCount) ;
|
||||
EXE_EXPORT int ExeSurfFrGetZigZagInfill( int nId, int nDestGrpId, double dStep, double dAng, bool bSmooth, bool bRemoveOverlapLink,int* pnCount) ;
|
||||
|
||||
// GeomDb Curve Get
|
||||
@@ -807,12 +808,14 @@ EXE_EXPORT bool ExeSurfFrChunkMaxOffset( int nId, int nChunk, double& dMaxOffset
|
||||
EXE_EXPORT bool ExeSurfFrTestExternal( int nId1, int nId2, double dMinDist) ;
|
||||
EXE_EXPORT int ExeSurfFrChunkCount( int nId) ;
|
||||
EXE_EXPORT int ExeSurfFrChunkSimpleClassify( int nId1, int nChunk1, int nId2, int nChunk2, double dToler = 0) ;
|
||||
EXE_EXPORT int ExeSurfFlatRegionInterference( int nId1, int nChunk1, int nId2, int nChunk2, double dToler = 0) ;
|
||||
EXE_EXPORT bool ExeSurfFrChunkCenter( int nId, int nChunk, int nRefId, Point3d& ptCen, Vector3d& vtN) ;
|
||||
EXE_EXPORT int ExeExtractSurfFrChunkLoops( int nId, int nChunk, int nDestGrpId, int* pnCount) ;
|
||||
EXE_EXPORT int ExeSurfFrGetZigZagInfill( int nId, int nDestGrpId, double dStep, double dAng, bool bSmooth, int* pnCount) ;
|
||||
EXE_EXPORT int ExeSurfTmVertexCount( int nId) ;
|
||||
EXE_EXPORT int ExeSurfTmFacetCount( int nId) ;
|
||||
EXE_EXPORT int ExeSurfTmPartCount( int nId) ;
|
||||
EXE_EXPORT bool ExeSurfTmGetPartAndShellFromFacet( int nSurfTm, int nFacet, int& nPart, int& nShell) ;
|
||||
EXE_EXPORT bool ExeSurfTmGetVertex( int nId, int nVert, int nRefId, Point3d& ptVert) ;
|
||||
EXE_EXPORT bool ExeSurfTmGetNearestVertex( int nId, const Point3d& ptNear, int nRefId, int& nVert, Point3d& ptVert) ;
|
||||
EXE_EXPORT bool ExeSurfTmTriangleNormVersor( int nId, int nTria, int nRefId, Vector3d& vtNorm) ;
|
||||
@@ -853,10 +856,10 @@ EXE_EXPORT bool ExeSurfBezierGetPointD1( int nSurfId, double dU, double dV, int
|
||||
Point3d& ptP, Vector3d& vtDerU, Vector3d& vtDerV) ;
|
||||
EXE_EXPORT bool ExeSurfBezierGetPointNrmD1( int nSurfId, double dU, double dV, int nUsd, int nVsd, int nRefId,
|
||||
Point3d& ptP, Vector3d& vtN, Vector3d& vtDerU, Vector3d& vtDerV) ;
|
||||
EXE_EXPORT bool ExeSurfBezierParamsFromPoint( int nSurfId, const Point3d& ptOnSurf, int nRefId, double& dU, double& dV) ;
|
||||
EXE_EXPORT bool ExeSurfBezierGetInfo( int nSurfId, int& nDegU, int& nDegV, int& nSpanU, int& nSpanV, bool& bIsRat, bool& bTrimmed) ;
|
||||
EXE_EXPORT int ExeSurfBezierGetCurveU( int nSurfId, double dV, int nDestGrpId) ;
|
||||
EXE_EXPORT int ExeSurfBezierGetCurveV( int nSurfId, double dU, int nDestGrpId) ;
|
||||
EXE_EXPORT bool ExeSurfBezParamsFromPoint( int nSurfId, const Point3d& ptOnSurf, int nDestGrpId) ;
|
||||
EXE_EXPORT bool ExeSurfBezierGetInfo( int nSurfId, int& nDegU, int& nDegV, int& nSpanU, int& nSpanV, bool& bIsRat, bool& bTrimmed) ;
|
||||
EXE_EXPORT int ExeSurfBezierGetControlCurveU( int nSurfId, int nIndV, int nDestGrpId) ;
|
||||
EXE_EXPORT int ExeSurfBezierGetControlCurveV( int nSurfId, int nIndU, int nDestGrpId) ;
|
||||
EXE_EXPORT int ExeExtractSurfBezierLoops( int nId, int nDestGrpId, int* pnCount) ;
|
||||
@@ -922,7 +925,7 @@ EXE_EXPORT bool ExePointSurfBzDist( const Point3d& ptP, int nSbzId, int nRefType
|
||||
double* pdDist, Point3d& ptMin, Vector3d& vtN) ;
|
||||
|
||||
// Geo Intersect
|
||||
EXE_EXPORT bool ExeLineCurveInters( const Point3d& ptP, const Vector3d& vtDir, const int nId, const int nRefType,
|
||||
EXE_EXPORT bool ExeLineCurveInters( const Point3d& ptP, const Vector3d& vtDir, int nId, int nRefType,
|
||||
INTDBLVECTOR& vInters) ;
|
||||
EXE_EXPORT bool ExeLineBoxInters( const Point3d& ptP, const Vector3d& vtDir, const BBox3d& b3Box,
|
||||
INTDBLVECTOR& vInters) ;
|
||||
@@ -932,7 +935,7 @@ EXE_EXPORT bool ExeLineSurfBzInters( const Point3d& ptP, const Vector3d& vtDir,
|
||||
INTDBLVECTOR& vInters) ;
|
||||
EXE_EXPORT bool ExeLineVolZmapInters( const Point3d& ptP, const Vector3d& vtDir, int nId, int nRefType,
|
||||
INTDBLVECTOR& vInters) ;
|
||||
EXE_EXPORT int ExePlaneCurveInters( const Point3d& ptOn, const Vector3d& vtN, const int nId, const int nDestGrpId, const int nRefType,
|
||||
EXE_EXPORT int ExePlaneCurveInters( const Point3d& ptOn, const Vector3d& vtN, int nId, int nDestGrpId, int nRefType,
|
||||
int* pnCount) ;
|
||||
EXE_EXPORT int ExePlaneBoxInters( const Point3d& ptOn, const Vector3d& vtN, const BBox3d& b3Box, int nDestGrpId, int nRefType,
|
||||
int* pnPntCount, int* pnCrvCount, int* pnSrfCount) ;
|
||||
@@ -942,9 +945,9 @@ EXE_EXPORT int ExeParPlanesSurfTmInters( const Point3d& ptOn, const Vector3d& v
|
||||
int* pnGrpCount) ;
|
||||
EXE_EXPORT int ExePlaneVolZmapInters( const Point3d& ptOn, const Vector3d& vtN, int nId, int nDestGrpId, int nRefType,
|
||||
int* pnCount) ;
|
||||
EXE_EXPORT int ExeCurveCurveInters( const int nId1, const int nId2, const int nDestGrpId,
|
||||
EXE_EXPORT int ExeCurveCurveInters( int nId1, int nId2, int nDestGrpId,
|
||||
int* pnPntCount, int* pnCrvCount, bool bOnly3D = false) ;
|
||||
EXE_EXPORT int ExeCurveSurfTmInters( const int nCrvId, const int nStmId, const int nDestGrpId,
|
||||
EXE_EXPORT int ExeCurveSurfTmInters( int nCrvId, int nStmId, int nDestGrpId,
|
||||
int* pnPntCount, int* pnCrvCount) ;
|
||||
EXE_EXPORT int ExeSurfTmSurfTmInters( int nId1, int nId2, int nDestGrpId, double dToler,
|
||||
int* pnPntCount, int* pnCrvCount, int* pnSrfCount) ;
|
||||
@@ -1270,6 +1273,7 @@ EXE_EXPORT bool ExeSetMachiningGeometry( const SELVECTOR& vIds) ;
|
||||
EXE_EXPORT bool ExePreviewMachining( bool bRecalc) ;
|
||||
EXE_EXPORT bool ExeApplyMachining( bool bRecalc, bool bPostApply = true) ;
|
||||
EXE_EXPORT bool ExeUpdateMachining( bool bPostApply = true) ;
|
||||
EXE_EXPORT bool ExeChangePreviewMachiningToolShow( int nLookFlag) ;
|
||||
EXE_EXPORT bool ExePreparePreviewMachiningTool( void) ;
|
||||
EXE_EXPORT bool ExeRemovePreviewMachiningTool( void) ;
|
||||
EXE_EXPORT int ExeGetPreviewMachiningToolStepCount( void) ;
|
||||
@@ -1297,7 +1301,9 @@ EXE_EXPORT bool ExeGetClEntFeed( int nEntId, double& dFeed) ;
|
||||
EXE_EXPORT bool ExeGetClEntAxesStatus( int nEntId, int& nStatus) ;
|
||||
EXE_EXPORT bool ExeGetClEntAxesMask( int nEntId, int& nMask) ;
|
||||
EXE_EXPORT bool ExeGetClEntAxesVal( int nEntId, DBLVECTOR& vAxes) ;
|
||||
|
||||
EXE_EXPORT bool ExeGetClEntTDir( int nEntId, Vector3d& vTDir) ;
|
||||
EXE_EXPORT bool ExeGetClEntCDir( int nEntId, Vector3d& vCDir) ;
|
||||
EXE_EXPORT bool ExeGetClEntADir( int nEntId, Vector3d& vADir) ;
|
||||
// Simulation
|
||||
EXE_EXPORT bool ExeSimInit( void) ;
|
||||
EXE_EXPORT bool ExeSimStart( bool bFirst) ;
|
||||
@@ -1359,6 +1365,7 @@ EXE_EXPORT bool ExeGetCalcTipFromPositions( double dX, double dY, double dZ, con
|
||||
EXE_EXPORT bool ExeGetCalcToolDirFromAngles( const DBLVECTOR& vAng, Vector3d& vtDir) ;
|
||||
EXE_EXPORT bool ExeGetCalcAuxDirFromAngles( const DBLVECTOR& vAng, Vector3d& vtDir) ;
|
||||
EXE_EXPORT bool ExeVerifyOutstroke( double dX, double dY, double dZ, double dAngA, double dAngB, int& nStat) ;
|
||||
EXE_EXPORT bool ExeVerifyOutstroke( double dX, double dY, double dZ, const DBLVECTOR& vAng, int& nStat) ;
|
||||
EXE_EXPORT bool ExeGetOutstrokeInfo( std::string& sInfo) ;
|
||||
// Machine Move
|
||||
EXE_EXPORT bool ExeSetAxisPos( const std::string& sAxis, double dVal, double* pdNewVal = nullptr) ;
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ class PtrOwner
|
||||
public :
|
||||
explicit PtrOwner( void) : m_pT( nullptr) {}
|
||||
explicit PtrOwner( T* pT) : m_pT( pT) {}
|
||||
PtrOwner( PtrOwner<T>&& RPT) : m_pT( Release( RPT)) {}
|
||||
PtrOwner( PtrOwner<T>&& RPT) noexcept : m_pT( Release( RPT)) {}
|
||||
PtrOwner( const PtrOwner<T>& RPT) = delete ;
|
||||
~PtrOwner( void) { Reset() ; }
|
||||
bool Set( T* pT) { Reset() ; m_pT = pT ; return ( m_pT != nullptr) ; }
|
||||
|
||||
Reference in New Issue
Block a user