/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2025, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Open Design Alliance software pursuant to a license // agreement with Open Design Alliance. // Open Design Alliance Copyright (C) 2002-2025 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// #ifndef _ODDGMATRIXTRANSFORM3D_INCLUDED #define _ODDGMATRIXTRANSFORM3D_INCLUDED #include "DgExport.h" #include "RxMember.h" #include "RxProperty.h" #include "RxAttribute.h" #include "DbRootValueTypes.h" //====================================================================================================================== // OdDgMatrixTransform3d class return transformation as Microstation does (rotations and scales). //====================================================================================================================== class OdDgMatrixTransform3d { public: OdDgMatrixTransform3d(); OdDgMatrixTransform3d(double dXAngle, double dYAngle, double dZAngle, double dXScale, double dYScale, double dZScale); OdDgMatrixTransform3d(const OdGeMatrix3d& matTransform); double getXAngle() const; double getYAngle() const; double getZAngle() const; void setXAngle(double dAngle); void setYAngle(double dAngle); void setZAngle(double dAngle); double getXScale() const; double getYScale() const; double getZScale() const; void setXScale(double dScale); void setYScale(double dScale); void setZScale(double dScale); OdGeMatrix3d getMatrix() const; void setMatrix(const OdGeMatrix3d& matTransform); private: double m_dXAngle; double m_dYAngle; double m_dZAngle; double m_dXScale; double m_dYScale; double m_dZScale; }; //====================================================================================================================== // Register CDA property value type for OdDgMatrixTransform3d //====================================================================================================================== ODRX_DECLARE_VALUE_TYPE(OdDgMatrixTransform3d, DGENT_EXPORT) //====================================================================================================================== #endif