/////////////////////////////////////////////////////////////////////////////// // 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. /////////////////////////////////////////////////////////////////////////////// // This file is generated automatically. #ifndef _IFC2X_FINAL_IFCTUBEBUNDLE_AUTO_IMPL_H #define _IFC2X_FINAL_IFCTUBEBUNDLE_AUTO_IMPL_H #include "IfcHeatTransferDeviceAutoImpl.h" #include "TD_PackPush.h" /** \details The namespace contains schema-dependent classes, definitions and sub routines for work with IFC2X_FINAL express schema definitions. */ namespace OdIfc2x_final { /** \details A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil. - Material Set - This concept can be applied to the following resources: * Casing - Material from which the casing is constructed. - Object Typing - This concept can be applied to the following resources: * IfcTubeBundleType - Port Nesting - This concept can be applied with the following combinations: PortNameFlowPredefinedType Inlet SINK NOTDEFINED Outlet SINK NOTDEFINED
- Property Sets for Objects - This concept can be applied to the following resources: * Pset_TubeBundleTypeCommon * Pset_TubeBundleTypeFinned (only applies to FINNED) - Quantity Sets - This concept can be applied to the following resources: * Qto_TubeBundleBaseQuantities */ class IFC2X_FINAL_EXPORT IfcTubeBundle : public IfcHeatTransferDevice { //DOM-IGNORE-BEGIN OD_EXP_DECLARE_MEMBERS(OdIfc2x_final::IfcTubeBundle); //DOM-IGNORE-END public: // // OdDAI early binding accessors // /** \details Returns the value of TubeSize attribute. This attribute represents nominal diameter or width of the tubes in the TubeBundle. \returns Returns the value of TubeSize attribute. */ double getTubeSize() const; /** \details Sets the value of TubeSize attribute. This attribute represents nominal diameter or width of the tubes in the TubeBundle. \param TubeSize [in] Tube size to set. */ void setTubeSize(double TubeSize); IfcMaterialSelect tubeMaterial(); /** \details Returns the value of TubeLength attribute. This attribute represents length of the tubes in the TubeBundle. \returns Returns the value of TubeLength attribute. */ double getTubeLength() const; /** \details Sets the value of TubeLength attribute. This attribute represents length of the tubes in the TubeBundle. \param TubeLength [in] Tube size to set. */ void setTubeLength(double TubeLength); /** \details Returns the value of TubeSpacing attribute. This attribute represents spacing between tubes in the TubeBundle. \returns Returns the value of TubeSpacing attribute. */ double getTubeSpacing() const; /** \details Sets the value of TubeSpacing attribute. This attribute represents spacing between tubes in the TubeBundle. \param TubeSpacing [in] Tube spacing to set. */ void setTubeSpacing(double TubeSpacing); /** \details Gets the value of TubeFluidEnteringTemperature attribute. This attribute represents list of design temperatures of the fluid entering the tubes; for air the list consists of dry bulb temperature followed by wet bulb temperature. \param TubeFluidEnteringTemperature [out] Receives the TubeFluidEnteringTemperature attribute to set. */ void getTubeFluidEnteringTemperature(OdArray& TubeFluidEnteringTemperature) const; /** \details Returns the value of TubeFluidEnteringTemperature attribute. This attribute represents list of design temperatures of the fluid entering the tubes; for air the list consists of dry bulb temperature followed by wet bulb temperature. \returns Returns the value of TubeFluidEnteringTemperature attribute. */ OdDAI::ListOfDouble& tubeFluidEnteringTemperature(); /** \details Gets the value of TubeFluidLeavingTemperature attribute. This attribute represents list of design temperatures of the fluid leaving the tubes; for air the list consists of dry bulb temperature followed by wet bulb temperature. \param TubeFluidLeavingTemperature [out] Receives the TubeFluidLeavingTemperature attribute to set. */ void getTubeFluidLeavingTemperature(OdArray& TubeFluidLeavingTemperature) const; /** \details Returns the value of TubeFluidLeavingTemperature attribute. This attribute represents list of design temperatures of the fluid leaving the tubes; for air the list consists of dry bulb temperature followed by wet bulb temperature. \returns Returns the value of TubeFluidLeavingTemperature attribute. */ OdDAI::ListOfDouble& tubeFluidLeavingTemperature(); IfcMaterialSelect finMaterial(); IfcMaterialSelect shellMaterial(); /** \details Returns the value of FinSpacing attribute. This attribute represents distance between fins on a tube in the TubeBundle. \returns Returns the value of FinSpacing attribute. */ double getFinSpacing() const; /** \details Sets the value of FinSpacing attribute. This attribute represents distance between fins on a tube in the TubeBundle. \param FinSpacing [in] FinSpacing attribute to set. */ void setFinSpacing(double FinSpacing); /** \details Returns the value of TubeFoulingFactor attribute. This attribute represents fouling factor of the tubes in the TubeBundle. \returns Returns the value of TubeFoulingFactor attribute. */ double getTubeFoulingFactor() const; /** \details Sets the value of TubeFoulingFactor attribute. This attribute represents fouling factor of the tubes in the TubeBundle. \param TubeFoulingFactor [in] TubeFoulingFactor attribute to set. */ void setTubeFoulingFactor(double TubeFoulingFactor); /** \details Returns the value of NumberOfTubeCircuits attribute. This attribute represents number of parallel fluid tube circuits. \returns Returns the value of NumberOfTubeCircuits attribute. */ int getNumberOfTubeCircuits() const; /** \details Sets the value of NumberOfTubeCircuits attribute. This attribute represents number of parallel fluid tube circuits. \param NumberOfTubeCircuits [in] NumberOfTubeCircuits attribute to set. */ void setNumberOfTubeCircuits(int NumberOfTubeCircuits); /** \details Returns the value of NumberOfTubeRows attribute. This attribute represents number of tube rows in the TubeBundle assembly. \returns Returns the value of NumberOfTubeRows attribute. */ int getNumberOfTubeRows() const; /** \details Sets the value of NumberOfTubeRows attribute. This attribute represents number of tube rows in the TubeBundle assembly. \param NumberOfTubeRows [in] NumberOfTubeRows attribute to set. */ void setNumberOfTubeRows(int NumberOfTubeRows); /** \details Gets the value of ShellFluidLeavingTemperature attribute. This attribute represents list of design temperatures of the fluid leaving the shell or TubeBundle assembly; for air the list consists of dry bulb temperature followed by wet bulb temperature. \param ShellFluidLeavingTemperature [out] Receives the ShellFluidLeavingTemperature attribute. */ void getShellFluidLeavingTemperature(OdArray& ShellFluidLeavingTemperature) const; /** \details Returns the value of ShellFluidLeavingTemperature attribute. This attribute represents list of design temperatures of the fluid leaving the shell or TubeBundle assembly; for air the list consists of dry bulb temperature followed by wet bulb temperature. \returns Returns the value of ShellFluidLeavingTemperature attribute. */ OdDAI::ListOfDouble& shellFluidLeavingTemperature(); /** \details Gets the value of ShellFluidEnteringTemperature attribute. This attribute represents list of design temperatures of the fluid entering the shell or TubeBundle assembly; for air the list consists of dry bulb temperature followed by wet bulb temperature. \param ShellFluidEnteringTemperature [out] Receives the ShellFluidEnteringTemperature attribute. */ void getShellFluidEnteringTemperature(OdArray& ShellFluidEnteringTemperature) const; /** \details Returns the value of ShellFluidEnteringTemperature attribute. This attribute represents list of design temperatures of the fluid entering the shell or TubeBundle assembly; for air the list consists of dry bulb temperature followed by wet bulb temperature. \returns Returns the value of ShellFluidEnteringTemperature attribute. */ OdDAI::ListOfDouble& shellFluidEnteringTemperature(); public: /** \details Default constructor for the IfcTubeBundle class. */ IfcTubeBundle(); /** \details Reads object's data from the specified filer. \param rdFiler [in] Pointer to a filer from which to read the data. \returns A value of OdResult type that contains the result of the method execution. */ virtual OdResult inFields(OdDAI::OdSpfFilerBase* rdFiler) override; /** \details Writes object's data the the specified filer. \param wrFiler [in] Pointer to a filer to which to write the data. \returns A value of OdResult type that contains the result of the method execution. */ virtual OdResult outFields(OdDAI::OdSpfFilerBase* wrFiler) override; /** \details Returns a type of a class instance. \returns Pointer to the OdDAI::Entity type that determines an entity definition within a schema. */ virtual OdDAI::Entity* getInstanceType() const override; /** \details Returns an attribute value for the specified attribute name. \param attrName [in] Name of an attribute to query. \returns OdRxValue object that represents a generic variant type value. */ virtual OdRxValue getAttr(const char * attrName) const override; /** \details Resets a value for the specified attribute. \param explicitAttrName [in] Explicit name of the attribute to reset. */ virtual void unsetAttr(const char * explicitAttrName) override; /** \details Checks whether the specified attribute is set. \param explicitAttrName [in] Explicit name of the attribute to test. \returns true if the specified attribute is set, false otherwise. */ virtual bool testAttr(const char * explicitAttrName) const override; /** \details Sets the specified attribute with a given value. \param explicitAttrName [in] Explicit name of the attribute to set. \param val [in] Value to set. \returns true if the value is successfully set for the specified attribute, false otherwise. */ virtual bool putAttr(const char * explicitAttrName, const OdRxValue &val) override; /** \details Checks whether the specified instance is the object derived from or belongs to this class. \param entityType [in] Entity to check. \returns true if the specified instance is the object derived from or belongs to this class, false otherwise. */ virtual bool isKindOf(OdIfc::OdIfcEntityType entityType) const override; /** \details Returns the type of this entity. \returns A value of the OdIfc::OdIfcEntityType type that represents type of this entity. */ virtual OdIfc::OdIfcEntityType type() const override; /** \details Returns an attribute value for the specified attribute definition. \param attrDef [in] Attribute definition to query. \returns OdRxValue object that represents a generic variant type value. */ virtual OdRxValue getAttr(const OdIfc::OdIfcAttribute attrDef) const override; /** \details Resets a value for the specified attribute. \param explicitAttrDef [in] Explicit definition that represents an attribute to reset. */ virtual void unsetAttr(const OdIfc::OdIfcAttribute explicitAttrDef) override; /** \details Checks whether the specified attribute is set. \param explicitAttrDef [in] Attribute definition to test. \returns true if the specified attribute is set, false otherwise. */ virtual bool testAttr(const OdIfc::OdIfcAttribute explicitAttrDef) const override; /** \details Sets the specified attribute with a given value. \param explicitAttrDef [in] Explicit attribute definition to set. \param val [in] Value to set. \returns true if the value is successfully set for the specified attribute, false otherwise. */ virtual bool putAttr(const OdIfc::OdIfcAttribute explicitAttrDef, const OdRxValue &val) override; protected: // Fields declaration: IfcPositiveLengthMeasure m_TubeSize; // IfcPositiveLengthMeasure [optional] OdDAI::Select m_TubeMaterial; // IfcMaterialSelect [optional] IfcPositiveLengthMeasure m_TubeLength; // IfcPositiveLengthMeasure [optional] IfcPositiveLengthMeasure m_TubeSpacing; // IfcPositiveLengthMeasure [optional] OdDAI::ListOfDouble m_TubeFluidEnteringTemperature; // LIST [1:2] of IfcThermodynamicTemperatureMeasure [optional] OdDAI::ListOfDouble m_TubeFluidLeavingTemperature; // LIST [1:2] of IfcThermodynamicTemperatureMeasure [optional] OdDAI::Select m_FinMaterial; // IfcMaterialSelect [optional] OdDAI::Select m_ShellMaterial; // IfcMaterialSelect [optional] IfcPositiveLengthMeasure m_FinSpacing; // IfcPositiveLengthMeasure [optional] double m_TubeFoulingFactor; // IfcThermalResistanceMeasure [optional] int m_NumberOfTubeCircuits; // IfcInteger [optional] int m_NumberOfTubeRows; // IfcInteger [optional] OdDAI::ListOfDouble m_ShellFluidLeavingTemperature; // LIST [1:2] of IfcThermodynamicTemperatureMeasure [optional] OdDAI::ListOfDouble m_ShellFluidEnteringTemperature; // LIST [1:2] of IfcThermodynamicTemperatureMeasure [optional] }; /** \details A data type that represents a smart pointer to a IfcTubeBundle object. */ typedef OdSmartPtr IfcTubeBundlePtr; } // namespace #include "TD_PackPop.h" #endif // _IFC2X_FINAL_IFCTUBEBUNDLE_AUTO_IMPL_H