IfcRoof
Definition from ISO 67071:1989: Construction enclosing the building from above.
Definition from buildingSMART: The IfcRoof is a description of the total roof. It acts as a container entity, that aggregates all components of the roof, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating a roof (IfcRoof) with the related roof entities, like slabs (IfcSlab), rafters and purlins (IfcBeam), or other (included) roofs, such as dormers (IfcRoof).
HISTORY: New Entity in IFC Release 2.0.
Property Set Use Definition:
The property sets relating to the IfcRoof are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcRoof are part of this IFC release:
Quantity Use Definition:
The quantities relating to the IfcRoof are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties. It is accessible by the inverse IsDefinedBy relationship. The following quantities are foreseen, but will be subjected to the local standard of measurement:
Name  Description  Value Type 
TotalSurfaceArea  Total (exposed to the outside) area of all roof slabs belonging to the roof. The exact definition and calculation rules depend on the method of measurement used.  IfcQuantityArea 
Geometry Use Definitions:
The geometric representation of IfcRoof is given by the IfcProductDefinitionShape, allowing multiple geometric representation. Independent geometric representations should only be used when the IfcRoof is not defined as an aggregate. If defined as an aggregate, the geometric representation is the sum of the representation of the components within the aggregate.
Local Position
The local placement for IfcRoof is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.
If the LocalPlacement is given for the IfcRoof, then all components, which are aggregated to the roof should use this placement as their relative placement.
Geometric Representation
If the IfcRoof has components (referenced by SELF\IfcObject.IsDecomposedBy) then no independent geometric representation shall defined for the IfcRoof. The IfcRoof is then geometrically represented by the geometric representation of its components. The components are accessed via SELF\IfcObject.IsDecomposedBy[1].RelatedObjects.
If the IfcRoof has no components defined (empty set of SELF\IfcObject.IsDecomposedBy) then the IfcRoof may be represented by an IfcShapeRepresentation with the RepresentationType = 'Brep'.
Illustration:
IfcRoof defining only the local placement for all components. 
EXPRESS specification:

ShapeType  :  Predefined shape types for a roof that are specified in an enumeration. 
WR1  :  Either the roof is not decomposed into its roof slabs (the roof can have independent geometry), or the
geometry shall not be given at IfcRoof directly. 
