Include :

- migliorata gestione Clone di classi derivate da interfacce.
This commit is contained in:
Dario Sassi
2017-03-14 12:07:40 +00:00
parent a340ac8f6f
commit 884306b56a
10 changed files with 26 additions and 1 deletions
+1 -1
View File
@@ -41,7 +41,7 @@ class __declspec( novtable) ICurve : public IGeoObj
OFF_FORCE_OPEN = 8, // forza a aperto anche se chiuso (in or ...)
OFF_NO_VERTICAL = 16} ;// vieta linee perpendicolari al piano di offset (in or ...)
public : // IGeoObj
virtual ICurve* Clone( void) const = 0 ;
ICurve* Clone( void) const override = 0 ;
public :
virtual bool IsSimple( void) const = 0 ;
virtual bool IsClosed( void) const = 0 ;
+2
View File
@@ -18,6 +18,8 @@
//----------------------------------------------------------------------------
class __declspec( novtable) ICurveArc : public ICurve
{
public : // IGeoObj
ICurveArc* Clone( void) const override = 0 ;
public :
virtual bool CopyFrom( const IGeoObj* pGObjSrc) = 0 ;
virtual bool Set( const Point3d& ptCen, const Vector3d& vtN, double dRad,
+2
View File
@@ -20,6 +20,8 @@ class ICurveArc ;
//----------------------------------------------------------------------------
class __declspec( novtable) ICurveBezier : public ICurve
{
public : // IGeoObj
ICurveBezier* Clone( void) const override = 0 ;
public :
virtual bool CopyFrom( const IGeoObj* pGObjSrc) = 0 ;
virtual bool Init( int nDeg, bool bIsRational) = 0 ;
+2
View File
@@ -18,6 +18,8 @@
//----------------------------------------------------------------------------
class __declspec( novtable) ICurveComposite : public ICurve
{
public : // IGeoObj
ICurveComposite* Clone( void) const override = 0 ;
public :
virtual bool CopyFrom( const IGeoObj* pGObjSrc) = 0 ;
virtual bool Clear( void) = 0 ;
+2
View File
@@ -18,6 +18,8 @@
//----------------------------------------------------------------------------
class __declspec( novtable) ICurveLine : public ICurve
{
public : // IGeoObj
ICurveLine* Clone( void) const override = 0 ;
public :
virtual bool CopyFrom( const IGeoObj* pGObjSrc) = 0 ;
virtual bool Set( const Point3d& ptStart, const Point3d& ptEnd) = 0 ;
+7
View File
@@ -87,6 +87,13 @@ SetPlane( const Point3d& ptP, const Vector3d& vtN, Plane3d& plPlane)
return true ;
}
//-----------------------------------------------------------------------------
inline double
DistPointPlane( const Point3d& ptP, const Plane3d& plPlane)
{
return ((( ptP - ORIG) * plPlane.vtN) - plPlane.dDist) ;
}
//-----------------------------------------------------------------------------
inline bool
PointInPlaneApprox( const Point3d& ptP, const Plane3d& plPlane)
+2
View File
@@ -18,6 +18,8 @@
//----------------------------------------------------------------------------
class __declspec( novtable) ISurf : public IGeoObj
{
public : // IGeoObj
ISurf* Clone( void) const override = 0 ;
public :
virtual bool IsSimple( void) const = 0 ;
virtual bool IsClosed( void) const = 0 ;
+2
View File
@@ -21,6 +21,8 @@ class ISurfTriMesh ;
//----------------------------------------------------------------------------
class __declspec( novtable) ISurfFlatRegion : public ISurf
{
public : // IGeoObj
ISurfFlatRegion* Clone( void) const override = 0 ;
public :
virtual bool CopyFrom( const IGeoObj* pGObjSrc) = 0 ;
virtual bool Clear( void) ;
+5
View File
@@ -20,10 +20,14 @@
//----------------------------------------------------------------------------
const int SVT_NULL = - 1 ; // vertice o triangolo nullo
const int SVT_DEL = - 2 ; // vertice o triangolo cancellato
inline bool IsValidSvt( int nSvt)
{ return ( nSvt != SVT_NULL && nSvt != SVT_DEL) ; }
//----------------------------------------------------------------------------
class __declspec( novtable) ISurfTriMesh : public ISurf
{
public : // IGeoObj
ISurfTriMesh* Clone( void) const override = 0 ;
public :
virtual bool CopyFrom( const IGeoObj* pGObjSrc) = 0 ;
virtual bool Init( int nNumVert, int nNumTria, int nNumFacet = 0) = 0 ;
@@ -77,6 +81,7 @@ class __declspec( novtable) ISurfTriMesh : public ISurf
virtual bool GetFacetNormal( int nF, Vector3d& vtN) const = 0 ;
virtual bool GetFacetArea( int nF, double& dArea) const = 0 ;
virtual ISurfTriMesh* CloneFacet( int nF) const = 0 ;
virtual bool Cut( const Plane3d& plPlane, bool bSaveOnEq) = 0 ;
} ;
//-----------------------------------------------------------------------------
+1
View File
@@ -458,6 +458,7 @@ EXE_EXPORT int ExeExtractSurfTmLoops( int nId, int nDestGrpId, int* pnCount) ;
EXE_EXPORT int ExeGetSurfTmSilhouette( int nId, const Vector3d& vtDir, int nDestGrpId, int nRefType, int* pnCount) ;
EXE_EXPORT int ExeExtractSurfTmFacetLoops( int nId, int nFacet, int nDestGrpId, int* pnCount) ;
EXE_EXPORT int ExeCopySurfTmFacet( int nId, int nFacet, int nDestGrpId) ;
EXE_EXPORT bool ExeCutSurfTm( int nId, const Point3d& ptOn, const Vector3d& vtN, bool bSaveOnEq, int nRefType) ;
// GeomDb Volume Modify
EXE_EXPORT bool ExeVolZmapSetStdTool( int nId, const std::string& sToolName, double dLen, double dDiam, double dCornR) ;