/////////////////////////////////////////////////////////////////////////////// // 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 _PRCPRODUCTINFORMATION_INCLUDED_ #define _PRCPRODUCTINFORMATION_INCLUDED_ #include "PrcUnit.h" /** \details Class stores product occurrence information. */ class PRC_TOOLKIT OdPrcProductInformation { private: OdPrcUnit m_unit_information; OdInt8 m_product_information_flags; OdUInt32 m_product_load_status; public: //DOM-IGNORE-BEGIN PRC_DECLARE_CIO(OdPrcProductInformation) //DOM-IGNORE-END /** \details Requests information about the used within the object. Units are measured in mm. \returns An object that contains information about the units used within the . \remarks Unit information is returned as a reference to an object, and therefore any modifications of the returned object cause the unit information to be changed as well. To restrict modifications of the outside the object, call another method that returns a constant reference. */ OdPrcUnit &unitInformation(); /** \details Requests information about the used within the object. Units are measured in mm. \returns An object that contains information about the units used within the object. */ const OdPrcUnit &unitInformation() const; /** \details Sets the flags. \param product_information_flags [in] A signed byte value that contains the new set of flag values to be set. \remarks Flag values can be one (or several) of the following list:
Value Type Description
0x00 Regular A regular .
0x01 Default The default container is the configuration view that the original CAD application can load by default.
0x02 Internal A belongs to the same file structure and can be used as a template for another product occurrence.
0x04 Container A collection of child .
0x08 Configuration A special arrangement of a product. Some components in this arrangement can differ or be placed in different positions. But the hierarchical integrity of the original is strictly respected.
0x10 View A that refers to another or its prototype as a view to provide special visibility parameters within the same hierarchy.
Note that parentless product occurrences are similar to the Configuration flag and belong to a different (except internal ). If the Regular or Container flag is switched on, other flag values are ignored. Any combination of flags is acceptable. */ void setProductInformationFlags(OdInt8 product_information_flags); /** \details Requests the current values of the object flags. \returns A signed byte value that contains the set of current flag values for the object. \remarks \remarks Flag values can be one (or several) of the following list:
Value Type Description
0x00 Regular A regular .
0x01 Default The default container is the configuration view that the original CAD application can load by default.
0x02 Internal A belongs to the same file structure and can be used as a template for another product occurrence.
0x04 Container A collection of child .
0x08 Configuration A special arrangement of a product. Some components in this arrangement can differ or be placed in different positions. But the hierarchical integrity of the original is strictly respected.
0x10 View A that refers to another or its prototype as a view to provide special visibility parameters within the same hierarchy.
Note that parentless product occurrences are similar to the Configuration flag and belong to a different (except internal ). If the Regular or Container flag is switched on, other flag values are ignored. Any combination of flags is acceptable. */ OdInt8 productInformationFlags() const; /** \details Sets a new value for the load status of the object. \param product_load_status [in] An unsigned 32-bit integer value that contains the new load status value to be set. \remarks The load status determines the possibility of loading external elements of the and can accept one of the following values:
Value Description
0 The status is unknown.
1 Loading failed: missed file.
2 The file can't be loaded.
3 Loading successfully finished.
*/ void setProductLoadStatus(OdUInt32 product_load_status); /** \details Requests the current value of the load status of the object. \returns An unsigned 32-bit integer value that contains the current value of the load status. \remarks The load status determines the possibility of loading external elements of the and can accept one of the following values:
Value Description
0 The status is unknown.
1 Loading failed: missed file.
2 The file can't be loaded.
3 Loading successfully finished.
*/ OdUInt32 productLoadStatus() const; }; #endif // _PRCPRODUCTINFORMATION_INCLUDED_