/////////////////////////////////////////////////////////////////////////////// // 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_IFCFAN_AUTO_IMPL_H #define _IFC2X_FINAL_IFCFAN_AUTO_IMPL_H #include "IfcFluidMovingDeviceAutoImpl.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 fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system. - Material Set - This concept can be applied to the following resources: * Casing - Material from which the casing is constructed. * Wheel - Material from which the fan wheel is constructed. - Object Typing - This concept can be applied to the following resources: * IfcFanType - Port Nesting - This concept can be applied with the following combinations: PortNameFlowPredefinedType AirIn SINK NOTDEFINED AirOut SOURCE NOTDEFINED
- Property Sets for Objects - This concept can be applied to the following resources: * Pset_FanCentrifugal (only applies to CENTRIFUGALAIRFOIL) * Pset_FanCentrifugal (only applies to CENTRIFUGALBACKWARDINCLINEDCURVED) * Pset_FanCentrifugal (only applies to CENTRIFUGALFORWARDCURVED) * Pset_FanCentrifugal (only applies to CENTRIFUGALRADIAL) * Pset_FanOccurrence * Pset_FanTypeCommon - Quantity Sets - This concept can be applied to the following resources: * Qto_FanBaseQuantities - Property Sets for Performance - This concept can be applied to the following resources: * Pset_FanPHistory */ class IFC2X_FINAL_EXPORT IfcFan : public IfcFluidMovingDevice { //DOM-IGNORE-BEGIN OD_EXP_DECLARE_MEMBERS(OdIfc2x_final::IfcFan); //DOM-IGNORE-END public: // // OdDAI early binding accessors // /** \details Returns the value of AirFlowType attribute. This attribute represents possible Fan AirFlow types (e.g., Supply, Return, Exhaust, etc.). \returns Returns the value of AirFlowType attribute. */ IfcAirFlowTypeEnum getAirFlowType() const; /** \details Sets the value of AirFlowType attribute. This attribute represents possible Fan AirFlow types (e.g., Supply, Return, Exhaust, etc.). \param AirFlowType [in] AirFlowType attribute to set. */ void setAirFlowType(IfcAirFlowTypeEnum AirFlowType); /** \details Returns the value of StaticPressure attribute. This attribute represents the static pressure within the air stream that the fan must overcome to insure designed circulation of air. \returns Returns the value of StaticPressure attribute. */ double getStaticPressure() const; /** \details Sets the value of StaticPressure attribute. This attribute represents the static pressure within the air stream that the fan must overcome to insure designed circulation of air. \param StaticPressure [in] StaticPressure attribute to set. */ void setStaticPressure(double StaticPressure); /** \details Returns the value of FanPressureClass attribute. This attribute represents the Pressure Class of the fan used for identifying the thickness and types of materials required for the construction of the fan assembly. \returns Returns the value of FanPressureClass attribute. */ IfcFanPressureClassEnum getFanPressureClass() const; /** \details Sets the value of FanPressureClass attribute. This attribute represents the Pressure Class of the fan used for identifying the thickness and types of materials required for the construction of the fan assembly. \param FanPressureClass [in] FanPressureClass attribute to set. */ void setFanPressureClass(IfcFanPressureClassEnum FanPressureClass); /** \details Returns the value of FanWheelType attribute. This attribute represents the type of wheel typically utilized in fans. \returns Returns the value of FanWheelType attribute. */ IfcFanWheelTypeEnum getFanWheelType() const; /** \details Sets the value of FanWheelType attribute. This attribute represents the type of wheel typically utilized in fans. \param FanWheelType [in] FanWheelType attribute to set. */ void setFanWheelType(IfcFanWheelTypeEnum FanWheelType); /** \details Returns the value of FanWheelType attribute. This attribute represents the material used to construct the fan wheel. \returns Returns the value of FanWheelType attribute. */ IfcMaterialSelect wheelMaterial(); /** \details Returns the value of WheelTipSpeed attribute. This attribute represents the linear speed of the tip of the fan blade furthest from the shaft. \returns Returns the value of WheelTipSpeed attribute. */ double getWheelTipSpeed() const; /** \details Sets the value of WheelTipSpeed attribute. This attribute represents the linear speed of the tip of the fan blade furthest from the shaft. \param WheelTipSpeed [in] WheelTipSpeed attribute to set. */ void setWheelTipSpeed(double WheelTipSpeed); /** \details Returns the value of DischargeVelocity attribute. This attribute represents the speed at which air discharges from the fan through the fan housing discharge opening. \returns Returns the value of DischargeVelocity attribute. */ double getDischargeVelocity() const; /** \details Sets the value of DischargeVelocity attribute. This attribute represents the speed at which air discharges from the fan through the fan housing discharge opening. \param DischargeVelocity [in] DischargeVelocity attribute to set. */ void setDischargeVelocity(double DischargeVelocity); /** \details Returns the value of HousingMaterial attribute. This attribute represents the material used to construct the fan housing. \returns Returns the value of HousingMaterial attribute. */ IfcMaterialSelect housingMaterial(); /** \details Returns the value of DischargePressureLoss attribute. This attribute represents the fan discharge pressure losses that is associated with the discharge arrangement. \returns Returns the value of DischargePressureLoss attribute. */ double getDischargePressureLoss() const; /** \details Sets the value of DischargePressureLoss attribute. This attribute represents the fan discharge pressure losses that is associated with the discharge arrangement. \param DischargePressureLoss [in] DischargePressureLoss attribute to set. */ void setDischargePressureLoss(double DischargePressureLoss); /** \details Returns the value of FanDischargeType attribute. This attribute represents the type of discharge arrangement from the fan housing discharge opening, which is used to determine the DischargePressureLoss. \returns Returns the value of FanDischargeType attribute. */ IfcFanDischargeTypeEnum getFanDischargeType() const; /** \details Sets the value of FanDischargeType attribute. This attribute represents the type of discharge arrangement from the fan housing discharge opening, which is used to determine the DischargePressureLoss. \param FanDischargeType [in] FanDischargeType attribute to set. */ void setFanDischargeType(IfcFanDischargeTypeEnum FanDischargeType); /** \details Returns the value of FanArrangement attribute. This attribute represents the type of fan arrangement for centrifugal fans. \returns Returns the value of FanArrangement attribute. */ IfcFanArrangementEnum getFanArrangement() const; /** \details Sets the value of FanArrangement attribute. This attribute represents the type of fan arrangement for centrifugal fans. \param FanArrangement [in] FanArrangement attribute to set. */ void setFanArrangement(IfcFanArrangementEnum FanArrangement); /** \details Returns the value of FanRotation attribute. This attribute represents the types of fan rotation for centrifugal fans. \returns Returns the value of FanRotation attribute. */ IfcFanRotationEnum getFanRotation() const; /** \details Sets the value of FanRotation attribute. This attribute represents the types of fan rotation for centrifugal fans. \param FanRotation [in] FanRotation attribute to set. */ void setFanRotation(IfcFanRotationEnum FanRotation); /** \details Returns the value of FanDriveArrangement attribute. This attribute represents the fan and motor drive arrangement as defined by AMCA. \returns Returns the value of FanDriveArrangement attribute. */ IfcFanDriveArrangementEnum getFanDriveArrangement() const; /** \details Sets the value of FanDriveArrangement attribute. This attribute represents the fan and motor drive arrangement as defined by AMCA. \param FanDriveArrangement [in] FanDriveArrangement attribute to set. */ void setFanDriveArrangement(IfcFanDriveArrangementEnum FanDriveArrangement); /** \details Returns the value of DrivePowerLoss attribute. This attribute represents the fan drive power losses that is associated with the type of connection between the motor and the fan wheel. \returns Returns the value of DrivePowerLoss attribute. */ double getDrivePowerLoss() const; /** \details Sets the value of DrivePowerLoss attribute. This attribute represents the fan drive power losses that is associated with the type of connection between the motor and the fan wheel. \param DrivePowerLoss [in] DrivePowerLoss attribute to set. */ void setDrivePowerLoss(double DrivePowerLoss); /** \details Returns the value of MotorDriveType attribute. This attribute represents the type of connection between the motor and the fan wheel. \returns Returns the value of MotorDriveType attribute. */ IfcMoterConnectionTypeEnum getMotorDriveType() const; /** \details Sets the value of MotorDriveType attribute. This attribute represents the type of connection between the motor and the fan wheel. \param MotorDriveType [in] MotorDriveType attribute to set. */ void setMotorDriveType(IfcMoterConnectionTypeEnum MotorDriveType); /** \details Returns the value of MotorInAirstream attribute. This attribute indicates whether the fan motor is in the conditioned air stream. \returns Returns the value of MotorInAirstream attribute. */ OdDAI::Boolean getMotorInAirstream() const; /** \details Sets the value of MotorInAirstream attribute. This attribute indicates whether the fan motor is in the conditioned air stream. \param MotorInAirstream [in] MotorInAirstream attribute to set. */ void setMotorInAirstream(OdDAI::Boolean MotorInAirstream); /** \details Returns the value of FanMountingType attribute. This attribute represents the method of mounting the fan in the building. \returns Returns the value of FanMountingType attribute. */ IfcFanMountingTypeEnum getFanMountingType() const; /** \details Sets the value of FanMountingType attribute. This attribute represents the method of mounting the fan in the building. \param FanMountingType [in] FanMountingType attribute to set. */ void setFanMountingType(IfcFanMountingTypeEnum FanMountingType); public: /** \details Default constructor for the IfcFan class. */ IfcFan(); /** \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: OdDAI::Enum m_AirFlowType; // IfcAirFlowTypeEnum double m_StaticPressure; // IfcPressureMeasure [optional] OdDAI::Enum m_FanPressureClass; // IfcFanPressureClassEnum [optional] OdDAI::Enum m_FanWheelType; // IfcFanWheelTypeEnum [optional] OdDAI::Select m_WheelMaterial; // IfcMaterialSelect [optional] double m_WheelTipSpeed; // IfcLinearVelocityMeasure [optional] double m_DischargeVelocity; // IfcLinearVelocityMeasure [optional] OdDAI::Select m_HousingMaterial; // IfcMaterialSelect [optional] double m_DischargePressureLoss; // IfcPressureMeasure [optional] OdDAI::Enum m_FanDischargeType; // IfcFanDischargeTypeEnum [optional] OdDAI::Enum m_FanArrangement; // IfcFanArrangementEnum [optional] OdDAI::Enum m_FanRotation; // IfcFanRotationEnum [optional] OdDAI::Enum m_FanDriveArrangement; // IfcFanDriveArrangementEnum [optional] double m_DrivePowerLoss; // IfcPowerMeasure [optional] OdDAI::Enum m_MotorDriveType; // IfcMoterConnectionTypeEnum [optional] OdDAI::Boolean m_MotorInAirstream; // IfcBoolean [optional] OdDAI::Enum m_FanMountingType; // IfcFanMountingTypeEnum [optional] }; /** \details A data type that represents a smart pointer to a IfcFan object. */ typedef OdSmartPtr IfcFanPtr; } // namespace #include "TD_PackPop.h" #endif // _IFC2X_FINAL_IFCFAN_AUTO_IMPL_H