Item | SPF | XML | Change | Description | 4.0.1.0 |
---|---|---|---|---|
IfcArcIndex | ADDED |
The IfcArcIndex describes a single circular arc segment within a poly curve by providing a list on indices. The first index is the start point of the circular arc, the second index is a point on arc, the third index is the end point of the circular arc. The three points shall not be co-linear.
NOTE The type is used for IfcIndexedPolyCurve to point into an IfcCartesianPointList for providing the Cartesian points of the circular arc segments of the poly curve.
The circular arc segment is always parameterized from start to end point
The points from IfcCartesianPointList that define the circle span a plane:
- x and y are orthogonal unit vectors in this plane
- the parameterization range u is defined from start to end point. u is an angular parameter and when a numerical value is specified it shall use the current units for plane angle measure
- R is the radius of the circle.
- C is the center point.
HISTORY New Type in IFC4 ADD1Informal Propositions:
- The second index, resolving to a point on arc, shall resolve into a Cartesian point that has approximately the same distance to the start point and the end point of the circular arc. This is due to avoid numeric instability, if the point on arc is too close to either the start or the end point.
<xs:complexType name="IfcArcIndex">
<xs:simpleContent>
<xs:extension base="ifc:List-IfcArcIndex">
<xs:attribute ref="ifc:itemType" fixed="ifc:IfcPositiveInteger"/>
<xs:attribute ref="ifc:cType" fixed="list"/>
<xs:attribute ref="ifc:arraySize" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="List-IfcArcIndex">
<xs:restriction>
<xs:simpleType>
<xs:list itemType="ifc:IfcPositiveInteger"/>
</xs:simpleType>
<xs:minLength value="3"/>
<xs:maxLength value="3"/>
</xs:restriction>
</xs:simpleType>
TYPE IfcArcIndex = LIST [3:3] OF IfcPositiveInteger;
END_TYPE;
References: IfcSegmentIndexSelect