EgtGeomKernel 1.9j4 :

- generalizzato l'uso di override (ovviamente dove va messo).
This commit is contained in:
Dario Sassi
2018-10-25 07:30:14 +00:00
parent 538b5c0928
commit fc00d6273a
15 changed files with 708 additions and 710 deletions
+114 -114
View File
@@ -25,126 +25,126 @@
class CurveBezier : public ICurveBezier, public IGeoObjRW
{
public : // IGeoObj
virtual ~CurveBezier( void) ;
virtual CurveBezier* Clone( void) const ;
virtual GeoObjType GetType( void) const ;
virtual bool IsValid( void) const
{ return ( m_nStatus == OK) ; }
virtual const std::string& GetTitle( void) const ;
virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ;
virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const ;
virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const ;
virtual bool Translate( const Vector3d& vtMove) ;
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg)
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) ;
virtual bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) ;
virtual bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) ;
virtual bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) ;
virtual bool ToGlob( const Frame3d& frRef) ;
virtual bool ToLoc( const Frame3d& frRef) ;
virtual bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) ;
virtual void SetObjGraphics( IObjGraphics* pOGr)
{ m_OGrMgr.SetObjGraphics( pOGr) ; }
virtual IObjGraphics* GetObjGraphics( void)
{ return m_OGrMgr.GetObjGraphics() ; }
virtual const IObjGraphics* GetObjGraphics( void) const
{ return m_OGrMgr.GetObjGraphics() ; }
virtual void SetTempProp( int nProp)
{ m_nTempProp = nProp ; }
virtual int GetTempProp( void)
{ return m_nTempProp ; }
~CurveBezier( void) override ;
CurveBezier* Clone( void) const override ;
GeoObjType GetType( void) const override ;
bool IsValid( void) const override
{ return ( m_nStatus == OK) ; }
const std::string& GetTitle( void) const override ;
bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const override ;
bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const override ;
bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const override ;
bool Translate( const Vector3d& vtMove) override ;
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) override
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) override ;
bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) override ;
bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) override ;
bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) override ;
bool ToGlob( const Frame3d& frRef) override ;
bool ToLoc( const Frame3d& frRef) override ;
bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) override ;
void SetObjGraphics( IObjGraphics* pOGr) override
{ m_OGrMgr.SetObjGraphics( pOGr) ; }
IObjGraphics* GetObjGraphics( void) override
{ return m_OGrMgr.GetObjGraphics() ; }
const IObjGraphics* GetObjGraphics( void) const override
{ return m_OGrMgr.GetObjGraphics() ; }
void SetTempProp( int nProp) override
{ m_nTempProp = nProp ; }
int GetTempProp( void) override
{ return m_nTempProp ; }
public : // ICurve
virtual bool IsSimple( void) const { return true ; }
virtual bool IsClosed( void) const
{ return ::IsClosed( *this) ; }
virtual bool IsFlat( Plane3d& plPlane, double dToler) const ;
virtual bool GetStartPoint( Point3d& ptStart) const ;
virtual bool GetEndPoint( Point3d& ptEnd) const ;
virtual bool GetMidPoint( Point3d& ptMid) const ;
virtual bool GetCenterPoint( Point3d& ptCen) const
{ return GetMidPoint( ptCen) ; }
virtual bool GetCentroid( Point3d& ptCen) const ;
virtual bool GetStartDir( Vector3d& vtDir) const
{ return ::GetTang( *this, 0, FROM_PLUS, vtDir) ; }
virtual bool GetEndDir( Vector3d& vtDir) const
{ return ::GetTang( *this, 1, FROM_MINUS, vtDir) ; }
virtual bool GetMidDir( Vector3d& vtDir) const ;
virtual bool GetExtrusion( Vector3d& vtExtr) const
{ vtExtr = m_VtExtr ; return ( m_nStatus == OK) ; }
virtual bool GetThickness( double& dThick) const
{ dThick = m_dThick ; return ( m_nStatus == OK) ; }
virtual bool GetDomain( double& dStart, double& dEnd) const
{ dStart = 0 ; dEnd = 1 ; return ( m_nStatus == OK) ; }
virtual bool IsValidParam( double dPar, Side nSide) const
{ return ::IsValidParam( *this, dPar, nSide) ; }
virtual bool IsStartParam( double dPar) const
{ return ::IsStartParam( *this, dPar) ; }
virtual bool IsEndParam( double dPar) const
{ return ::IsEndParam( *this, dPar) ; }
virtual bool GetLength( double& dLen) const ;
virtual bool GetLengthAtParam( double dU, double& dLen) const ;
virtual bool GetParamAtLength( double dLen, double& dU) const ;
virtual bool GetPointD1D2( double dU, Side nS, Point3d& ptPos,
Vector3d* pvtDer1 = nullptr, Vector3d* pvtDer2 = nullptr) const ;
virtual bool GetPointTang( double dU, Side nS, Point3d& ptPos, Vector3d& vtTang) const
{ return ::GetPointTang( *this, dU, nS, ptPos, vtTang) ; }
virtual bool GetPointDiffGeom( double dU, Side nS, CrvPointDiffGeom& oDiffG) const
{ oDiffG.nFlag = CrvPointDiffGeom::STD ;
return ::GetPointDiffGeom( *this, dU, nS, oDiffG) ; }
virtual bool IsPointOn( const Point3d& ptP, double dTol = EPS_SMALL) const ;
virtual bool GetParamAtPoint( const Point3d& ptP, double& dPar, double dTol = EPS_SMALL) const ;
virtual bool GetLengthAtPoint( const Point3d& ptP, double& dLen, double dTol = EPS_SMALL) const ;
virtual bool GetNearestExtremityToPoint( const Point3d& ptP, bool& bStart) const
{ return ::GetNearestExtremityToPoint( ptP, *this, bStart) ; }
virtual bool GetAreaXY( double& dArea) const
{ return CurveGetAreaXY( *this, dArea) ; }
virtual bool GetArea( Plane3d& plPlane, double& dArea) const
{ return CurveGetArea( *this, plPlane, dArea) ; }
virtual bool ApproxWithLines( double dLinTol, double dAngTolDeg, int nType, PolyLine& PL) const ;
virtual bool ApproxWithArcs( double dLinTol, double dAngTolDeg, PolyArc& PA) const ;
virtual bool ApproxWithArcsEx( double dLinTol, double dAngTolDeg, double dLinFea, PolyArc& PA) const
{ return ApproxWithArcs( dLinTol, dAngTolDeg, PA) ; }
virtual ICurve* CopyParamRange( double dUStart, double dUEnd) const ;
virtual bool Invert( void) ;
virtual bool SimpleOffset( double dDist, int nType = OFF_FILLET)
{ return false ; } // l'offset di crvBezier non è crvBezier tranne in casi molto particolari
virtual bool ModifyStart( const Point3d& ptNewStart) ;
virtual bool ModifyEnd( const Point3d& ptNewEnd) ;
virtual bool SetExtrusion( const Vector3d& vtExtr)
{ m_VtExtr = vtExtr ; m_VtExtr.Normalize() ; m_OGrMgr.Reset() ; return true ; }
virtual bool SetThickness( double dThick)
{ m_dThick = dThick ; m_OGrMgr.Reset() ; return true ; }
virtual bool TrimStartAtParam( double dUTrim) ;
virtual bool TrimEndAtParam( double dUTrim) ;
virtual bool TrimStartEndAtParam( double dUStartTrim, double dUEndTrim) ;
virtual bool TrimStartAtLen( double dLenTrim) ;
virtual bool TrimEndAtLen( double dLenTrim) ;
virtual bool ExtendStartByLen( double dLenExt) ;
virtual bool ExtendEndByLen( double dLenExt) ;
bool IsSimple( void) const override { return true ; }
bool IsClosed( void) const override
{ return ::IsClosed( *this) ; }
bool IsFlat( Plane3d& plPlane, double dToler) const override ;
bool GetStartPoint( Point3d& ptStart) const override ;
bool GetEndPoint( Point3d& ptEnd) const override ;
bool GetMidPoint( Point3d& ptMid) const override ;
bool GetCenterPoint( Point3d& ptCen) const override
{ return GetMidPoint( ptCen) ; }
bool GetCentroid( Point3d& ptCen) const override ;
bool GetStartDir( Vector3d& vtDir) const override
{ return ::GetTang( *this, 0, FROM_PLUS, vtDir) ; }
bool GetEndDir( Vector3d& vtDir) const override
{ return ::GetTang( *this, 1, FROM_MINUS, vtDir) ; }
bool GetMidDir( Vector3d& vtDir) const override ;
bool GetExtrusion( Vector3d& vtExtr) const override
{ vtExtr = m_VtExtr ; return ( m_nStatus == OK) ; }
bool GetThickness( double& dThick) const override
{ dThick = m_dThick ; return ( m_nStatus == OK) ; }
bool GetDomain( double& dStart, double& dEnd) const override
{ dStart = 0 ; dEnd = 1 ; return ( m_nStatus == OK) ; }
bool IsValidParam( double dPar, Side nSide) const override
{ return ::IsValidParam( *this, dPar, nSide) ; }
bool IsStartParam( double dPar) const override
{ return ::IsStartParam( *this, dPar) ; }
bool IsEndParam( double dPar) const override
{ return ::IsEndParam( *this, dPar) ; }
bool GetLength( double& dLen) const override ;
bool GetLengthAtParam( double dU, double& dLen) const override ;
bool GetParamAtLength( double dLen, double& dU) const override ;
bool GetPointD1D2( double dU, Side nS, Point3d& ptPos,
Vector3d* pvtDer1 = nullptr, Vector3d* pvtDer2 = nullptr) const override ;
bool GetPointTang( double dU, Side nS, Point3d& ptPos, Vector3d& vtTang) const override
{ return ::GetPointTang( *this, dU, nS, ptPos, vtTang) ; }
bool GetPointDiffGeom( double dU, Side nS, CrvPointDiffGeom& oDiffG) const override
{ oDiffG.nFlag = CrvPointDiffGeom::STD ;
return ::GetPointDiffGeom( *this, dU, nS, oDiffG) ; }
bool IsPointOn( const Point3d& ptP, double dTol = EPS_SMALL) const override ;
bool GetParamAtPoint( const Point3d& ptP, double& dPar, double dTol = EPS_SMALL) const override ;
bool GetLengthAtPoint( const Point3d& ptP, double& dLen, double dTol = EPS_SMALL) const override ;
bool GetNearestExtremityToPoint( const Point3d& ptP, bool& bStart) const override
{ return ::GetNearestExtremityToPoint( ptP, *this, bStart) ; }
bool GetAreaXY( double& dArea) const override
{ return CurveGetAreaXY( *this, dArea) ; }
bool GetArea( Plane3d& plPlane, double& dArea) const override
{ return CurveGetArea( *this, plPlane, dArea) ; }
bool ApproxWithLines( double dLinTol, double dAngTolDeg, int nType, PolyLine& PL) const override ;
bool ApproxWithArcs( double dLinTol, double dAngTolDeg, PolyArc& PA) const override ;
bool ApproxWithArcsEx( double dLinTol, double dAngTolDeg, double dLinFea, PolyArc& PA) const override
{ return ApproxWithArcs( dLinTol, dAngTolDeg, PA) ; }
ICurve* CopyParamRange( double dUStart, double dUEnd) const override ;
bool Invert( void) override ;
bool SimpleOffset( double dDist, int nType = OFF_FILLET) override
{ return false ; } // l'offset di crvBezier non è crvBezier tranne in casi molto particolari
bool ModifyStart( const Point3d& ptNewStart) override ;
bool ModifyEnd( const Point3d& ptNewEnd) override ;
bool SetExtrusion( const Vector3d& vtExtr) override
{ m_VtExtr = vtExtr ; m_VtExtr.Normalize() ; m_OGrMgr.Reset() ; return true ; }
bool SetThickness( double dThick) override
{ m_dThick = dThick ; m_OGrMgr.Reset() ; return true ; }
bool TrimStartAtParam( double dUTrim) override ;
bool TrimEndAtParam( double dUTrim) override ;
bool TrimStartEndAtParam( double dUStartTrim, double dUEndTrim) override ;
bool TrimStartAtLen( double dLenTrim) override ;
bool TrimEndAtLen( double dLenTrim) override ;
bool ExtendStartByLen( double dLenExt) override ;
bool ExtendEndByLen( double dLenExt) override ;
public : // ICurveBezier
virtual bool CopyFrom( const IGeoObj* pGObjSrc) ;
virtual bool Init( int nDeg, bool bIsRational) ;
virtual bool SetControlPoint( int nInd, const Point3d& ptCtrl) ;
virtual bool SetControlPoint( int nInd, const Point3d& ptCtrl, double dW) ;
virtual bool FromArc( const ICurveArc& crArc) ;
virtual int GetDegree( void) const
{ return m_nDeg ; }
virtual bool IsRational( void) const
{ return m_bRat ; }
virtual bool IsAPoint( void) const ;
virtual const Point3d& GetControlPoint( int nInd, bool* pbOk = NULL) const ;
virtual double GetControlWeight( int nInd, bool* pbOk = NULL) const ;
virtual bool GetControlPolygonLength( double& dLen) const ;
virtual int GetSingularParam( double& dPar) const ;
bool CopyFrom( const IGeoObj* pGObjSrc) override ;
bool Init( int nDeg, bool bIsRational) override ;
bool SetControlPoint( int nInd, const Point3d& ptCtrl) override ;
bool SetControlPoint( int nInd, const Point3d& ptCtrl, double dW) override ;
bool FromArc( const ICurveArc& crArc) override ;
int GetDegree( void) const override
{ return m_nDeg ; }
bool IsRational( void) const override
{ return m_bRat ; }
bool IsAPoint( void) const override ;
const Point3d& GetControlPoint( int nInd, bool* pbOk = NULL) const override ;
double GetControlWeight( int nInd, bool* pbOk = NULL) const override ;
bool GetControlPolygonLength( double& dLen) const override ;
int GetSingularParam( double& dPar) const override ;
public : // IGeoObjRW
virtual int GetNgeId( void) const ;
virtual bool Save( NgeWriter& ngeOut) const ;
virtual bool Load( NgeReader& ngeIn) ;
int GetNgeId( void) const override ;
bool Save( NgeWriter& ngeOut) const override ;
bool Load( NgeReader& ngeIn) override ;
public :
CurveBezier( void) ;
+3 -3
View File
@@ -155,9 +155,9 @@ class CurveComposite : public ICurveComposite, public IGeoObjRW
bool IsACircle( double dLinTol, Point3d& ptCen, Vector3d& vtN, double& dRad, bool& bCCW) const override ;
public : // IGeoObjRW
virtual int GetNgeId( void) const ;
virtual bool Save( NgeWriter& ngeOut) const ;
virtual bool Load( NgeReader& ngeIn) ;
int GetNgeId( void) const override ;
bool Save( NgeWriter& ngeOut) const override ;
bool Load( NgeReader& ngeIn) override ;
public :
CurveComposite( void) ;
+110 -110
View File
@@ -23,122 +23,122 @@
class CurveLine : public ICurveLine, public IGeoObjRW
{
public : // IGeoObj
virtual ~CurveLine( void) ;
virtual CurveLine* Clone( void) const ;
virtual GeoObjType GetType( void) const ;
virtual bool IsValid( void) const
{ return ( m_nStatus == OK) ; }
virtual const std::string& GetTitle( void) const ;
virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ;
virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const ;
virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const ;
virtual bool Translate( const Vector3d& vtMove) ;
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg)
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) ;
virtual bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) ;
virtual bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) ;
virtual bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) ;
virtual bool ToGlob( const Frame3d& frRef) ;
virtual bool ToLoc( const Frame3d& frRef) ;
virtual bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) ;
virtual void SetObjGraphics( IObjGraphics* pOGr)
{ m_OGrMgr.SetObjGraphics( pOGr) ; }
virtual IObjGraphics* GetObjGraphics( void)
{ return m_OGrMgr.GetObjGraphics() ; }
virtual const IObjGraphics* GetObjGraphics( void) const
{ return m_OGrMgr.GetObjGraphics() ; }
virtual void SetTempProp( int nProp)
{ m_nTempProp = nProp ; }
virtual int GetTempProp( void)
{ return m_nTempProp ; }
~CurveLine( void) override ;
CurveLine* Clone( void) const override ;
GeoObjType GetType( void) const override ;
bool IsValid( void) const override
{ return ( m_nStatus == OK) ; }
const std::string& GetTitle( void) const override ;
bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const override ;
bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const override ;
bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const override ;
bool Translate( const Vector3d& vtMove) override ;
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) override
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) override ;
bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) override ;
bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) override ;
bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) override ;
bool ToGlob( const Frame3d& frRef) override ;
bool ToLoc( const Frame3d& frRef) override ;
bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) override ;
void SetObjGraphics( IObjGraphics* pOGr) override
{ m_OGrMgr.SetObjGraphics( pOGr) ; }
IObjGraphics* GetObjGraphics( void) override
{ return m_OGrMgr.GetObjGraphics() ; }
const IObjGraphics* GetObjGraphics( void) const override
{ return m_OGrMgr.GetObjGraphics() ; }
void SetTempProp( int nProp) override
{ m_nTempProp = nProp ; }
int GetTempProp( void) override
{ return m_nTempProp ; }
public : // ICurve
virtual bool IsSimple( void) const
{ return true ; }
virtual bool IsClosed( void) const
{ return ::IsClosed( *this) ; }
virtual bool IsFlat( Plane3d& plPlane, double dToler) const ;
virtual bool GetStartPoint( Point3d& ptStart) const ;
virtual bool GetEndPoint( Point3d& ptEnd) const ;
virtual bool GetMidPoint( Point3d& ptMid) const ;
virtual bool GetCenterPoint( Point3d& ptCen) const
{ return GetMidPoint( ptCen) ; }
virtual bool GetCentroid( Point3d& ptCen) const
{ return GetMidPoint( ptCen) ; }
virtual bool GetStartDir( Vector3d& vtDir) const ;
virtual bool GetEndDir( Vector3d& vtDir) const
{ return GetStartDir( vtDir) ; }
virtual bool GetMidDir( Vector3d& vtDir) const
{ return GetStartDir( vtDir) ; }
virtual bool GetExtrusion( Vector3d& vtExtr) const
{ vtExtr = m_VtExtr ; return ( m_nStatus == OK) ; }
virtual bool GetThickness( double& dThick) const
{ dThick = m_dThick ; return ( m_nStatus == OK) ; }
virtual bool GetDomain( double& dStart, double& dEnd) const
{ dStart = 0 ; dEnd = 1 ; return ( m_nStatus == OK) ; }
virtual bool IsValidParam( double dPar, Side nSide) const
{ return ::IsValidParam( *this, dPar, nSide) ; }
virtual bool IsStartParam( double dPar) const
{ return ::IsStartParam( *this, dPar) ; }
virtual bool IsEndParam( double dPar) const
{ return ::IsEndParam( *this, dPar) ; }
virtual bool GetLength( double& dLen) const ;
virtual bool GetLengthAtParam( double dU, double& dLen) const ;
virtual bool GetParamAtLength( double dLen, double& dU) const ;
virtual bool GetPointD1D2( double dU, Side nS, Point3d& ptPos,
Vector3d* pvtDer1 = nullptr, Vector3d* pvtDer2 = nullptr) const ;
virtual bool GetPointTang( double dU, Side nS, Point3d& ptPos, Vector3d& vtTang) const
{ return ::GetPointTang( *this, dU, nS, ptPos, vtTang) ; }
virtual bool GetPointDiffGeom( double dU, Side nS, CrvPointDiffGeom& oDiffG) const
{ oDiffG.nFlag = CrvPointDiffGeom::STD ;
return ::GetPointDiffGeom( *this, dU, nS, oDiffG) ; }
virtual bool IsPointOn( const Point3d& ptP, double dTol = EPS_SMALL) const ;
virtual bool GetParamAtPoint( const Point3d& ptP, double& dPar, double dTol = EPS_SMALL) const ;
virtual bool GetLengthAtPoint( const Point3d& ptP, double& dLen, double dTol = EPS_SMALL) const ;
virtual bool GetNearestExtremityToPoint( const Point3d& ptP, bool& bStart) const
{ return ::GetNearestExtremityToPoint( ptP, *this, bStart) ; }
virtual bool GetAreaXY( double& dArea) const
{ return false ; }
virtual bool GetArea( Plane3d& plPlane, double& dArea) const
{ return false ; }
virtual bool ApproxWithLines( double dLinTol, double dAngTolDeg, int nType, PolyLine& PL) const ;
virtual bool ApproxWithArcs( double dLinTol, double dAngTolDeg, PolyArc& PA) const ;
virtual bool ApproxWithArcsEx( double dLinTol, double dAngTolDeg, double dLinFea, PolyArc& PA) const
{ return ApproxWithArcs( dLinTol, dAngTolDeg, PA) ; }
virtual ICurve* CopyParamRange( double dUStart, double dUEnd) const ;
virtual bool Invert( void) ;
virtual bool SimpleOffset( double dDist, int nType = OFF_FILLET) ;
virtual bool ModifyStart( const Point3d& ptNewStart) ;
virtual bool ModifyEnd( const Point3d& ptNewEnd) ;
virtual bool SetExtrusion( const Vector3d& vtExtr)
{ m_VtExtr = vtExtr ; m_VtExtr.Normalize() ; m_OGrMgr.Reset() ; return true ; }
virtual bool SetThickness( double dThick)
{ m_dThick = dThick ; m_OGrMgr.Reset() ; return true ; }
virtual bool TrimStartAtParam( double dUTrim) ;
virtual bool TrimEndAtParam( double dUTrim) ;
virtual bool TrimStartEndAtParam( double dUStartTrim, double dUEndTrim) ;
virtual bool TrimStartAtLen( double dLenTrim) ;
virtual bool TrimEndAtLen( double dLenTrim) ;
virtual bool ExtendStartByLen( double dLenExt) ;
virtual bool ExtendEndByLen( double dLenExt) ;
bool IsSimple( void) const override
{ return true ; }
bool IsClosed( void) const override
{ return ::IsClosed( *this) ; }
bool IsFlat( Plane3d& plPlane, double dToler) const override ;
bool GetStartPoint( Point3d& ptStart) const override ;
bool GetEndPoint( Point3d& ptEnd) const override ;
bool GetMidPoint( Point3d& ptMid) const override ;
bool GetCenterPoint( Point3d& ptCen) const override
{ return GetMidPoint( ptCen) ; }
bool GetCentroid( Point3d& ptCen) const override
{ return GetMidPoint( ptCen) ; }
bool GetStartDir( Vector3d& vtDir) const override ;
bool GetEndDir( Vector3d& vtDir) const override
{ return GetStartDir( vtDir) ; }
bool GetMidDir( Vector3d& vtDir) const override
{ return GetStartDir( vtDir) ; }
bool GetExtrusion( Vector3d& vtExtr) const override
{ vtExtr = m_VtExtr ; return ( m_nStatus == OK) ; }
bool GetThickness( double& dThick) const override
{ dThick = m_dThick ; return ( m_nStatus == OK) ; }
bool GetDomain( double& dStart, double& dEnd) const override
{ dStart = 0 ; dEnd = 1 ; return ( m_nStatus == OK) ; }
bool IsValidParam( double dPar, Side nSide) const override
{ return ::IsValidParam( *this, dPar, nSide) ; }
bool IsStartParam( double dPar) const override
{ return ::IsStartParam( *this, dPar) ; }
bool IsEndParam( double dPar) const override
{ return ::IsEndParam( *this, dPar) ; }
bool GetLength( double& dLen) const override ;
bool GetLengthAtParam( double dU, double& dLen) const override ;
bool GetParamAtLength( double dLen, double& dU) const override ;
bool GetPointD1D2( double dU, Side nS, Point3d& ptPos,
Vector3d* pvtDer1 = nullptr, Vector3d* pvtDer2 = nullptr) const override ;
bool GetPointTang( double dU, Side nS, Point3d& ptPos, Vector3d& vtTang) const override
{ return ::GetPointTang( *this, dU, nS, ptPos, vtTang) ; }
bool GetPointDiffGeom( double dU, Side nS, CrvPointDiffGeom& oDiffG) const override
{ oDiffG.nFlag = CrvPointDiffGeom::STD ;
return ::GetPointDiffGeom( *this, dU, nS, oDiffG) ; }
bool IsPointOn( const Point3d& ptP, double dTol = EPS_SMALL) const override ;
bool GetParamAtPoint( const Point3d& ptP, double& dPar, double dTol = EPS_SMALL) const override ;
bool GetLengthAtPoint( const Point3d& ptP, double& dLen, double dTol = EPS_SMALL) const override ;
bool GetNearestExtremityToPoint( const Point3d& ptP, bool& bStart) const override
{ return ::GetNearestExtremityToPoint( ptP, *this, bStart) ; }
bool GetAreaXY( double& dArea) const override
{ return false ; }
bool GetArea( Plane3d& plPlane, double& dArea) const override
{ return false ; }
bool ApproxWithLines( double dLinTol, double dAngTolDeg, int nType, PolyLine& PL) const override ;
bool ApproxWithArcs( double dLinTol, double dAngTolDeg, PolyArc& PA) const override ;
bool ApproxWithArcsEx( double dLinTol, double dAngTolDeg, double dLinFea, PolyArc& PA) const override
{ return ApproxWithArcs( dLinTol, dAngTolDeg, PA) ; }
ICurve* CopyParamRange( double dUStart, double dUEnd) const override ;
bool Invert( void) override ;
bool SimpleOffset( double dDist, int nType = OFF_FILLET) override ;
bool ModifyStart( const Point3d& ptNewStart) override ;
bool ModifyEnd( const Point3d& ptNewEnd) override ;
bool SetExtrusion( const Vector3d& vtExtr)
{ m_VtExtr = vtExtr ; m_VtExtr.Normalize() ; m_OGrMgr.Reset() ; return true ; }
bool SetThickness( double dThick) override
{ m_dThick = dThick ; m_OGrMgr.Reset() ; return true ; }
bool TrimStartAtParam( double dUTrim) override ;
bool TrimEndAtParam( double dUTrim) override ;
bool TrimStartEndAtParam( double dUStartTrim, double dUEndTrim) override ;
bool TrimStartAtLen( double dLenTrim) override ;
bool TrimEndAtLen( double dLenTrim) override ;
bool ExtendStartByLen( double dLenExt) override ;
bool ExtendEndByLen( double dLenExt) override ;
public : // ICurveLine
virtual bool CopyFrom( const IGeoObj* pGObjSrc) ;
virtual bool Set( const Point3d& ptStart, const Point3d& ptEnd) ;
virtual bool SetPVL( const Point3d& ptStart, const Vector3d& vtDir, double dLen) ;
virtual bool SetPDL( const Point3d& ptStart, double dDirAngDeg, double dLen) ;
virtual const Point3d& GetStart( void) const
{ return m_PtStart ; }
virtual const Point3d& GetEnd( void) const
{ return m_PtEnd ; }
virtual bool CalcPointParamPosiz( const Point3d& ptP, bool bOnXY, double& dU, int& nPos) const ;
bool CopyFrom( const IGeoObj* pGObjSrc) override ;
bool Set( const Point3d& ptStart, const Point3d& ptEnd) override ;
bool SetPVL( const Point3d& ptStart, const Vector3d& vtDir, double dLen) override ;
bool SetPDL( const Point3d& ptStart, double dDirAngDeg, double dLen) override ;
const Point3d& GetStart( void) const override
{ return m_PtStart ; }
const Point3d& GetEnd( void) const override
{ return m_PtEnd ; }
bool CalcPointParamPosiz( const Point3d& ptP, bool bOnXY, double& dU, int& nPos) const override ;
public : // IGeoObjRW
virtual int GetNgeId( void) const ;
virtual bool Save( NgeWriter& ngeOut) const ;
virtual bool Load( NgeReader& ngeIn) ;
int GetNgeId( void) const override ;
bool Save( NgeWriter& ngeOut) const override ;
bool Load( NgeReader& ngeIn) override ;
public :
CurveLine( void) ;
BIN
View File
Binary file not shown.
+77 -77
View File
@@ -23,87 +23,87 @@
class ExtText : public IExtText, public IGeoObjRW
{
public : // IGeoObj
virtual ~ExtText( void) ;
virtual ExtText* Clone( void) const ;
virtual GeoObjType GetType( void) const ;
virtual bool IsValid( void) const
{ return true ; }
virtual const std::string& GetTitle( void) const ;
virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ;
virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const ;
virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const ;
virtual bool Translate( const Vector3d& vtMove) ;
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg)
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) ;
virtual bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) ;
virtual bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) ;
virtual bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) ;
virtual bool ToGlob( const Frame3d& frRef) ;
virtual bool ToLoc( const Frame3d& frRef) ;
virtual bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) ;
virtual void SetObjGraphics( IObjGraphics* pOGr)
{ m_OGrMgr.SetObjGraphics( pOGr) ; }
virtual IObjGraphics* GetObjGraphics( void)
{ return m_OGrMgr.GetObjGraphics() ; }
virtual const IObjGraphics* GetObjGraphics( void) const
{ return m_OGrMgr.GetObjGraphics() ; }
virtual void SetTempProp( int nProp)
{ m_nTempProp = nProp ; }
virtual int GetTempProp( void)
{ return m_nTempProp ; }
~ExtText( void) override ;
ExtText* Clone( void) const override ;
GeoObjType GetType( void) const override ;
bool IsValid( void) const override
{ return true ; }
const std::string& GetTitle( void) const override ;
bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const override ;
bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const override ;
bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const override ;
bool Translate( const Vector3d& vtMove) override ;
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) override
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) override ;
bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) override ;
bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) override ;
bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) override ;
bool ToGlob( const Frame3d& frRef) override ;
bool ToLoc( const Frame3d& frRef) override ;
bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) override ;
void SetObjGraphics( IObjGraphics* pOGr) override
{ m_OGrMgr.SetObjGraphics( pOGr) ; }
IObjGraphics* GetObjGraphics( void) override
{ return m_OGrMgr.GetObjGraphics() ; }
const IObjGraphics* GetObjGraphics( void) const override
{ return m_OGrMgr.GetObjGraphics() ; }
void SetTempProp( int nProp) override
{ m_nTempProp = nProp ; }
int GetTempProp( void) override
{ return m_nTempProp ; }
public : // IExtText
virtual bool CopyFrom( const IGeoObj* pGObjSrc) ;
virtual bool Set( const Point3d& ptP, double dAngDeg, const std::string& sText, double dH) ;
virtual bool Set( const Point3d& ptP, const Vector3d& vtN, const Vector3d& vtD,
const std::string& sText, const std::string& sFont, bool bItl, double dH) ;
virtual bool Set( const Point3d& ptP, const Vector3d& vtN, const Vector3d& vtD,
const std::string& sText, const std::string& sFont, int nW, bool bItl, double dH,
double dRat, double dAddAdv, int nInsPos = 7) ;
virtual const Point3d& GetPoint( void) const
{ return m_ptP ; }
virtual const Vector3d& GetNormVersor( void) const
{ return m_vtN ; }
virtual const Vector3d& GetDirVersor( void) const
{ return m_vtD ; }
virtual const std::string& GetText( void) const
{ return m_sText ; }
virtual const std::string& GetFont( void) const
{ return m_sFont ; }
virtual int GetWeight( void) const
{ return m_nWeight ; }
virtual bool GetItalic( void) const
{ return m_bItalic ; }
virtual double GetHeight( void) const
{ return m_dHeight ; }
virtual double GetRatio( void) const
{ return m_dRatio ; }
virtual double GetAddAdvance( void) const
{ return m_dAddAdvance ; }
virtual int GetInsPosition( void) const
{ return m_nInsPos ; }
virtual bool GetHeightVersor( Vector3d& vtH) const ;
virtual bool GetStartPoint( Point3d& ptStart) const ;
virtual bool GetOverStartPoint( Point3d& ptStart) const ;
virtual bool GetEndPoint( Point3d& ptEnd) const ;
virtual bool GetOverEndPoint( Point3d& ptEnd) const ;
virtual bool GetMidPoint( Point3d& ptMid) const ;
virtual bool GetCenterPoint( Point3d& ptCen) const ;
virtual bool GetOutline( ICURVEPLIST& lstPC) const ;
virtual bool SplitOnLineBreak( IEXTTEXTPVECTOR& vText) const ;
virtual bool ApproxWithLines( double dLinTol, double dAngTolDeg, POLYLINELIST& lstPL) const ;
virtual bool ApproxWithArcs( double dLinTol, double dAngTolDeg, POLYARCLIST& lstPA) const ;
virtual bool Flip( void) ;
virtual bool Mir( bool bOnLen) ;
virtual bool ModifyText( const std::string& sText) ;
virtual bool ChangeFont( const std::string& sFont) ;
bool CopyFrom( const IGeoObj* pGObjSrc) override ;
bool Set( const Point3d& ptP, double dAngDeg, const std::string& sText, double dH) override ;
bool Set( const Point3d& ptP, const Vector3d& vtN, const Vector3d& vtD,
const std::string& sText, const std::string& sFont, bool bItl, double dH) override ;
bool Set( const Point3d& ptP, const Vector3d& vtN, const Vector3d& vtD,
const std::string& sText, const std::string& sFont, int nW, bool bItl, double dH,
double dRat, double dAddAdv, int nInsPos = 7) override ;
const Point3d& GetPoint( void) const override
{ return m_ptP ; }
const Vector3d& GetNormVersor( void) const override
{ return m_vtN ; }
const Vector3d& GetDirVersor( void) const override
{ return m_vtD ; }
const std::string& GetText( void) const override
{ return m_sText ; }
const std::string& GetFont( void) const override
{ return m_sFont ; }
int GetWeight( void) const override
{ return m_nWeight ; }
bool GetItalic( void) const override
{ return m_bItalic ; }
double GetHeight( void) const override
{ return m_dHeight ; }
double GetRatio( void) const override
{ return m_dRatio ; }
double GetAddAdvance( void) const override
{ return m_dAddAdvance ; }
int GetInsPosition( void) const override
{ return m_nInsPos ; }
bool GetHeightVersor( Vector3d& vtH) const override ;
bool GetStartPoint( Point3d& ptStart) const override ;
bool GetOverStartPoint( Point3d& ptStart) const override ;
bool GetEndPoint( Point3d& ptEnd) const override ;
bool GetOverEndPoint( Point3d& ptEnd) const override ;
bool GetMidPoint( Point3d& ptMid) const override ;
bool GetCenterPoint( Point3d& ptCen) const override ;
bool GetOutline( ICURVEPLIST& lstPC) const override ;
bool SplitOnLineBreak( IEXTTEXTPVECTOR& vText) const override ;
bool ApproxWithLines( double dLinTol, double dAngTolDeg, POLYLINELIST& lstPL) const override ;
bool ApproxWithArcs( double dLinTol, double dAngTolDeg, POLYARCLIST& lstPA) const override ;
bool Flip( void) override ;
bool Mir( bool bOnLen) override ;
bool ModifyText( const std::string& sText) override ;
bool ChangeFont( const std::string& sFont) override ;
public : // IGeoObjRW
virtual int GetNgeId( void) const ;
virtual bool Save( NgeWriter& ngeOut) const ;
virtual bool Load( NgeReader& ngeIn) ;
int GetNgeId( void) const override ;
bool Save( NgeWriter& ngeOut) const override ;
bool Load( NgeReader& ngeIn) override ;
public :
ExtText( void) ;
+31 -31
View File
@@ -27,13 +27,13 @@ class PolyArc ;
class GdbExecutor : public IGdbExecutor
{
public : // ICmdExecutor
virtual bool SetCmdParser( ICmdParser* pParser) ;
virtual bool AddStandardVariables( void) ;
virtual int Execute( const std::string& sCmd1, const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool SetCmdParser( ICmdParser* pParser) override ;
bool AddStandardVariables( void) override ;
int Execute( const std::string& sCmd1, const std::string& sCmd2, const STRVECTOR& vsParams) override ;
public : // IGdbExecutor
~GdbExecutor( void) ;
virtual bool SetGeomDB( IGeomDB* pGdb) ;
~GdbExecutor( void) override ;
bool SetGeomDB( IGeomDB* pGdb) override ;
public :
GdbExecutor( void) ;
@@ -123,32 +123,32 @@ class GdbExecutor : public IGdbExecutor
bool VolZmapSetGenTool( const STRVECTOR& vsParams) ;
bool VolZmapDeepnessMeasure( const STRVECTOR& vsParams) ;
bool VolZmapBBoxZmapIntersection( const STRVECTOR& vsParams) ;
bool ExecuteIntersection( const std::string& sCmd2, const STRVECTOR& vsParams) ; //
bool LineDiscInters( const STRVECTOR& vsParams) ; //
bool RayDiscInters( const STRVECTOR& vsParams) ; //
bool SegmentDiscInters( const STRVECTOR& vsParams) ; //
bool LineSphereInters( const STRVECTOR& vsParams) ; //
bool RaySphereInters( const STRVECTOR& vsParams) ; //
bool SegmentSphereInters( const STRVECTOR& vsParams) ; //
bool LineSemiSphereInters( const STRVECTOR& vsParams) ; //
bool RaySemiSphereInters( const STRVECTOR& vsParams) ; //
bool SegmentSemiSphereInters( const STRVECTOR& vsParams) ; //
bool LinCompSemiSphereInters( const STRVECTOR& vsParams) ; //
bool LineInfiniteCylinderInters( const STRVECTOR& vsParams) ; //
bool RayInfiniteCylinderInters( const STRVECTOR& vsParams) ; //
bool SegmentInfiniteCylinderInters( const STRVECTOR& vsParams) ; //
bool LineCylinderInters( const STRVECTOR& vsParams) ; //
bool RayCylinderInters( const STRVECTOR& vsParams) ; //
bool SegmentCylinderInters( const STRVECTOR& vsParams) ; //
bool SegmentConeInters( const STRVECTOR& vsParams) ; //
bool LineTruncateConeInters( const STRVECTOR& vsParams) ; //
bool RayTruncateConeInters( const STRVECTOR& vsParams) ; //
bool SegmentTruncateConeInters( const STRVECTOR& vsParams) ; //
bool LineTorusInters( const STRVECTOR& vsParams) ; //
bool RayTorusInters( const STRVECTOR& vsParams) ; //
bool SegmentTorusInters( const STRVECTOR& vsParams) ; //
bool LinCompTorusPartInters( const STRVECTOR& vsParams) ; //
bool ExecuteToolAvoidTriangle( const std::string& sCmd2, const STRVECTOR& vsParams) ; //
bool ExecuteIntersection( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool LineDiscInters( const STRVECTOR& vsParams) ;
bool RayDiscInters( const STRVECTOR& vsParams) ;
bool SegmentDiscInters( const STRVECTOR& vsParams) ;
bool LineSphereInters( const STRVECTOR& vsParams) ;
bool RaySphereInters( const STRVECTOR& vsParams) ;
bool SegmentSphereInters( const STRVECTOR& vsParams) ;
bool LineSemiSphereInters( const STRVECTOR& vsParams) ;
bool RaySemiSphereInters( const STRVECTOR& vsParams) ;
bool SegmentSemiSphereInters( const STRVECTOR& vsParams) ;
bool LinCompSemiSphereInters( const STRVECTOR& vsParams) ;
bool LineInfiniteCylinderInters( const STRVECTOR& vsParams) ;
bool RayInfiniteCylinderInters( const STRVECTOR& vsParams) ;
bool SegmentInfiniteCylinderInters( const STRVECTOR& vsParams) ;
bool LineCylinderInters( const STRVECTOR& vsParams) ;
bool RayCylinderInters( const STRVECTOR& vsParams) ;
bool SegmentCylinderInters( const STRVECTOR& vsParams) ;
bool SegmentConeInters( const STRVECTOR& vsParams) ;
bool LineTruncateConeInters( const STRVECTOR& vsParams) ;
bool RayTruncateConeInters( const STRVECTOR& vsParams) ;
bool SegmentTruncateConeInters( const STRVECTOR& vsParams) ;
bool LineTorusInters( const STRVECTOR& vsParams) ;
bool RayTorusInters( const STRVECTOR& vsParams) ;
bool SegmentTorusInters( const STRVECTOR& vsParams) ;
bool LinCompTorusPartInters( const STRVECTOR& vsParams) ;
bool ExecuteToolAvoidTriangle( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteText( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool TextSimple( const STRVECTOR& vsParams) ;
bool TextComplete( const STRVECTOR& vsParams) ;
+20 -20
View File
@@ -23,26 +23,26 @@ class IGeoObj ;
class GdbGeo : public GdbObj
{
public :
virtual ~GdbGeo( void) ;
virtual GdbGeo* Clone( int nId) const ;
virtual GdbType GetGdbType( void) const
{ return GDB_TY_GEO ; }
virtual bool Save( int nBaseId, NgeWriter& ngeOut) const ;
virtual bool Load( int nNgeId, NgeReader& ngeIn, int nBaseGdbId, int& nParentId) ;
virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag, int nLev = 0) const ;
virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag, int nLev = 0) const ;
virtual bool Translate( const Vector3d& vtMove) ;
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) ;
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg)
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
virtual bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) ;
virtual bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) ;
virtual bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) ;
virtual bool ToGlob( const Frame3d& frRef) ;
virtual bool ToLoc( const Frame3d& frRef) ;
virtual bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) ;
virtual bool OnSetMaterial( void) ;
~GdbGeo( void) override ;
GdbGeo* Clone( int nId) const override ;
GdbType GetGdbType( void) const override
{ return GDB_TY_GEO ; }
bool Save( int nBaseId, NgeWriter& ngeOut) const override ;
bool Load( int nNgeId, NgeReader& ngeIn, int nBaseGdbId, int& nParentId) override ;
bool GetLocalBBox( BBox3d& b3Loc, int nFlag, int nLev = 0) const override ;
bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag, int nLev = 0) const override ;
bool Translate( const Vector3d& vtMove) override ;
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) override ;
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) override
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) override ;
bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) override ;
bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) override ;
bool ToGlob( const Frame3d& frRef) override ;
bool ToLoc( const Frame3d& frRef) override ;
bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) override ;
bool OnSetMaterial( void) override ;
public :
GdbGeo( void) ;
+25 -25
View File
@@ -24,31 +24,31 @@ class GdbGroup : public GdbObj
friend class GdbObj ;
public :
virtual ~GdbGroup( void) ;
virtual GdbGroup* Clone( int nId) const ;
virtual GdbType GetGdbType( void) const
{ return GDB_TY_GROUP ; }
virtual bool Save( int nBaseId, NgeWriter& ngeOut) const ;
virtual bool Load( int nNgeId, NgeReader& ngeIn, int nBaseGdbId, int& nParentId) ;
virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag, int nLev = 0) const ;
virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag, int nLev = 0) const ;
virtual bool Translate( const Vector3d& vtMove)
{ m_frF.Translate( vtMove) ; return true ; }
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg)
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng)
{ return m_frF.Rotate( ptAx, vtAx, dCosAng, dSinAng) ; }
virtual bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) ;
virtual bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) ;
virtual bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) ;
virtual bool ToGlob( const Frame3d& frRef)
{ return m_frF.ToGlob( frRef) ; }
virtual bool ToLoc( const Frame3d& frRef)
{ return m_frF.ToLoc( frRef) ; }
virtual bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest)
{ return m_frF.LocToLoc( frOri, frDest) ; }
virtual bool OnSetMaterial( void) ;
~GdbGroup( void) override ;
GdbGroup* Clone( int nId) const override ;
GdbType GetGdbType( void) const override
{ return GDB_TY_GROUP ; }
bool Save( int nBaseId, NgeWriter& ngeOut) const override ;
bool Load( int nNgeId, NgeReader& ngeIn, int nBaseGdbId, int& nParentId) override ;
bool GetLocalBBox( BBox3d& b3Loc, int nFlag, int nLev = 0) const override ;
bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag, int nLev = 0) const override ;
bool Translate( const Vector3d& vtMove) override
{ m_frF.Translate( vtMove) ; return true ; }
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) override
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) override
{ return m_frF.Rotate( ptAx, vtAx, dCosAng, dSinAng) ; }
bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) override ;
bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) override ;
bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) override ;
bool ToGlob( const Frame3d& frRef) override
{ return m_frF.ToGlob( frRef) ; }
bool ToLoc( const Frame3d& frRef) override
{ return m_frF.ToLoc( frRef) ; }
bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) override
{ return m_frF.LocToLoc( frOri, frDest) ; }
bool OnSetMaterial( void) override ;
public :
GdbGroup( void) ;
+128 -128
View File
@@ -20,139 +20,139 @@
class GdbIterator : public IGdbIterator
{
public :
virtual ~GdbIterator( void) ;
virtual bool SetGDB( IGeomDB* pGDB) ;
virtual GeomDB* GetGDB( void) const
{ return m_pGDB ; }
virtual bool GoTo( int nId) ;
virtual bool GoToFirstInGroup( int nIdGroup) ;
virtual bool GoToFirstInGroup( const IGdbIterator& iIter) ;
virtual bool GoToNext( void) ;
virtual bool GoToLastInGroup( int nIdGroup) ;
virtual bool GoToLastInGroup( const IGdbIterator& iIter) ;
virtual bool GoToPrev( void) ;
virtual bool EraseAndGoToNext( void) ;
virtual bool EraseAndGoToPrev( void) ;
virtual bool GoToFirstNameInGroup( int nIdGroup, const std::string& sName) ;
virtual bool GoToFirstNameInGroup( const IGdbIterator& iIter, const std::string& sName) ;
virtual bool GoToNextName( const std::string& sName) ;
virtual bool GoToLastNameInGroup( int nIdGroup, const std::string& sName) ;
virtual bool GoToLastNameInGroup( const IGdbIterator& iIter, const std::string& sName) ;
virtual bool GoToPrevName( const std::string& sName) ;
virtual bool EraseAndGoToNextName( const std::string& sName) ;
virtual bool EraseAndGoToPrevName( const std::string& sName) ;
virtual bool GoToFirstGroupInGroup( int nIdGroup) ;
virtual bool GoToFirstGroupInGroup( const IGdbIterator& iIter) ;
virtual bool GoToNextGroup( void) ;
virtual bool GoToLastGroupInGroup( int nIdGroup) ;
virtual bool GoToLastGroupInGroup( const IGdbIterator& iIter) ;
virtual bool GoToPrevGroup( void) ;
virtual bool EraseAndGoToNextGroup( void) ;
virtual bool EraseAndGoToPrevGroup( void) ;
~GdbIterator( void) override ;
bool SetGDB( IGeomDB* pGDB) override ;
GeomDB* GetGDB( void) const override
{ return m_pGDB ; }
bool GoTo( int nId) override ;
bool GoToFirstInGroup( int nIdGroup) override ;
bool GoToFirstInGroup( const IGdbIterator& iIter) override ;
bool GoToNext( void) override ;
bool GoToLastInGroup( int nIdGroup) override ;
bool GoToLastInGroup( const IGdbIterator& iIter) override ;
bool GoToPrev( void) override ;
bool EraseAndGoToNext( void) override ;
bool EraseAndGoToPrev( void) override ;
bool GoToFirstNameInGroup( int nIdGroup, const std::string& sName) override ;
bool GoToFirstNameInGroup( const IGdbIterator& iIter, const std::string& sName) override ;
bool GoToNextName( const std::string& sName) override ;
bool GoToLastNameInGroup( int nIdGroup, const std::string& sName) override ;
bool GoToLastNameInGroup( const IGdbIterator& iIter, const std::string& sName) override ;
bool GoToPrevName( const std::string& sName) override ;
bool EraseAndGoToNextName( const std::string& sName) override ;
bool EraseAndGoToPrevName( const std::string& sName) override ;
bool GoToFirstGroupInGroup( int nIdGroup) override ;
bool GoToFirstGroupInGroup( const IGdbIterator& iIter) override ;
bool GoToNextGroup( void) override ;
bool GoToLastGroupInGroup( int nIdGroup) override ;
bool GoToLastGroupInGroup( const IGdbIterator& iIter) override ;
bool GoToPrevGroup( void) override ;
bool EraseAndGoToNextGroup( void) override ;
bool EraseAndGoToPrevGroup( void) override ;
// Gets
virtual int GetGdbType( void) const ;
virtual int GetGeoType( void) const ;
virtual IGeoObj* GetGeoObj( void) ;
virtual const IGeoObj* GetGeoObj( void) const ;
virtual Frame3d* GetGroupFrame( void) ;
virtual const Frame3d* GetGroupFrame( void) const ;
virtual bool GetGroupFrame( Frame3d& frGlob) const ;
virtual bool GetGroupGlobFrame( Frame3d& frGlob) const ;
virtual int GetGroupObjs( void) const ;
virtual int GetId( void) const ;
virtual int GetParentId( void) const ;
virtual bool GetGlobFrame( Frame3d& frGlob) const ;
virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const ;
virtual bool GetGlobalBBox( BBox3d& b3Glob, int nFlag = BBF_STANDARD) const ;
virtual bool GetRefBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const ;
int GetGdbType( void) const override ;
int GetGeoType( void) const override ;
IGeoObj* GetGeoObj( void) override ;
const IGeoObj* GetGeoObj( void) const override ;
Frame3d* GetGroupFrame( void) override ;
const Frame3d* GetGroupFrame( void) const override ;
bool GetGroupFrame( Frame3d& frGlob) const override ;
bool GetGroupGlobFrame( Frame3d& frGlob) const override ;
int GetGroupObjs( void) const override ;
int GetId( void) const override ;
int GetParentId( void) const override ;
bool GetGlobFrame( Frame3d& frGlob) const override ;
bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const override ;
bool GetGlobalBBox( BBox3d& b3Glob, int nFlag = BBF_STANDARD) const override ;
bool GetRefBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const override ;
// Transformations
virtual bool Translate( const Vector3d& vtMove) ;
virtual bool TranslateGlob( const Vector3d& vtMove) ;
virtual bool TranslateGroup( const Vector3d& vtMove) ;
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg)
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) ;
virtual bool RotateGlob( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg)
{ double dAngRad = dAngDeg * DEGTORAD ;
return RotateGlob( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
virtual bool RotateGlob( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) ;
virtual bool RotateGroup( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg)
{ double dAngRad = dAngDeg * DEGTORAD ;
return RotateGroup( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
virtual bool RotateGroup( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) ;
virtual bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) ;
virtual bool ScaleGlob( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) ;
virtual bool ScaleGroup( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) ;
virtual bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) ;
virtual bool MirrorGlob( const Point3d& ptOn, const Vector3d& vtNorm) ;
virtual bool MirrorGroup( const Point3d& ptOn, const Vector3d& vtNorm) ;
virtual bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) ;
virtual bool ShearGlob( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) ;
virtual bool ShearGroup( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) ;
bool Translate( const Vector3d& vtMove) override ;
bool TranslateGlob( const Vector3d& vtMove) override ;
bool TranslateGroup( const Vector3d& vtMove) override ;
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) override
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) override ;
bool RotateGlob( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) override
{ double dAngRad = dAngDeg * DEGTORAD ;
return RotateGlob( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
bool RotateGlob( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) override ;
bool RotateGroup( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) override
{ double dAngRad = dAngDeg * DEGTORAD ;
return RotateGroup( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
bool RotateGroup( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) override ;
bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) override ;
bool ScaleGlob( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) override ;
bool ScaleGroup( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) override ;
bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) override ;
bool MirrorGlob( const Point3d& ptOn, const Vector3d& vtNorm) override ;
bool MirrorGroup( const Point3d& ptOn, const Vector3d& vtNorm) override ;
bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) override ;
bool ShearGlob( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) override ;
bool ShearGroup( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) override ;
// Attributes
virtual bool SetLevel( int nLevel) ;
virtual bool RevertLevel( void) ;
virtual bool GetLevel( int& nLevel) const ;
virtual bool GetCalcLevel( int& nLevel) const ;
virtual bool SetMode( int nMode) ;
virtual bool RevertMode( void) ;
virtual bool GetMode( int& nMode) const ;
virtual bool GetCalcMode( int& nMode) const ;
virtual bool SetStatus( int nStat) ;
virtual bool RevertStatus( void) ;
virtual bool GetStatus( int& nStat) const ;
virtual bool GetCalcStatus( int& nStat) const ;
virtual bool SetMark( void) ;
virtual bool ResetMark( void) ;
virtual bool GetMark( int& nMark) const ;
virtual bool GetCalcMark( int& nMark) const ;
virtual bool SetMaterial( int nMat) ;
virtual bool SetMaterial( int nMat, const std::string& sMatName) ;
virtual bool SetMaterial( Color cCol) ;
virtual bool GetMaterial( int& nMat) const ;
virtual bool GetMaterial( Material& mMat) const ;
virtual bool GetMaterial( Color& cCol) const ;
virtual bool GetCalcMaterial( int& nMat) const ;
virtual bool GetCalcMaterial( Material& mMat) const ;
virtual bool GetCalcMaterial( Color& cCol) const ;
virtual bool SetName( const std::string& sName) ;
virtual bool GetName( std::string& sName) const ;
virtual bool ExistsName( void) const ;
virtual bool RemoveName( void) ;
virtual bool SetInfo( const std::string& sKey, const std::string& sInfo) ;
virtual bool SetInfo( const std::string& sKey, bool bInfo) ;
virtual bool SetInfo( const std::string& sKey, int nInfo) ;
virtual bool SetInfo( const std::string& sKey, double dInfo) ;
virtual bool SetInfo( const std::string& sKey, const Point3d& ptInfo) ;
virtual bool SetInfo( const std::string& sKey, const Vector3d& vtInfo) ;
virtual bool SetInfo( const std::string& sKey, const Frame3d& frInfo) ;
virtual bool SetInfo( const std::string& sKey, const INTVECTOR& vnInfo) ;
virtual bool SetInfo( const std::string& sKey, const DBLVECTOR& vdInfo) ;
virtual bool SetInfo( const std::string& sKey, const STRVECTOR& vsInfo) ;
virtual bool GetInfo( const std::string& sKey, std::string& sInfo) const ;
virtual bool GetInfo( const std::string& sKey, bool& bInfo) const ;
virtual bool GetInfo( const std::string& sKey, int& nInfo) const ;
virtual bool GetInfo( const std::string& sKey, double& dInfo) const ;
virtual bool GetInfo( const std::string& sKey, Point3d& ptInfo) const ;
virtual bool GetInfo( const std::string& sKey, Vector3d& vtInfo) const ;
virtual bool GetInfo( const std::string& sKey, Frame3d& frInfo) const ;
virtual bool GetInfo( const std::string& sKey, INTVECTOR& vnInfo) const ;
virtual bool GetInfo( const std::string& sKey, DBLVECTOR& vdInfo) const ;
virtual bool GetInfo( const std::string& sKey, STRVECTOR& vsInfo) const ;
virtual bool ExistsInfo( const std::string& sKey) const ;
virtual bool RemoveInfo( const std::string& sKey) ;
bool SetLevel( int nLevel) override ;
bool RevertLevel( void) override ;
bool GetLevel( int& nLevel) const override ;
bool GetCalcLevel( int& nLevel) const override ;
bool SetMode( int nMode) override ;
bool RevertMode( void) override ;
bool GetMode( int& nMode) const override ;
bool GetCalcMode( int& nMode) const override ;
bool SetStatus( int nStat) override ;
bool RevertStatus( void) override ;
bool GetStatus( int& nStat) const override ;
bool GetCalcStatus( int& nStat) const override ;
bool SetMark( void) override ;
bool ResetMark( void) override ;
bool GetMark( int& nMark) const override ;
bool GetCalcMark( int& nMark) const override ;
bool SetMaterial( int nMat) override ;
bool SetMaterial( int nMat, const std::string& sMatName) override ;
bool SetMaterial( Color cCol) override ;
bool GetMaterial( int& nMat) const override ;
bool GetMaterial( Material& mMat) const override ;
bool GetMaterial( Color& cCol) const override ;
bool GetCalcMaterial( int& nMat) const override ;
bool GetCalcMaterial( Material& mMat) const override ;
bool GetCalcMaterial( Color& cCol) const override ;
bool SetName( const std::string& sName) override ;
bool GetName( std::string& sName) const override ;
bool ExistsName( void) const override ;
bool RemoveName( void) override ;
bool SetInfo( const std::string& sKey, const std::string& sInfo) override ;
bool SetInfo( const std::string& sKey, bool bInfo) override ;
bool SetInfo( const std::string& sKey, int nInfo) override ;
bool SetInfo( const std::string& sKey, double dInfo) override ;
bool SetInfo( const std::string& sKey, const Point3d& ptInfo) override ;
bool SetInfo( const std::string& sKey, const Vector3d& vtInfo) override ;
bool SetInfo( const std::string& sKey, const Frame3d& frInfo) override ;
bool SetInfo( const std::string& sKey, const INTVECTOR& vnInfo) override ;
bool SetInfo( const std::string& sKey, const DBLVECTOR& vdInfo) override ;
bool SetInfo( const std::string& sKey, const STRVECTOR& vsInfo) override ;
bool GetInfo( const std::string& sKey, std::string& sInfo) const override ;
bool GetInfo( const std::string& sKey, bool& bInfo) const override ;
bool GetInfo( const std::string& sKey, int& nInfo) const override ;
bool GetInfo( const std::string& sKey, double& dInfo) const override ;
bool GetInfo( const std::string& sKey, Point3d& ptInfo) const override ;
bool GetInfo( const std::string& sKey, Vector3d& vtInfo) const override ;
bool GetInfo( const std::string& sKey, Frame3d& frInfo) const override ;
bool GetInfo( const std::string& sKey, INTVECTOR& vnInfo) const override ;
bool GetInfo( const std::string& sKey, DBLVECTOR& vdInfo) const override ;
bool GetInfo( const std::string& sKey, STRVECTOR& vsInfo) const override ;
bool ExistsInfo( const std::string& sKey) const ;
bool RemoveInfo( const std::string& sKey) ;
// TextureData
virtual bool SetTextureName( const std::string& sTxrName) ;
virtual bool SetTextureFrame( const Frame3d& frTxrRef) ;
virtual bool RemoveTextureData( void) ;
virtual bool GetTextureName( std::string& sTxrName) const ;
virtual bool GetTextureFrame( Frame3d& frTxrRef) const ;
bool SetTextureName( const std::string& sTxrName) override ;
bool SetTextureFrame( const Frame3d& frTxrRef) override ;
bool RemoveTextureData( void) override ;
bool GetTextureName( std::string& sTxrName) const override ;
bool GetTextureFrame( Frame3d& frTxrRef) const override ;
// UserObj
virtual bool SetUserObj( IUserObj* pUserObj) ;
virtual IUserObj* GetUserObj( void) ;
virtual const IUserObj* GetUserObj( void) const ;
virtual bool RemoveUserObj( void) ;
bool SetUserObj( IUserObj* pUserObj) override ;
IUserObj* GetUserObj( void) override ;
const IUserObj* GetUserObj( void) const override ;
bool RemoveUserObj( void) override ;
public :
GdbIterator( IGeomDB* pGDB = nullptr) ;
+51 -53
View File
@@ -23,63 +23,61 @@
class GeoFrame3d : public IGeoFrame3d, public IGeoObjRW
{
public : // IGeoObj
virtual ~GeoFrame3d( void) ;
virtual GeoFrame3d* Clone( void) const ;
virtual GeoObjType GetType( void) const ;
virtual bool IsValid( void) const
{ return ( m_frF.GetType() != Frame3d::ERR) ; }
virtual const std::string& GetTitle( void) const ;
virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ;
virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const ;
virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const ;
virtual bool GetFrame( Frame3d& frF) const
{ frF = m_frF ; return true ;}
virtual bool Translate( const Vector3d& vtMove)
{ m_OGrMgr.Reset() ; m_frF.Translate( vtMove) ; return true ; }
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg)
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng)
{ m_OGrMgr.Reset() ; return m_frF.Rotate( ptAx, vtAx, dCosAng, dSinAng) ; }
virtual bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ)
{ m_OGrMgr.Reset() ; return m_frF.PseudoScale( frRef, dCoeffX, dCoeffY, dCoeffZ) ; }
virtual bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm)
{ m_OGrMgr.Reset() ; return m_frF.PseudoMirror( ptOn, vtNorm) ; }
virtual bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff)
{ m_OGrMgr.Reset() ; return m_frF.PseudoShear( ptOn, vtNorm, vtDir, dCoeff) ; }
virtual bool ToGlob( const Frame3d& frRef)
{ m_OGrMgr.Reset() ; return m_frF.ToGlob( frRef) ;}
virtual bool ToLoc( const Frame3d& frRef)
{ m_OGrMgr.Reset() ; return m_frF.ToLoc( frRef) ;}
virtual bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest)
{ m_OGrMgr.Reset() ; return m_frF.LocToLoc( frOri, frDest) ;}
virtual void SetObjGraphics( IObjGraphics* pOGr)
{ m_OGrMgr.SetObjGraphics( pOGr) ; }
virtual IObjGraphics* GetObjGraphics( void)
{ return m_OGrMgr.GetObjGraphics() ; }
virtual const IObjGraphics* GetObjGraphics( void) const
{ return m_OGrMgr.GetObjGraphics() ; }
virtual void SetTempProp( int nProp)
{ m_nTempProp = nProp ; }
virtual int GetTempProp( void)
{ return m_nTempProp ; }
~GeoFrame3d( void) override ;
GeoFrame3d* Clone( void) const override ;
GeoObjType GetType( void) const override ;
bool IsValid( void) const override
{ return ( m_frF.GetType() != Frame3d::ERR) ; }
const std::string& GetTitle( void) const override ;
bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const override ;
bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const override ;
bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const override ;
bool Translate( const Vector3d& vtMove) override
{ m_OGrMgr.Reset() ; m_frF.Translate( vtMove) ; return true ; }
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) override
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) override
{ m_OGrMgr.Reset() ; return m_frF.Rotate( ptAx, vtAx, dCosAng, dSinAng) ; }
bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) override
{ m_OGrMgr.Reset() ; return m_frF.PseudoScale( frRef, dCoeffX, dCoeffY, dCoeffZ) ; }
bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) override
{ m_OGrMgr.Reset() ; return m_frF.PseudoMirror( ptOn, vtNorm) ; }
bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) override
{ m_OGrMgr.Reset() ; return m_frF.PseudoShear( ptOn, vtNorm, vtDir, dCoeff) ; }
bool ToGlob( const Frame3d& frRef) override
{ m_OGrMgr.Reset() ; return m_frF.ToGlob( frRef) ;}
bool ToLoc( const Frame3d& frRef) override
{ m_OGrMgr.Reset() ; return m_frF.ToLoc( frRef) ;}
bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) override
{ m_OGrMgr.Reset() ; return m_frF.LocToLoc( frOri, frDest) ;}
void SetObjGraphics( IObjGraphics* pOGr) override
{ m_OGrMgr.SetObjGraphics( pOGr) ; }
IObjGraphics* GetObjGraphics( void) override
{ return m_OGrMgr.GetObjGraphics() ; }
const IObjGraphics* GetObjGraphics( void) const override
{ return m_OGrMgr.GetObjGraphics() ; }
void SetTempProp( int nProp) override
{ m_nTempProp = nProp ; }
int GetTempProp( void) override
{ return m_nTempProp ; }
public : // IGeoFrame3d
virtual bool CopyFrom( const IGeoObj* pGObjSrc) ;
virtual bool Set( const Point3d& ptOrig, const Vector3d& vtDirX,
const Vector3d& vtDirY, const Vector3d& vtDirZ) ;
virtual bool Set( const Point3d& ptOrig, const Point3d& ptOnX, const Point3d& ptNearY) ;
virtual bool Set( const Point3d& ptOrig, const Vector3d& vtDirZ) ;
virtual bool Set( const Frame3d& frF) ;
virtual const Frame3d& GetFrame( void) const
{ return m_frF ; }
virtual bool GetDrawWithArrowHeads( double dLenA, double dFrazLenAH,
PolyLine& plX, PolyLine& plY, PolyLine& plZ) const ;
bool CopyFrom( const IGeoObj* pGObjSrc) override ;
bool Set( const Point3d& ptOrig, const Vector3d& vtDirX,
const Vector3d& vtDirY, const Vector3d& vtDirZ) override ;
bool Set( const Point3d& ptOrig, const Point3d& ptOnX, const Point3d& ptNearY) override ;
bool Set( const Point3d& ptOrig, const Vector3d& vtDirZ) override ;
bool Set( const Frame3d& frF) override ;
const Frame3d& GetFrame( void) const
{ return m_frF ; }
bool GetDrawWithArrowHeads( double dLenA, double dFrazLenAH,
PolyLine& plX, PolyLine& plY, PolyLine& plZ) const override ;
public : // IGeoObjRW
virtual int GetNgeId( void) const ;
virtual bool Save( NgeWriter& ngeOut) const ;
virtual bool Load( NgeReader& ngeIn) ;
int GetNgeId( void) const override ;
bool Save( NgeWriter& ngeOut) const override ;
bool Load( NgeReader& ngeIn) override ;
public :
GeoFrame3d( void) ;
+45 -45
View File
@@ -23,55 +23,55 @@
class GeoPoint3d : public IGeoPoint3d, public IGeoObjRW
{
public : // IGeoObj
virtual ~GeoPoint3d( void) ;
virtual GeoPoint3d* Clone( void) const ;
virtual GeoObjType GetType( void) const ;
virtual bool IsValid( void) const
{ return true ; }
virtual const std::string& GetTitle( void) const ;
virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ;
virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const ;
virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const ;
virtual bool Translate( const Vector3d& vtMove)
{ m_OGrMgr.Reset() ; m_ptP.Translate( vtMove) ; return true ; }
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg)
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng)
{ m_OGrMgr.Reset() ; return m_ptP.Rotate( ptAx, vtAx, dCosAng, dSinAng) ; }
virtual bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ)
{ m_OGrMgr.Reset() ; return m_ptP.Scale( frRef, dCoeffX, dCoeffY, dCoeffZ) ;}
virtual bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm)
{ m_OGrMgr.Reset() ; return m_ptP.Mirror( ptOn, vtNorm) ;}
virtual bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff)
{ m_OGrMgr.Reset() ; return m_ptP.Shear( ptOn, vtNorm, vtDir, dCoeff) ;}
virtual bool ToGlob( const Frame3d& frRef)
{ m_OGrMgr.Reset() ; return m_ptP.ToGlob( frRef) ;}
virtual bool ToLoc( const Frame3d& frRef)
{ m_OGrMgr.Reset() ; return m_ptP.ToLoc( frRef) ;}
virtual bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest)
{ m_OGrMgr.Reset() ; return m_ptP.LocToLoc( frOri, frDest) ;}
virtual void SetObjGraphics( IObjGraphics* pOGr)
{ m_OGrMgr.SetObjGraphics( pOGr) ; }
virtual IObjGraphics* GetObjGraphics( void)
{ return m_OGrMgr.GetObjGraphics() ; }
virtual const IObjGraphics* GetObjGraphics( void) const
{ return m_OGrMgr.GetObjGraphics() ; }
virtual void SetTempProp( int nProp)
{ m_nTempProp = nProp ; }
virtual int GetTempProp( void)
{ return m_nTempProp ; }
~GeoPoint3d( void) override ;
GeoPoint3d* Clone( void) const override ;
GeoObjType GetType( void) const override ;
bool IsValid( void) const override
{ return true ; }
const std::string& GetTitle( void) const override ;
bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const override ;
bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const override ;
bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const override ;
bool Translate( const Vector3d& vtMove) override
{ m_OGrMgr.Reset() ; m_ptP.Translate( vtMove) ; return true ; }
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) override
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) override
{ m_OGrMgr.Reset() ; return m_ptP.Rotate( ptAx, vtAx, dCosAng, dSinAng) ; }
bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) override
{ m_OGrMgr.Reset() ; return m_ptP.Scale( frRef, dCoeffX, dCoeffY, dCoeffZ) ;}
bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) override
{ m_OGrMgr.Reset() ; return m_ptP.Mirror( ptOn, vtNorm) ;}
bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) override
{ m_OGrMgr.Reset() ; return m_ptP.Shear( ptOn, vtNorm, vtDir, dCoeff) ;}
bool ToGlob( const Frame3d& frRef) override
{ m_OGrMgr.Reset() ; return m_ptP.ToGlob( frRef) ;}
bool ToLoc( const Frame3d& frRef) override
{ m_OGrMgr.Reset() ; return m_ptP.ToLoc( frRef) ;}
bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) override
{ m_OGrMgr.Reset() ; return m_ptP.LocToLoc( frOri, frDest) ;}
void SetObjGraphics( IObjGraphics* pOGr) override
{ m_OGrMgr.SetObjGraphics( pOGr) ; }
IObjGraphics* GetObjGraphics( void) override
{ return m_OGrMgr.GetObjGraphics() ; }
const IObjGraphics* GetObjGraphics( void) const override
{ return m_OGrMgr.GetObjGraphics() ; }
void SetTempProp( int nProp) override
{ m_nTempProp = nProp ; }
int GetTempProp( void) override
{ return m_nTempProp ; }
public : // IGeoPoint3d
virtual bool CopyFrom( const IGeoObj* pGObjSrc) ;
virtual bool Set( const Point3d& ptP) ;
virtual const Point3d& GetPoint( void) const
{ return m_ptP ; }
bool CopyFrom( const IGeoObj* pGObjSrc) override ;
bool Set( const Point3d& ptP) override ;
const Point3d& GetPoint( void) const override
{ return m_ptP ; }
public : // IGeoObjRW
virtual int GetNgeId( void) const ;
virtual bool Save( NgeWriter& ngeOut) const ;
virtual bool Load( NgeReader& ngeIn) ;
int GetNgeId( void) const override ;
bool Save( NgeWriter& ngeOut) const override ;
bool Load( NgeReader& ngeIn) override ;
public :
GeoPoint3d( void) ;
+60 -60
View File
@@ -22,70 +22,70 @@
class GeoVector3d : public IGeoVector3d, public IGeoObjRW
{
public : // IGeoObj
virtual ~GeoVector3d( void) ;
virtual GeoVector3d* Clone( void) const ;
virtual GeoObjType GetType( void) const ;
virtual bool IsValid( void) const
{ return true ; }
virtual const std::string& GetTitle( void) const ;
virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ;
virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const ;
virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const ;
virtual bool Translate( const Vector3d& vtMove)
{ m_OGrMgr.Reset() ; m_ptBase.Translate( vtMove) ; return true ; }
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg)
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng)
{ m_OGrMgr.Reset() ;
return ( m_vtV.Rotate( vtAx, dCosAng, dSinAng) &&
m_ptBase.Rotate( ptAx, vtAx, dCosAng, dSinAng)) ; }
virtual bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ)
{ m_OGrMgr.Reset() ;
return ( m_vtV.Scale( frRef, dCoeffX, dCoeffY, dCoeffZ) &&
m_ptBase.Scale( frRef, dCoeffX, dCoeffY, dCoeffZ)) ; }
virtual bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm)
{ m_OGrMgr.Reset() ;
return ( m_vtV.Mirror( vtNorm) && m_ptBase.Mirror( ptOn, vtNorm)) ; }
virtual bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff)
{ m_OGrMgr.Reset() ;
return ( m_vtV.Shear( vtNorm, vtDir, dCoeff) && m_ptBase.Shear( ptOn, vtNorm, vtDir, dCoeff)) ; }
virtual bool ToGlob( const Frame3d& frRef)
{ m_OGrMgr.Reset() ;
return ( m_vtV.ToGlob( frRef) && m_ptBase.ToGlob( frRef)) ; }
virtual bool ToLoc( const Frame3d& frRef)
{ m_OGrMgr.Reset() ;
return ( m_vtV.ToLoc( frRef) && m_ptBase.ToLoc( frRef)) ; }
virtual bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest)
{ m_OGrMgr.Reset() ;
return ( m_vtV.LocToLoc( frOri, frDest) && m_ptBase.LocToLoc( frOri, frDest)) ; }
virtual void SetObjGraphics( IObjGraphics* pOGr)
{ m_OGrMgr.SetObjGraphics( pOGr) ; }
virtual IObjGraphics* GetObjGraphics( void)
{ return m_OGrMgr.GetObjGraphics() ; }
virtual const IObjGraphics* GetObjGraphics( void) const
{ return m_OGrMgr.GetObjGraphics() ; }
virtual void SetTempProp( int nProp)
{ m_nTempProp = nProp ; }
virtual int GetTempProp( void)
{ return m_nTempProp ; }
~GeoVector3d( void) override ;
GeoVector3d* Clone( void) const override ;
GeoObjType GetType( void) const override ;
bool IsValid( void) const override
{ return true ; }
const std::string& GetTitle( void) const override ;
bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const override ;
bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const override ;
bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const override ;
bool Translate( const Vector3d& vtMove) override
{ m_OGrMgr.Reset() ; m_ptBase.Translate( vtMove) ; return true ; }
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) override
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) override
{ m_OGrMgr.Reset() ;
return ( m_vtV.Rotate( vtAx, dCosAng, dSinAng) &&
m_ptBase.Rotate( ptAx, vtAx, dCosAng, dSinAng)) ; }
bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) override
{ m_OGrMgr.Reset() ;
return ( m_vtV.Scale( frRef, dCoeffX, dCoeffY, dCoeffZ) &&
m_ptBase.Scale( frRef, dCoeffX, dCoeffY, dCoeffZ)) ; }
bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) override
{ m_OGrMgr.Reset() ;
return ( m_vtV.Mirror( vtNorm) && m_ptBase.Mirror( ptOn, vtNorm)) ; }
bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) override
{ m_OGrMgr.Reset() ;
return ( m_vtV.Shear( vtNorm, vtDir, dCoeff) && m_ptBase.Shear( ptOn, vtNorm, vtDir, dCoeff)) ; }
bool ToGlob( const Frame3d& frRef) override
{ m_OGrMgr.Reset() ;
return ( m_vtV.ToGlob( frRef) && m_ptBase.ToGlob( frRef)) ; }
bool ToLoc( const Frame3d& frRef) override
{ m_OGrMgr.Reset() ;
return ( m_vtV.ToLoc( frRef) && m_ptBase.ToLoc( frRef)) ; }
bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) override
{ m_OGrMgr.Reset() ;
return ( m_vtV.LocToLoc( frOri, frDest) && m_ptBase.LocToLoc( frOri, frDest)) ; }
void SetObjGraphics( IObjGraphics* pOGr) override
{ m_OGrMgr.SetObjGraphics( pOGr) ; }
IObjGraphics* GetObjGraphics( void) override
{ return m_OGrMgr.GetObjGraphics() ; }
const IObjGraphics* GetObjGraphics( void) const override
{ return m_OGrMgr.GetObjGraphics() ; }
void SetTempProp( int nProp) override
{ m_nTempProp = nProp ; }
int GetTempProp( void) override
{ return m_nTempProp ; }
public : // IGeoVector3d
virtual bool CopyFrom( const IGeoObj* pGObjSrc) ;
virtual bool Set( const Vector3d& vtV) ;
virtual bool Set( const Vector3d& vtV, const Point3d& ptBase) ;
virtual const Vector3d& GetVector( void) const
{ return m_vtV ; }
virtual const Point3d& GetBase( void) const
{ return m_ptBase ; }
virtual bool ChangeVector( const Vector3d& vtV) ;
virtual bool ChangeBase( const Point3d& ptBase) ;
virtual bool GetDrawWithArrowHead( double dFrazLenAH, double dMaxDimA, PolyLine& PL) const ;
bool CopyFrom( const IGeoObj* pGObjSrc) override ;
bool Set( const Vector3d& vtV) override ;
bool Set( const Vector3d& vtV, const Point3d& ptBase) override ;
const Vector3d& GetVector( void) const override
{ return m_vtV ; }
const Point3d& GetBase( void) const override
{ return m_ptBase ; }
bool ChangeVector( const Vector3d& vtV) override ;
bool ChangeBase( const Point3d& ptBase) override ;
bool GetDrawWithArrowHead( double dFrazLenAH, double dMaxDimA, PolyLine& PL) const override ;
public : // IGeoObjRW
virtual int GetNgeId( void) const ;
virtual bool Save( NgeWriter& ngeOut) const ;
virtual bool Load( NgeReader& ngeIn) ;
int GetNgeId( void) const override ;
bool Save( NgeWriter& ngeOut) const override ;
bool Load( NgeReader& ngeIn) override ;
public :
GeoVector3d( void) ;
+1 -1
View File
@@ -73,7 +73,7 @@ UserObjDefault::Dump( string& sOut, bool bMM, const char* szNewLine) const
//----------------------------------------------------------------------------
bool
UserObjDefault::Save( STRVECTOR& vString) const
UserObjDefault::Save( int nBaseId, STRVECTOR& vString) const
{
vString = m_vData ;
return true ;
+10 -10
View File
@@ -19,16 +19,16 @@
class UserObjDefault : public IUserObj
{
public :
virtual UserObjDefault* Clone( void) const ;
virtual bool IsDefault( void) const { return true ; }
virtual const std::string& GetClassName( void) const ;
virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ;
virtual bool ToSave( void) const { return true ; }
virtual bool Save( STRVECTOR& vString) const ;
virtual bool Load( const STRVECTOR& vString, int nBaseGdbId) ;
virtual bool SetOwner( int nId, IGeomDB* pGDB) ;
virtual int GetOwner( void) const ;
virtual IGeomDB* GetGeomDB( void) const ;
UserObjDefault* Clone( void) const override ;
bool IsDefault( void) const override { return true ; }
const std::string& GetClassName( void) const override ;
bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const override ;
bool ToSave( void) const override { return true ; }
bool Save( int nBaseId, STRVECTOR& vString) const override ;
bool Load( const STRVECTOR& vString, int nBaseGdbId) override ;
bool SetOwner( int nId, IGeomDB* pGDB) override ;
int GetOwner( void) const override ;
IGeomDB* GetGeomDB( void) const override ;
public :
UserObjDefault( void) {}
+33 -33
View File
@@ -38,36 +38,36 @@ struct AppliedVector {
class VolZmap : public IVolZmap, public IGeoObjRW
{
public : // IGeoObj
virtual ~VolZmap( void) ;
virtual VolZmap* Clone( void) const ;
virtual GeoObjType GetType( void) const ;
virtual bool IsValid( void) const
{ return ( m_nStatus == OK) ; }
virtual const std::string& GetTitle( void) const ;
virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ;
virtual bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const ;
virtual bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const ;
virtual bool Translate( const Vector3d& vtMove) ;
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg)
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
virtual bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) ;
virtual bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) ;
virtual bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) ;
virtual bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) ;
virtual bool ToGlob( const Frame3d& frRef) ;
virtual bool ToLoc( const Frame3d& frRef) ;
virtual bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) ;
virtual void SetObjGraphics( IObjGraphics* pOGr)
{ m_OGrMgr.SetObjGraphics( pOGr) ; }
virtual IObjGraphics* GetObjGraphics( void)
{ return m_OGrMgr.GetObjGraphics() ; }
virtual const IObjGraphics* GetObjGraphics( void) const
{ return m_OGrMgr.GetObjGraphics() ; }
virtual void SetTempProp( int nProp)
{ m_nTempProp = nProp ; }
virtual int GetTempProp( void)
{ return m_nTempProp ; }
~VolZmap( void) override ;
VolZmap* Clone( void) const override ;
GeoObjType GetType( void) const override ;
bool IsValid( void) const override
{ return ( m_nStatus == OK) ; }
const std::string& GetTitle( void) const override ;
bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const override ;
bool GetLocalBBox( BBox3d& b3Loc, int nFlag = BBF_STANDARD) const override ;
bool GetBBox( const Frame3d& frRef, BBox3d& b3Ref, int nFlag = BBF_STANDARD) const override ;
bool Translate( const Vector3d& vtMove) override ;
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dAngDeg) override
{ double dAngRad = dAngDeg * DEGTORAD ;
return Rotate( ptAx, vtAx, cos( dAngRad), sin( dAngRad)) ; }
bool Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, double dSinAng) override ;
bool Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double dCoeffZ) override ;
bool Mirror( const Point3d& ptOn, const Vector3d& vtNorm) override ;
bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) override ;
bool ToGlob( const Frame3d& frRef) override ;
bool ToLoc( const Frame3d& frRef) override ;
bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) override ;
void SetObjGraphics( IObjGraphics* pOGr) override
{ m_OGrMgr.SetObjGraphics( pOGr) ; }
IObjGraphics* GetObjGraphics( void) override
{ return m_OGrMgr.GetObjGraphics() ; }
const IObjGraphics* GetObjGraphics( void) const override
{ return m_OGrMgr.GetObjGraphics() ; }
void SetTempProp( int nProp) override
{ m_nTempProp = nProp ; }
int GetTempProp( void) override
{ return m_nTempProp ; }
public : // IVolZmap
bool CopyFrom( const IGeoObj* pGObjSrc) override ;
@@ -105,9 +105,9 @@ class VolZmap : public IVolZmap, public IGeoObjRW
bool RemovePart( int nPart) override ;
public : // IGeoObjRW
virtual int GetNgeId( void) const ;
virtual bool Save( NgeWriter& ngeOut) const ;
virtual bool Load( NgeReader& ngeIn) ;
int GetNgeId( void) const override ;
bool Save( NgeWriter& ngeOut) const override ;
bool Load( NgeReader& ngeIn) override ;
public :
VolZmap( void) ;