Include :
- aggiornamenti vari.
This commit is contained in:
+32
-5
@@ -33,26 +33,51 @@ class PolyArc
|
||||
EGK_EXPORT PolyArc( void) ;
|
||||
EGK_EXPORT ~PolyArc( void) ;
|
||||
EGK_EXPORT bool Clear( void) ;
|
||||
EGK_EXPORT bool SetExtrusion( const Vector3d& vtExtr) ;
|
||||
EGK_EXPORT bool AddUPoint( double dPar, const Point3d& ptP, double dBulge) ;
|
||||
EGK_EXPORT bool ModifyLastBulge( double dBulge) ;
|
||||
EGK_EXPORT bool Close( void) ;
|
||||
EGK_EXPORT bool EraseFirstUPoint( void) ;
|
||||
EGK_EXPORT bool EraseLastUPoint( void) ;
|
||||
EGK_EXPORT bool AddOffsetToU( double dOffset) ;
|
||||
EGK_EXPORT bool SetElevation( double dZ) ;
|
||||
EGK_EXPORT bool AddElevation( double dZ) ;
|
||||
EGK_EXPORT bool Translate( const Vector3d& vtMove) ;
|
||||
EGK_EXPORT bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg)
|
||||
{ double dAngRad = dAngDeg * DEGTORAD ;
|
||||
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
|
||||
EGK_EXPORT bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) ;
|
||||
EGK_EXPORT bool Scale( const Frame3d& frRef, double dCoeff) ; // deve essere uniforme
|
||||
EGK_EXPORT bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) ;
|
||||
// Shear non applicabile
|
||||
EGK_EXPORT bool ToGlob( const Frame3d& frRef) ;
|
||||
EGK_EXPORT bool ToLoc( const Frame3d& frRef) ;
|
||||
EGK_EXPORT bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) ;
|
||||
EGK_EXPORT bool Splice( PolyArc& PA) ;
|
||||
EGK_EXPORT const Vector3d& GetExtrusion(void) const
|
||||
{ return m_vtExtr ; }
|
||||
EGK_EXPORT int GetRejectedNbr( void) const
|
||||
{ return m_nRejected ; }
|
||||
EGK_EXPORT int GetPointNbr( void) const
|
||||
{ return m_nCount ; }
|
||||
EGK_EXPORT bool GetFirstUPoint( double* pdPar, Point3d* pptP, double* pdBulge) const ;
|
||||
EGK_EXPORT bool GetFirstUPoint( double* pdPar, Point3d* pptP, double* pdBulge, bool bNotLast = false) const ;
|
||||
EGK_EXPORT bool GetNextUPoint( double* pdPar, Point3d* pptP, double* pdBulge, bool bNotLast = false) const ;
|
||||
EGK_EXPORT bool GetFirstU( double& dPar) const
|
||||
{ return GetFirstUPoint( &dPar, nullptr, nullptr) ; }
|
||||
EGK_EXPORT bool GetFirstU( double& dPar, bool bNotLast = false) const
|
||||
{ return GetFirstUPoint( &dPar, nullptr, nullptr, bNotLast) ; }
|
||||
EGK_EXPORT bool GetNextU( double& dPar, bool bNotLast = false) const
|
||||
{ return GetNextUPoint( &dPar, nullptr, nullptr, bNotLast) ; }
|
||||
EGK_EXPORT bool GetFirstPoint( Point3d& ptP, double& dBulge) const
|
||||
{ return GetFirstUPoint( nullptr, &ptP, &dBulge) ; }
|
||||
EGK_EXPORT bool GetFirstPoint( Point3d& ptP, double& dBulge, bool bNotLast = false) const
|
||||
{ return GetFirstUPoint( nullptr, &ptP, &dBulge, bNotLast) ; }
|
||||
EGK_EXPORT bool GetNextPoint( Point3d& ptP, double& dBulge, bool bNotLast = false) const
|
||||
{ return GetNextUPoint( nullptr, &ptP, &dBulge, bNotLast) ; }
|
||||
EGK_EXPORT int GetArcNbr( void) const
|
||||
{ return ( m_nCount > 1 ? ( m_nCount - 1) : 0) ; }
|
||||
EGK_EXPORT bool GetFirstUArc( double* pdIni, Point3d* pptIni, double* pdFin, Point3d* pptFin, double* pdBulge) const ;
|
||||
EGK_EXPORT bool GetNextUArc( double* pdIni, Point3d* pptIni, double* pdFin, Point3d* pptFin, double* pdBulge) const ;
|
||||
EGK_EXPORT bool GetFirstArc( Point3d& ptIni, Point3d& ptFin, double& dBulge) const
|
||||
{ return GetFirstUArc( nullptr, &ptIni, nullptr, &ptFin, &dBulge) ; }
|
||||
EGK_EXPORT bool GetNextArc( Point3d& ptIni, Point3d& ptFin, double& dBulge) const
|
||||
{ return GetNextUArc( nullptr, &ptIni, nullptr, &ptFin, &dBulge) ; }
|
||||
|
||||
private :
|
||||
struct UPointB
|
||||
@@ -66,6 +91,8 @@ class PolyArc
|
||||
typedef std::list<UPointB> UPNTBLIST ; // lista di UPointB
|
||||
|
||||
private :
|
||||
Vector3d m_vtExtr ;
|
||||
int m_nRejected ;
|
||||
int m_nCount ;
|
||||
UPNTBLIST m_lUPointBs ;
|
||||
mutable UPNTBLIST::const_iterator m_iter ;
|
||||
|
||||
@@ -34,6 +34,7 @@ class PolyLine
|
||||
EGK_EXPORT ~PolyLine( void) ;
|
||||
EGK_EXPORT bool Clear( void) ;
|
||||
EGK_EXPORT bool AddUPoint( double dPar, const Point3d& ptP) ;
|
||||
EGK_EXPORT bool Close( void) ;
|
||||
EGK_EXPORT bool EraseFirstUPoint( void) ;
|
||||
EGK_EXPORT bool EraseLastUPoint( void) ;
|
||||
EGK_EXPORT bool AddOffsetToU( double dOffset) ;
|
||||
@@ -50,6 +51,8 @@ class PolyLine
|
||||
EGK_EXPORT bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) ;
|
||||
EGK_EXPORT bool Splice( PolyLine& PL) ;
|
||||
EGK_EXPORT bool IsClosed( void) const ;
|
||||
EGK_EXPORT int GetRejectedNbr( void) const
|
||||
{ return m_nRejected ; }
|
||||
EGK_EXPORT int GetPointNbr( void) const
|
||||
{ return m_nCount ; }
|
||||
EGK_EXPORT bool GetFirstUPoint( double* pdPar, Point3d* pptP) const ;
|
||||
@@ -95,6 +98,7 @@ class PolyLine
|
||||
const Vector3d& vtAx, double dLen, bool bIsSegment = true) const ;
|
||||
|
||||
private :
|
||||
int m_nRejected ;
|
||||
int m_nCount ;
|
||||
UPNTLIST m_lUPoints ;
|
||||
mutable UPNTLIST::const_iterator m_iter ;
|
||||
|
||||
+2
-2
@@ -24,8 +24,8 @@ class __declspec( novtable) ICurveComposite : public ICurve
|
||||
virtual bool AddCurve( const ICurve& cCrv, bool bEndOrStart = true, double dLinTol = EPS_SMALL) = 0 ;
|
||||
virtual bool AddCurve( ICurve* pCrv, bool bEndOrStart = true, double dLinTol = EPS_SMALL) = 0 ;
|
||||
virtual bool FromSplit( const ICurve& cCrv, int nParts) = 0 ;
|
||||
virtual bool FromPointVector( const PNTVECTOR& vPnt) = 0 ;
|
||||
virtual bool FromPointBulgeVector( const UPNTVECTOR& vUPnt, const Vector3d& vtN) = 0 ;
|
||||
virtual bool FromPolyLine( const PolyLine& PL) = 0 ;
|
||||
virtual bool FromPolyArc( const PolyArc& PA) = 0 ;
|
||||
virtual bool PolygonCenterCorner( int nSides, const Point3d& ptCen, const Point3d& ptCorner) = 0 ;
|
||||
virtual bool PolygonCenterMidSide( int nSides, const Point3d& ptCen, const Point3d& ptMidSide) = 0 ;
|
||||
virtual bool PolygonSide( int nSides, const Point3d& ptStart, const Point3d& ptEnd) = 0 ;
|
||||
|
||||
Reference in New Issue
Block a user