Class Ifc4x2::IfcStructuralSurfaceAction

Nested Relationships

This class is a nested type of Struct Ifc4x2.

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class Ifc4x2::IfcStructuralSurfaceAction : public Ifc4x2::IfcStructuralAction

Definition from IAI: Defines an action which is distributed over a surface. A surface action may be connected with a surface member or surface connection.

HISTORY: New entity in IFC 2x4.

IFC 2x4 change: Former entity IfcStructuralPlanarActionVarying from IFC 2x2 has been removed and are replaced by this entity.

Coordinate Systems:

See definitions at IfcStructuralActivity.

Topology Use Definitions:

Standard Case: If connected with a surface item and acting on its entirety, instances of IfcStructuralCurveAction shall not have an ObjectPlacement nor a Representation. It is implied that the placement and representation of the IfcStructuralActivity is the same as the ones of the member or connection.

Special Case 1: If connected with a surface item but acting only on a part of it, instances of IfcStructuralSurfaceAction shall have an ObjectPlacement and Representation, containing an IfcFaceSurface which topologically defines the loaded part of the surface. See IfcStructuralActivity for further definitions.

Special Case 2: If not connected with a structural item (which may happen in an incomplete or conceptual model), a surface action should have an ObjectPlacement and Representation, containing an IfcFaceSurface. See IfcStructuralActivity for further definitions.

Informal propositions:

If the surface action is of the predefined type CONST, SELF\IfcStructuralActivity.AppliedLoad must not be of type IfcStructuralLoadConfiguration. If the surface action is of the predefined type BILINEAR, SELF\IfcStructuralActivity.AppliedLoad shall be of type IfcStructuralLoadConfiguration and shall contain three items with two-dimensional IfcStructuralLoadConfiguration.Locations, defining the location of the load samples in local coordinates of the surface action. If the surface action is of the predefined type DISCRETE, SELF\IfcStructuralActivity.AppliedLoad shall be of type IfcStructuralLoadConfiguration and shall contain two or more items with two-dimensional locations. Point loads must be of type DISCRETE, thus contain two or more load points. (Single point loads are modeled by IfcStructuralPointLoad.) All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type.

Subclassed by Ifc4x2::IfcStructuralPlanarAction

Public Functions

bool hasProjectedOrTrue() const

Whether the optional attribute ProjectedOrTrue is defined for this IfcStructuralSurfaceAction.

::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value ProjectedOrTrue() const

Defines whether load values are given per true lengths of the surface on which they act, or per lengths of the projection of the surface in load direction. The latter is only applicable to loads which act in global coordinate directions.

void setProjectedOrTrue(::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value v)
::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const

Type of action according to its distribution of load values.

void setPredefinedType(::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcStructuralSurfaceAction(IfcEntityInstanceData *e)
IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4x2::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation *v7_Representation, ::Ifc4x2::IfcStructuralLoad *v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional<bool> v10_DestabilizingLoad, boost::optional<::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value> v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()