//---------------------------------------------------------------------------- // EgalTech 2017-2017 //---------------------------------------------------------------------------- // File : PictureObj.h Data : 26.12.17 Versione : 1.8l3 // Contenuto : Dichiarazione della classe PictureObj. // // // // Modifiche : 26.12.17 DS Creazione modulo. // // //---------------------------------------------------------------------------- #pragma once #include "/EgtDev/Include/EGkUserObj.h" #include "/EgtDev/Include/EGkPoint3d.h" //---------------------------------------------------------------------------- class PictureObj : public IUserObj { public : // IUserObj PictureObj* Clone( void) const override ; 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 ; bool GetDimensions( double& dDimX, double& dDimY) 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 { return true ; } bool Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff) override { return true ; } bool ToGlob( const Frame3d& frRef) override ; bool ToLoc( const Frame3d& frRef) override ; bool LocToLoc( const Frame3d& frOri, const Frame3d& frDest) override ; public : PictureObj( void) ; bool Set( const std::string& sName, const std::string& sPath, double dDimX, double dDimY) ; bool GetName( std::string& sName) const ; bool GetPath( std::string& sPath) const ; bool ChangePath( const std::string& sPath) ; private : int m_nOwnerId ; IGeomDB* m_pGeomDB ; std::string m_sName ; std::string m_sPath ; double m_dDimX ; double m_dDimY ; } ;