Class Ifc4x2::IfcRelSequence¶
Defined in File Ifc4x2.h
Nested Relationships¶
This class is a nested type of Struct Ifc4x2.
Inheritance Relationships¶
Base Type¶
public Ifc4x2::IfcRelConnects
(Class Ifc4x2::IfcRelConnects)
Class Documentation¶
-
class
Ifc4x2
::
IfcRelSequence
: public Ifc4x2::IfcRelConnects¶ IfcRelSequence is a sequential relationship between processes where one process must occur before the other in time and where the timing of the relationship may be described as a type of sequence. The relating process (IfcRelSequence.RelatingProcess) is considered to be the predecessor in the relationship (has precedence) whilst the related process (IfcRelSequence.RelatedProcess) is the successor.
IfcRelSequence is defined as one-to-one relationship; therefore it assigns one predecessor to one successor.
HISTORY New entity in IFC 1.0.
IFC2x4 CHANGE Relocated to IfcProcessExtension schema. TimeLag and SequenceType made optional. USERDEFINED added to the IfcSequenceType enumeration. UserDefinedSequenceType attribute added. WHERE rule controlling use of the USERDEFINED enumeration added.
Use definitions
IfcRelSequence is used to describe the logical sequence relationship that exists between two processes. This logical relationship identifies that there is a predecessor or relating process and a successor or related process. In IFC, there may be one predecessor and one successor in the relationship. Many occurrences of IfcRelSequence may exist to describe the sequence relationships of a predecessor task with many successor tasks or of many predecessor tasks with one successor task, thus enabling a m:n sequence relationship between tasks. Please note that sequence relationships always should stay within the limits of a directed, non-cyclic graph.
A sequence type may be set for a sequence. For tasks assigned to a work schedule, it is expected that the sequence type will be asserted. For a process map, where the sequence relationship between processes is simply a logical flow, it need not be asserted.
A time lag may be assigned to a sequence, and the sequence type defines the way in which the time lag applies to the sequence either as a ratio or percentage of time duration (e.g. start successor task when predecessor is 50% complete) or as a time measure (e.g. start successor task 1 week after commencement of the predecessor task). Care should be used when assigning a time lag to a sequence depending on the setting of the sequence type since there is no checking that the time lag value is in keeping with the sequence type set.
Public Types
-
typedef IfcTemplatedEntityList<IfcRelSequence>
list
¶
Public Functions
-
::Ifc4x2::IfcProcess *
RelatingProcess
() const¶ Reference to the process, that is the predecessor.
-
void
setRelatingProcess
(::Ifc4x2::IfcProcess *v)¶
-
::Ifc4x2::IfcProcess *
RelatedProcess
() const¶ Reference to the process, that is the successor.
-
void
setRelatedProcess
(::Ifc4x2::IfcProcess *v)¶
-
bool
hasTimeLag
() const¶ Whether the optional attribute TimeLag is defined for this IfcRelSequence.
-
::Ifc4x2::IfcLagTime *
TimeLag
() const¶ Time duration of the sequence, it is the time lag between the predecessor and the successor as specified by the SequenceType.
-
void
setTimeLag
(::Ifc4x2::IfcLagTime *v)¶
-
bool
hasSequenceType
() const¶ Whether the optional attribute SequenceType is defined for this IfcRelSequence.
-
::Ifc4x2::IfcSequenceEnum::Value
SequenceType
() const¶ The way in which the time lag applies to the sequence.
-
void
setSequenceType
(::Ifc4x2::IfcSequenceEnum::Value v)¶
-
bool
hasUserDefinedSequenceType
() const¶ Whether the optional attribute UserDefinedSequenceType is defined for this IfcRelSequence.
-
std::string
UserDefinedSequenceType
() const¶ Allows for specification of user defined type of the sequence beyond the enumeration values (START_START, START_FINISH, FINISH_START, FINISH_FINISH) provided by SequenceType attribute of type IfcSequenceEnum. When a value is provided for attribute UserDefinedSequenceType in parallel the attribute SequenceType shall have enumeration value USERDEFINED.
Added in IFC 2x4
-
void
setUserDefinedSequenceType
(std::string v)¶
-
IfcRelSequence
(IfcEntityInstanceData *e)¶
-
IfcRelSequence
(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, ::Ifc4x2::IfcProcess *v5_RelatingProcess, ::Ifc4x2::IfcProcess *v6_RelatedProcess, ::Ifc4x2::IfcLagTime *v7_TimeLag, boost::optional<::Ifc4x2::IfcSequenceEnum::Value> v8_SequenceType, boost::optional<std::string> v9_UserDefinedSequenceType)¶
-
typedef IfcTemplatedEntityList<IfcRelSequence>