Class Ifc4x3_rc1::IfcRelInterferesElements¶
Defined in File Ifc4x3_rc1.h
Nested Relationships¶
This class is a nested type of Struct Ifc4x3_rc1.
Inheritance Relationships¶
Base Type¶
public Ifc4x3_rc1::IfcRelConnects
(Class Ifc4x3_rc1::IfcRelConnects)
Class Documentation¶
-
class
Ifc4x3_rc1
::
IfcRelInterferesElements
: public Ifc4x3_rc1::IfcRelConnects¶ Definition from IAI: The IfcRelInterferesElements objectified relationship indicates that two elements interfere. Interference is a spatial overlap between the two elements. It is a 1 to 1 relationship. The concept of two elements interfering physically or logically is described independently from the elements. The interference may be related to the shape representation of the entities by providing an interference geometry.
When the interference geometry is available it can be passed by the optional attribute InterferenceGeometry pointing to IfcConnectionGeometry. The connection geometry is provided as a point, curve, surface, or volume within the local placement coordinate systems of the connecting elements. The IfcConnectionVolumeGeometry is the default type to be used for interference in 3D space, as indicated in e.g. clash detections. If the interference geometry is omitted then the interference is provided as a logical relationship. Under this circumstance, the connection point, curve, surface, or solid has to be recalculated by the receiving application.
The RelatingElement and RelatedElement define the two elements in the relationship, that may have different roles. This is controlled by the attribute ImpliedOrder.
ImpliedOrder=TRUE The RelatingElement constitutes the primary element of the interference relationship. If the interference is to be resolved by subtracting the overlapping part, it should be subtracted from the RelatingElement. The net result would be the RelatingElement subtracted by the InterferenceGeometry. This would be the case in interference relationships where the RelatedElement creates a void in the RelatingElement dynamically. ImpliedOrder=FALSE The RelatingElement and RelatedElement have no priority among each other. If the interference is to be resolved then no information about whether the InterferenceGeometry should be subtracted from the RelatingElement or thed RelatedElement can be traced. This would be the case for clash detection results. ImpliedOrder=UNKNOW No information about the priorities is provided.
HISTORY New entity in IFC2x4.
Public Types
-
typedef IfcTemplatedEntityList<IfcRelInterferesElements>
list
¶
Public Functions
-
::Ifc4x3_rc1::IfcInterferenceSelect *
RelatingElement
() const¶ Reference to a subtype of IfcElement that is the RelatingElement in the interference relationship. Depending on the value of ImpliedOrder the RelatingElement may carry the notion to be the element from which the interference geometry should be subtracted.
-
void
setRelatingElement
(::Ifc4x3_rc1::IfcInterferenceSelect *v)¶
-
::Ifc4x3_rc1::IfcInterferenceSelect *
RelatedElement
() const¶ Reference to a subtype of IfcElement that is the RelatedElement in the interference relationship. Depending on the value of ImpliedOrder the RelatedElement may carry the notion to be the element from which the interference geometry should not be subtracted.
-
void
setRelatedElement
(::Ifc4x3_rc1::IfcInterferenceSelect *v)¶
-
bool
hasInterferenceGeometry
() const¶ Whether the optional attribute InterferenceGeometry is defined for this IfcRelInterferesElements.
-
::Ifc4x3_rc1::IfcConnectionGeometry *
InterferenceGeometry
() const¶ The geometric shape representation of the interference geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally).
-
void
setInterferenceGeometry
(::Ifc4x3_rc1::IfcConnectionGeometry *v)¶
-
bool
hasInterferenceType
() const¶ Whether the optional attribute InterferenceType is defined for this IfcRelInterferesElements.
-
std::string
InterferenceType
() const¶ Optional identifier that describes the nature of the interference. Examples could include ‘Clash’, ‘ProvisionForVoid’, etc.
-
void
setInterferenceType
(std::string v)¶
-
bool
ImpliedOrder
() const¶ Logical value indicating whether the interference geometry should be subtracted from the RelatingElement (if TRUE), or whether it should be either subtracted from the RelatingElement or the RelatedElement (if FALSE), or whether no indication can be provided (if UNKNOWN).
-
void
setImpliedOrder
(bool v)¶
-
IfcRelInterferesElements
(IfcEntityInstanceData *e)¶
-
IfcRelInterferesElements
(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, ::Ifc4x3_rc1::IfcInterferenceSelect *v5_RelatingElement, ::Ifc4x3_rc1::IfcInterferenceSelect *v6_RelatedElement, ::Ifc4x3_rc1::IfcConnectionGeometry *v7_InterferenceGeometry, boost::optional<std::string> v8_InterferenceType, bool v9_ImpliedOrder)¶
-
typedef IfcTemplatedEntityList<IfcRelInterferesElements>