Class Ifc4::IfcSurfaceFeature

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcSurfaceFeature : public Ifc4::IfcFeatureElement

Definition from IAI: A surface feature is a modification at (onto, or into) of the surface of an element. Parts of the surface of the entire surface may be affected. The volume and mass of the element may be increased, remain unchanged, or be decreased by the surface feature, depending on manufacturing technology.

The standard use of instances of IfcSurfaceFeature is as a part of element type objects (instances of subtypes of IfcElementType). The part–whole relationship is established by an aggregation relationship object, expressing the decomposition of an element type into one or more additive elements (element parts) and zero or more feature elements.

HISTORY New type in IFC 2x4.

Containment Use Definition:

Surface features shall have no spatial containment relationship to the spatial structure since they are dependent on element types without spatial containment relationships or on an element occurrence with own spatial containment relationship.

The SELF\IfcElement.ContainedInStructure relationship shall be NIL.

Geometry use definition:

The geometric representation of IfcSurfaceFeatureElement is given by the IfcProductDefinitionShape, allowing multiple geometric representation.

Local Placement

The local placement for IfcSurfaceFeatureElement is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

In case of features which are part of an element type, absolute placement into the type object’s implied coordinate system shall be used. In case of features which are voiding an element occurrence, the PlacementRelTo relationship of IfcLocalPlacement shall point to the local placement of the respective element.

Shape representation

Different shape representations may be used, depending on the nature of the feature and information requirements:

Symbolic representation, such as the two-dimensional bounding box of a tag. A geometric set representing the geometric items of a mark. Surface representations of treated parts of the lement surface by means of IfcShellBasedSurfaceModel. The faces within the surface model may be included into a B-Rep model within a representation map of the parent element type.

Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements.

Public Types

typedef IfcTemplatedEntityList<IfcSurfaceFeature> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcSurfaceFeature.

::Ifc4::IfcSurfaceFeatureTypeEnum::Value PredefinedType() const

Indicates the kind of surface feature.

void setPredefinedType(::Ifc4::IfcSurfaceFeatureTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcSurfaceFeature(IfcEntityInstanceData *e)
IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<::Ifc4::IfcSurfaceFeatureTypeEnum::Value> v9_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()