IFC 4.3.0.0 (IFC4X3) final

8.8.6.2 IfcTaperedSweptAreaProfiles

8.8.6.2.1 Semantic definition

This function checks whether the start and end profile in a tapered extrusion are topologically similar, i.e. whether both have the same number of vertices and edges.

It returns TRUE if:

  • The start profile is defined by a paramterized profile definition and
    • the end profile is either a derived profile, using the start profile as its parent profile, or
    • the end profile is based on the same subtype of the paramterized profile definition as the start profile
  • The start profile is defined by an arbitrary bounded curve bounding a plane and
    • the end profile is a derived profile using the start profile as its parent profile

8.8.6.2.2 Formal representation

FUNCTION IfcTaperedSweptAreaProfiles
(StartArea, EndArea : IfcProfileDef)
 : LOGICAL;

LOCAL
   Result : LOGICAL := FALSE;
END_LOCAL;
   
IF ('IFC4X3.IFCPARAMETERIZEDPROFILEDEF' IN TYPEOF(StartArea)) THEN
   IF ('IFC4X3.IFCDERIVEDPROFILEDEF' IN TYPEOF(EndArea)) THEN
      Result := (StartArea :=: EndArea\IfcDerivedProfileDef.ParentProfile);
   ELSE
      Result := (TYPEOF(StartArea) = TYPEOF(EndArea));
   END_IF;
ELSE
   IF ('IFC4X3.IFCDERIVEDPROFILEDEF' IN TYPEOF(EndArea)) THEN
      Result := (StartArea :=: EndArea\IfcDerivedProfileDef.ParentProfile);
   ELSE
      Result := FALSE;
   END_IF;
END_IF;

RETURN(Result);

END_FUNCTION;

8.8.6.2.3 References