Navigation

IfcCurveDim

EXPRESS specification:

FUNCTION IfcCurveDim
(Curve : IfcCurve)
       : IfcDimensionCount;

  IF ('IFCGEOMETRYRESOURCE.IFCLINE' IN TYPEOF(Curve))
    THEN RETURN(Curve.Pnt.Dim);
  END_IF;
  IF ('IFCGEOMETRYRESOURCE.IFCCONIC' IN TYPEOF(Curve))
    THEN RETURN(Curve.Position.Dim);
  END_IF;
  IF ('IFCGEOMETRYRESOURCE.IFCPOLYLINE' IN TYPEOF(Curve))
    THEN RETURN(Curve.Points[1].Dim);
  END_IF;
  IF ('IFCGEOMETRYRESOURCE.IFCTRIMMEDCURVE' IN TYPEOF(Curve))
    THEN RETURN(IfcCurveDim(Curve.BasisCurve));
  END_IF;
  IF ('IFCGEOMETRYRESOURCE.IFCCOMPOSITECURVE' IN TYPEOF(Curve))
    THEN RETURN(Curve.Segments[1].Dim);
  END_IF;
  IF ('IFCGEOMETRYRESOURCE.IFCBSPLINECURVE' IN TYPEOF(Curve))
    THEN RETURN(Curve.ControlPointsList[1].Dim);
  END_IF;
  IF ('IFCGEOMETRYRESOURCE.IFCOFFSETCURVE2D' IN TYPEOF(Curve))
    THEN RETURN(2); 
  END_IF;
  IF ('IFCGEOMETRYRESOURCE.IFCOFFSETCURVE3D' IN TYPEOF(Curve))
    THEN RETURN(3);
  END_IF;
RETURN (?);
END_FUNCTION;