Include : modifiche per interfaccia DistPointCurve.
Piccola miglioria a PointerOwner.
This commit is contained in:
+21
-6
@@ -25,6 +25,19 @@
|
||||
#endif
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
enum MdPCiType { MDPCI_NORMAL, MDPCI_START_CONT, MDPCI_END_CONT} ;
|
||||
struct MinDistPCInfo {
|
||||
MdPCiType nFlag ;
|
||||
double dPar ;
|
||||
Point3d ptQ ;
|
||||
MinDistPCInfo( void)
|
||||
: nFlag( MDPCI_NORMAL), dPar( 0), ptQ( 0, 0, 0) {}
|
||||
MinDistPCInfo( MdPCiType nF, double dP, Point3d pT)
|
||||
: nFlag( nF), dPar( dP), ptQ( pT) {}
|
||||
} ;
|
||||
typedef std::vector<MinDistPCInfo> MDPCIVECTOR ; // vettore di MinDistPCInfo
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
class DistPointCurve
|
||||
{
|
||||
@@ -34,8 +47,11 @@ class DistPointCurve
|
||||
public :
|
||||
EGK_EXPORT bool GetSqDist( double& dSqDist) ;
|
||||
EGK_EXPORT bool GetDist( double& dDist) ;
|
||||
EGK_EXPORT bool GetPointMinDist( Point3d& ptMinDist, bool* pbDet = nullptr) ;
|
||||
EGK_EXPORT bool GetParamAtPointMinDist( double& dParam, bool* pbDet = nullptr) ;
|
||||
EGK_EXPORT int GetNbrMinDist( void) { return m_Info.size() ; }
|
||||
EGK_EXPORT bool GetMinDistPoint( int nInd, Point3d& ptMinDist, int& nFlag) ;
|
||||
EGK_EXPORT bool GetMinDistPoint( double dNearParam, Point3d& ptMinDist, int& nFlag) ;
|
||||
EGK_EXPORT bool GetParamAtMinDistPoint( int nInd, double& dParam, int& nFlag) ;
|
||||
EGK_EXPORT bool GetParamAtMinDistPoint( double dNearParam, double& dParam, int& nFlag) ;
|
||||
|
||||
private :
|
||||
DistPointCurve( void) ;
|
||||
@@ -45,9 +61,8 @@ class DistPointCurve
|
||||
void CrvCompositeCalculate( const Point3d& ptP, const ICurve& Curve) ;
|
||||
|
||||
private :
|
||||
bool m_bDet ;
|
||||
double m_dDist ;
|
||||
double m_dParam ;
|
||||
Point3d m_ptMinDist ;
|
||||
double m_dDist ;
|
||||
MDPCIVECTOR m_Info ;
|
||||
const ICurve* m_pCurve ;
|
||||
} ;
|
||||
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ template <class T>
|
||||
class PtrOwner
|
||||
{
|
||||
public :
|
||||
explicit PtrOwner( T* pT) { m_pT = pT ; }
|
||||
explicit PtrOwner( T* pT) : m_pT( pT) {}
|
||||
~PtrOwner( void) { if ( m_pT != nullptr) delete m_pT ; m_pT = nullptr ; }
|
||||
T& operator*() const { return *m_pT ; }
|
||||
T* operator->() const { return m_pT ; }
|
||||
|
||||
Reference in New Issue
Block a user