/////////////////////////////////////////////////////////////////////////////// // 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 _STEP_UTILS_H #define _STEP_UTILS_H #include "StepBuildOptions.h" #include "daiApplicationInstance.h" class OdStepFile; /** \details Contains declarations related to working with STEP files content. */ namespace StepUtils { /** \details Searching main representation id in relationship. \param relationship [in] The relationship id. \param mainProductId [in] The product id, for which searching representation. \returns Object id to representation. */ OdDAIObjectId STEPCORE_EXPORT findRelationshipMainIdByItProduct(const OdDAIObjectId& relationship, const OdDAIObjectId& mainProductId); /** \details Retrieves value of unit prefix. \param unitPrefix [in] Unit prefix string value. \returns Double value of unit prefix. */ double STEPCORE_EXPORT getPrefixUnitScale(const OdAnsiString& unitPrefix); /** \details Retrieves prefix string value. \param scale [in] Double value of unit prefix. \returns Unit prefix string value if prefix value is correct or empty string. */ OdAnsiString STEPCORE_EXPORT getPrefixByScale(double scale); /** \details Retrieves double length measure of context. \param contextId [in] Conext entity id. \returns Length measure conversion coefficient to meters. */ double STEPCORE_EXPORT getContextLengthMeasure(const OdDAIObjectId& contextId); /** \details Retrieves double value from measure_representation_item instance. \param pMeasureInst [in] The measure_representation_item instance. \param value [out] The value from instance with unit conversion. \returns True if operation is successful; otherwise False. */ bool STEPCORE_EXPORT getMeasureRepresentationValue(OdDAI::ApplicationInstance* pMeasureInst, double& value); /** \details Retrieves an array of shape_definition_representation associated with product entity instance. \param productId [in] Product entity instance id. \param pFile [in] Pointer to the