Represent B Spline Curve
Overview
NOT YET DEFINED
Results
xxx
| Description | Entity/Pset/Functional Part | MAN | OPT |
|---|
IFC Entities Required
- IfcBezierCurve
- IfcBSplineCurve
- IfcBoundedCurve
- IfcCartesianPoint
- IfcCurve
- IfcGeometricRepresentationItem
- IfcPoint
- IfcRepresentationItem
IFC Datatypes Required
- IfcBSplineCurveForm
- IfcDimensionCount
- IfcLengthMeasure
IFC Functions Required
- -
IDM Functional Parts Required
- -
EXPRESS-G
EXPRESS Schema
SCHEMA FP_REPRESENT_BSPLINE_CURVE;
TYPE IfcDimensionCount = INTEGER;
WHERE
WR1 : { 0 < SELF <= 3 };
END_TYPE;
TYPE IfcLengthMeasure = REAL;
END_TYPE;
TYPE IfcBSplineCurveForm = ENUMERATION OF
(POLYLINE_FORM,
CIRCULAR_ARC,
ELLIPTIC_ARC,
PARABOLIC_ARC,
HYPERBOLIC_ARC,
UNSPECIFIED);
END_TYPE;
ENTITY IfcGeometricRepresentationItem
ABSTRACT SUPERTYPE OF (ONEOF(IfcCurve, IfcPoint))
SUBTYPE OF(IfcRepresentationItem);
END_ENTITY;
ENTITY IfcRepresentationItem
ABSTRACT SUPERTYPE;
END_ENTITY;
ENTITY IfcCartesianPoint
SUBTYPE OF(IfcPoint);
Coordinates : LIST [1:3] OF IfcLengthMeasure;
DERIVE
Dim : IfcDimensionCount := HIINDEX(Coordinates);
WHERE
WR1 : HIINDEX(Coordinates) >= 2;
END_ENTITY;
ENTITY IfcPoint
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcGeometricRepresentationItem);
END_ENTITY;
ENTITY IfcCurve
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcGeometricRepresentationItem);
DERIVE
Dim : IfcDimensionCount := IfcCurveDim(SELF);
END_ENTITY;
ENTITY IfcBoundedCurve
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcCurve);
END_ENTITY;
ENTITY IfcBSplineCurve
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcBoundedCurve);
Degree : INTEGER;
ControlPointsList : LIST [2:?] OF IfcCartesianPoint;
CurveForm : IfcBSplineCurveForm;
ClosedCurve : LOGICAL;
SelfIntersect : LOGICAL;
DERIVE
ControlPoints : ARRAY [0:255] OF IfcCartesianPoint := IfcListToArray(ControlPointsList,0,UpperIndexOnControlPoints);
UpperIndexOnControlPoints : INTEGER := (SIZEOF(ControlPointsList) - 1);
WHERE
WR41 : SIZEOF(QUERY(Temp <* ControlPointsList |
Temp.Dim <> ControlPointsList[1].Dim))
= 0;
END_ENTITY;
ENTITY IfcBezierCurve
SUBTYPE OF(IfcBSplineCurve);
END_ENTITY;
END_SCHEMA;