Class Ifc4::IfcResourceConstraintRelationship

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcResourceConstraintRelationship : public Ifc4::IfcResourceLevelRelationship

An IfcResourceConstraintRelationship is a relationship entity that enables a constraint to be related to one or more resource level objects.

HISTORY New Entity in Release IFC2x2.

IFC2x4 CHANGE Renamed from IfcPropertyConstraintRelationship and extended to apply to all resource level entities. Subtyped from IfcResourceLevelRelationship.

Use definition

An IfcResourceConstraintRelationship allows for the specification of a constraint to be applied to many entity types. An important case is to apply constraints to properties. The constraints applied therefore enable a property to carry values identifying requirements as well as those identifying the fulfilment of those requirements.

Figure 238 shows how a constraint may be applied to a property within a property set. For simplicity, only the mandatory attributes are shown as asserted. It shows how a property ‘ThingWeight’ which has a nominal value of 19.5 kg has two constraints that are logically aggregated by an AND connection. One of the constraints has a benchmark of ‘GREATERTHANOREQUALTO’ whilst the second has a benchmark of ‘LESSTHANOREQUALTO’. This means that the constraint must lie between these two bounding values. The relating constraint is instantiated as an objective named as ‘Weight Constraint’ and qualified as a SPECIFICATION constraint. The two related constraints are both specified as metrics since they can have specific values.

Figure 238 — Resource constraint relationship

Public Functions

::Ifc4::IfcConstraint *RelatingConstraint() const

The constraint that is to be related.

void setRelatingConstraint(::Ifc4::IfcConstraint *v)
IfcEntityList::ptr RelatedResourceObjects() const

The properties to which a constraint is to be related.

void setRelatedResourceObjects(IfcEntityList::ptr v)
const IfcParse::entity &declaration() const
IfcResourceConstraintRelationship(IfcEntityInstanceData *e)
IfcResourceConstraintRelationship(boost::optional<std::string> v1_Name, boost::optional<std::string> v2_Description, ::Ifc4::IfcConstraint *v3_RelatingConstraint, IfcEntityList::ptr v4_RelatedResourceObjects)

Public Static Functions

const IfcParse::entity &Class()