Class Ifc4x1::IfcConstraint

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class Ifc4x1::IfcConstraint : public IfcUtil::IfcBaseEntity

An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property.

HISTORY: New Entity in IFC Release 2.0

Use Definition IfcConstraint may be associated with any subtype of IfcRoot (unless restricted in specific subtypes) through the IfcRelAssociatesConstraint relationship in the IfcControlExtension schema, or may be associated with IfcProperty by IfcPropertyConstraintRelationship.

A constraint may aggregate other constraints through the IfcConstraintAggregationRelationship through which a logical association between constraints may be applied, or constraints may have other defined relationship to other constraints via IfcConstraintRelationship.

A constraint must have a name applied through the IfcConstraint.Name attribute and optionally, a description through IfcConstraint.Description. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade or IfcConstraint.UserDefinedGrade whilst the source, creating actor and time at which the constraint is created may be optionally asserted through IfcConstraint.ConstraintSource, IfcConstraint.CreatingActor and IfcConstraint.CreationTime.

A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences

Subclassed by Ifc4x1::IfcMetric, Ifc4x1::IfcObjective

Public Types

typedef IfcTemplatedEntityList<IfcConstraint> list

Public Functions

std::string Name() const

A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance).

void setName(std::string v)
bool hasDescription() const

Whether the optional attribute Description is defined for this IfcConstraint.

std::string Description() const

A description that may apply additional information about a constraint.

void setDescription(std::string v)
::Ifc4x1::IfcConstraintEnum::Value ConstraintGrade() const

Enumeration that qualifies the type of constraint.

void setConstraintGrade(::Ifc4x1::IfcConstraintEnum::Value v)
bool hasConstraintSource() const

Whether the optional attribute ConstraintSource is defined for this IfcConstraint.

std::string ConstraintSource() const

Any source material, such as a code or standard, from which the constraint originated.

void setConstraintSource(std::string v)
bool hasCreatingActor() const

Whether the optional attribute CreatingActor is defined for this IfcConstraint.

::Ifc4x1::IfcActorSelect *CreatingActor() const

Person and/or organization that has created the constraint.

void setCreatingActor(::Ifc4x1::IfcActorSelect *v)
bool hasCreationTime() const

Whether the optional attribute CreationTime is defined for this IfcConstraint.

std::string CreationTime() const

Time when information specifying the constraint instance was created.

Note IFC2x4 CHANGE: Attribute data type changed to IfcDateTime using ISO 8601 representation

void setCreationTime(std::string v)
bool hasUserDefinedGrade() const

Whether the optional attribute UserDefinedGrade is defined for this IfcConstraint.

std::string UserDefinedGrade() const

Allows for specification of user defined grade of the constraint beyond the enumeration values (hard, soft, advisory) provided by ConstraintGrade attribute of type IfcConstraintEnum. When a value is provided for attribute UserDefinedGrade in parallel the attribute ConstraintGrade shall have enumeration value USERDEFINED.

void setUserDefinedGrade(std::string v)
IfcTemplatedEntityList<IfcExternalReferenceRelationship>::ptr HasExternalReferences() const
IfcTemplatedEntityList<IfcResourceConstraintRelationship>::ptr PropertiesForConstraint() const
const IfcParse::entity &declaration() const
IfcConstraint(IfcEntityInstanceData *e)
IfcConstraint(std::string v1_Name, boost::optional<std::string> v2_Description, ::Ifc4x1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional<std::string> v4_ConstraintSource, ::Ifc4x1::IfcActorSelect *v5_CreatingActor, boost::optional<std::string> v6_CreationTime, boost::optional<std::string> v7_UserDefinedGrade)

Public Static Functions

const IfcParse::entity &Class()