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 parameterized 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 parameterized 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_DEV_738df036.IFCPARAMETERIZEDPROFILEDEF' IN TYPEOF(StartArea)) THEN IF ('IFC4X3_DEV_738df036.IFCDERIVEDPROFILEDEF' IN TYPEOF(EndArea)) THEN Result := (StartArea :=: EndArea\IfcDerivedProfileDef.ParentProfile); ELSE Result := (TYPEOF(StartArea) = TYPEOF(EndArea)); END_IF; ELSE IF ('IFC4X3_DEV_738df036.IFCDERIVEDPROFILEDEF' IN TYPEOF(EndArea)) THEN Result := (StartArea :=: EndArea\IfcDerivedProfileDef.ParentProfile); ELSE Result := FALSE; END_IF; END_IF; RETURN(Result); END_FUNCTION;