Tapered Swept Area Profiles |
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 returnes TRUE if:
HISTORY New function in IFC2x Edition 4.
FUNCTION IfcTaperedSweptAreaProfiles
(StartArea, EndArea : IfcProfileDef)
: LOGICAL;
LOCAL
Result : LOGICAL := FALSE;
END_LOCAL;
IF ('IFCPROFILERESOURCE.IfcParameterizedProfileDef' IN TYPEOF(StartArea)) THEN
IF ('IFCPROFILERESOURCE.IfcDerivedProfileDef' IN TYPEOF(EndArea)) THEN
Result := (StartArea :=: EndArea\IfcDerivedProfileDef.ParentProfile);
ELSE
Result := (TYPEOF(StartArea) = TYPEOF(EndArea));
END_IF;
ELSE
IF ('IFCPROFILERESOURCE.IfcDerivedProfileDef' IN TYPEOF(EndArea)) THEN
Result := (StartArea :=: EndArea\IfcDerivedProfileDef.ParentProfile);
ELSE
Result := FALSE;
END_IF;
END_IF;
RETURN(Result);
END_FUNCTION;
References: IfcExtrudedAreaSolidTapered IfcRevolvedAreaSolidTapered