Include :
- migliorata gestione Clone di classi derivate da interfacce.
This commit is contained in:
+1
-1
@@ -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 ;
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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) ;
|
||||
|
||||
@@ -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 ;
|
||||
} ;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
@@ -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) ;
|
||||
|
||||
Reference in New Issue
Block a user