FUNCTION IfcShapeRepresentationTypes
(* SCHEMA IFC2X2_FINAL; *)
FUNCTION IfcShapeRepresentationTypes
(RepType : IfcLabel; Items : SET OF IfcRepresentationItem)
: LOGICAL;
LOCAL
Count : INTEGER := 0;
END_LOCAL;
CASE RepType OF
'Curve2D' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items | ('IFC2X2_FINAL.IFCCURVE' IN TYPEOF(temp))
AND (temp.Dim = 2)));
END;
'GeometricSet' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items | ('IFC2X2_FINAL.IFCGEOMETRICSET' IN TYPEOF(temp))
OR ('IFC2X2_FINAL.IFCPOINT' IN TYPEOF(temp))
OR ('IFC2X2_FINAL.IFCCURVE' IN TYPEOF(temp))
OR ('IFC2X2_FINAL.IFCSURFACE' IN TYPEOF(temp))));
END;
'GeometricCurveSet' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items | ('IFC2X2_FINAL.IFCGEOMETRICCURVESET' IN TYPEOF(temp))
OR ('IFC2X2_FINAL.IFCGEOMETRICSET' IN TYPEOF(temp))
OR ('IFC2X2_FINAL.IFCPOINT' IN TYPEOF(temp))
OR ('IFC2X2_FINAL.IFCCURVE' IN TYPEOF(temp))));
REPEAT i:=1 TO HIINDEX(Items);
IF ('IFC2X2_FINAL.IFCGEOMETRICSET' IN TYPEOF(Items[i]))
THEN
IF (SIZEOF(QUERY(temp <* Items[i]\IfcGeometricSet.Elements | 'IFC2X2_FINAL.IFCSURFACE' IN TYPEOF(temp))) > 0)
THEN
Count := Count - 1;
END_IF;
END_IF;
END_REPEAT;
END;
'SurfaceModel' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items | SIZEOF([
'IFC2X2_FINAL.IFCSHELLBASEDSURFACEMODEL',
'IFC2X2_FINAL.IFCFACEBASEDSURFACEMODEL',
'IFC2X2_FINAL.IFCFACETEDBREP',
'IFC2X2_FINAL.IFCFACETEDBREPWITHVOIDS'] * TYPEOF(temp)) >= 1
));
END;
'SolidModel' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items | ('IFC2X2_FINAL.IFCSOLIDMODEL' IN TYPEOF(temp))));
END;
'SweptSolid' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items | ('IFC2X2_FINAL.IFCSWEPTAREASOLID' IN TYPEOF(temp))));
END;
'CSG' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items | ('IFC2X2_FINAL.IFCBOOLEANRESULT' IN TYPEOF(temp))));
END;
'Clipping' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items | ('IFC2X2_FINAL.IFCBOOLEANCLIPPINGRESULT' IN TYPEOF(temp))));
END;
'AdvancedSweptSolid' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items | ('IFC2X2_FINAL.IFCSURFACECURVESWEPTAREASOLID' IN TYPEOF(temp))
OR ('IFC2X2_FINAL.IFCSWEPTDISKSOLID' IN TYPEOF(temp))));
END;
'Brep' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items | ('IFC2X2_FINAL.IFCFACETEDBREP' IN TYPEOF(temp))
OR ('IFC2X2_FINAL.IFCFACETEDBREPWITHVOIDS' IN TYPEOF(temp))));
END;
'BoundingBox' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items | ('IFC2X2_FINAL.IFCBOUNDINGBOX' IN TYPEOF(temp))));
IF (SIZEOF(Items) > 1)
THEN
Count := 0;
END_IF;
END;
'SectionedSpine' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items | ('IFC2X2_FINAL.IFCSECTIONEDSPINE' IN TYPEOF(temp))));
END;
'MappedRepresentation' :
BEGIN
Count := SIZEOF(QUERY(temp <* Items | ('IFC2X2_FINAL.IFCMAPPEDITEM' IN TYPEOF(temp))));
IF (SIZEOF(Items) > 1)
THEN
Count := 0;
END_IF;
END;
OTHERWISE : RETURN(?);
END_CASE;
RETURN (Count = SIZEOF(Items));
END_FUNCTION;
Referenced By
Defintion IfcShapeRepresentationTypes is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:20:56-04:00