Class Ifc4::IfcEngine¶
Defined in File Ifc4.h
Nested Relationships¶
This class is a nested type of Struct Ifc4.
Inheritance Relationships¶
Base Type¶
public Ifc4::IfcEnergyConversionDevice
(Class Ifc4::IfcEnergyConversionDevice)
Class Documentation¶
-
class
Ifc4
::
IfcEngine
: public Ifc4::IfcEnergyConversionDevice¶ An engine is a device that converts fuel into mechanical energy through combustion.
HISTORY New entity in IFC2x4
Type Use Definition IfcEngine defines the occurrence of any engine; common information about engine types is handled by IfcEngineType. The IfcEngineType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcEngineType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcEngineType has ports or aggregated elements, such objects are reflected at the IfcEngine occurrence using the IfcRelDefinesByObject relationship.
Property Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcEngineType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcEngineType.HasPropertySets. If both are given, then the properties directly defined at IfcEngine override the properties defined at IfcEngineType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_EngineTypeCommon (PSET_TYPEDRIVENOVERRIDE)
Quantity Use Definition The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.
Qto_EngineBaseQuantities
Material Use Definition The material of the IfcEngine is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcEngineType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:
Body: The primary material from which the object is constructed.
Port Use Definition The distribution ports relating to the IfcEngine are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the engine occurrence is defined by IfcEngineType, then the port occurrences must reflect those defined at the IfcEngineType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcEngine PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:
Fuel (GAS, SINK): The fuel inlet. Drive (NOTDEFINED, SOURCE): Connection to the driven source.
Public Types
-
typedef IfcTemplatedEntityList<IfcEngine>
list
¶
Public Functions
-
bool
hasPredefinedType
() const¶ Whether the optional attribute PredefinedType is defined for this IfcEngine.
-
::Ifc4::IfcEngineTypeEnum::Value
PredefinedType
() const¶
-
void
setPredefinedType
(::Ifc4::IfcEngineTypeEnum::Value v)¶
-
IfcEngine
(IfcEntityInstanceData *e)¶
-
IfcEngine
(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<::Ifc4::IfcEngineTypeEnum::Value> v9_PredefinedType)¶
-
typedef IfcTemplatedEntityList<IfcEngine>