curvePointListXYZType

complexType · extension pointListXYZVectorType · sequence

Smooth curve through an ordered list of points

The curve passes through the points in the order in which they are listed. The entries of x, y and z with the same position form one point; the point indices start at 1. Between the points, the curve is smooth, typically a B-spline. The plane in which a profile lies and the order of its points are described for the profile (profileGeometryType).

Kinks

By default, the curve is smooth at every point. kinkIndices lists the points at which the curve may change its direction abruptly, e.g. where a flat cabin floor meets the side of a fuselage. The curve still passes through such a point, but the shapes before and after the point are independent of each other.

Curve parameter

A position on the curve is described by the curve parameter t, which runs from 0 at the first point to 1 at the last point. Which parameter the points in between receive is not defined by the points alone; a tool usually distributes the parameters according to the distances between the points. The optional parameterMap fixes the parameters of selected points instead; the parameters of the other points are distributed between them.

The parameters matter wherever several curves are combined, above all when a surface is lofted through the profiles of consecutive sections: along the surface, points with equal parameters are connected. If corresponding points of consecutive profiles, such as the kinks at the floor corners, receive the same parameters, these features are connected along the fuselage instead of running diagonally across its surface.

Fuselage profile with numbered points, kinks at the floor corners and fixed curve parameters; two consecutive profiles connected at equal curve parameters

Approximation

By default, the curve interpolates the points, i.e. it passes exactly through each of them. With approximationSettings, the curve approximates the points instead: it is fitted to them with a limited number of control points or within a maximum error. This keeps curves through many or scattered points compact and smooth, but the curve no longer passes exactly through every point. Points that have to lie exactly on the curve nonetheless are listed in interpolatedPointsIndices.

Example

The following fuselage profile has a circular arc and a flat floor between the kinks at points 5 and 9. Points 5, 7 and 9 have fixed curve parameters, so that they meet the corresponding points of a second profile of the same fuselage. It is the profile shown in figure (a) and the rear profile in figure (b).

<fuselageProfile uID="FloorProfile_wide">
    <name>Fuselage profile with flat floor, wide</name>
    <pointList>
        <x>0;0;0;0;0;0;0;0;0;0;0;0;0</x>
        <y>0;0.6503;1.077;1.1334;0.8;0.4;0;-0.4;-0.8;-1.1334;-1.077;-0.6503;0</y>
        <z>1;0.8006;0.2708;-0.4071;-1;-1;-1;-1;-1;-0.4071;0.2708;0.8006;1</z>
        <kinkIndices>5;9</kinkIndices>
        <parameterMap>
            <pointIndices>5;7;9</pointIndices>
            <paramOnCurve>0.4;0.5;0.6</paramOnCurve>
        </parameterMap>
    </pointList>
</fuselageProfile>
Fuselage profile with kinks and parameter map

Attributes

NameTypeConstraintsUseDefaultDescription
@externalDataDirectoryxsd:stringoptionalDirectory of the external data file
@externalDataNodePathxsd:stringoptionalPath of the node inside the external data file
@externalFileNamexsd:stringoptionalName of the external data file

Child elements

NameTypeConstraintsOccurrenceHow often the element may appear at this place. The schema writes it as minOccurs and maxOccurs on the declaration.DefaultDescription
sequenceThe children below must appear in exactly this order. Each may repeat as often as its own occurrence allows.
xstringVectorBaseType[1..1] requiredVector of x coordinates
ystringVectorBaseType[1..1] requiredVector of y coordinates
zstringVectorBaseType[1..1] requiredVector of z coordinates
sequenceThe children below must appear in exactly this order. Each may repeat as often as its own occurrence allows.
kinkIndicesstringVectorBaseType[0..1] optionalIndices of the points at which the curve has a kink, each in the range from 1 to the number of points
parameterMapcurveParamPointMapType[0..1] optionalFixed curve parameters of selected points
approximationSettingsapproximationSettingsType[0..1] optionalSettings for approximating the points instead of interpolating them (if omitted: the curve passes through all points)

Used by

In a dataset · 3 paths

In the schema · 1 declaration

TypeName
profileGeometryTypepointList