Specifies how an attribute is assigned to a linear chain of one or more Segments.
A "linear chain" is a sequence of Segments that connect geometrically from start to end. Segments in a linear chain do not cross one over the other. A linear chain can form a loop in which case the first node of the start segment coincide with the last node of the end segment.
In general a SegmentAnchor, as a multi-segment chain, has an overall first-to-last orientation that is independent of the first-to-last orientation of each component Segment. Each component Segment in the chain will either have the same first-to-last orientation as the chain, or its orientation will be inverted relative to the chain.
It is critical to differentiate the orientation of each component segment from the overall orientation of the chain on which the SegmentAnchor is based.
For example, it is possible that the first Node of a segment chain is the last Node of that chain's first segment. Likewise, the last Node of the chain can be the first Node of the chain's last segment.
The simple case consists of a single segment. In this case the chain and the segment have the same orientation and the range offsets naturally apply to the first segment.
In the multi-segment case, the chain orientation is independent of the individual segment orientations.
| ||DoubleValue|| |
Values range from (0.0 - 1.0]. When not present, offset is at the start of the range (0.0). Relative to the starting segment's orientation - not necessarily the overall chain orientation. Optional.
| ||OrientedSegmentReference||repeated|| |
The segments in the anchor. Will always be >= 1.
| ||DoubleValue|| |
Values range from [0.0 - 1.0). When not present, offset is at the end of the range (1.0). Relative to the last segment's orientation - not necessarily the overall chain orientation. Optional.
| ||RelativeDirection|| |
The attribute's orientation relative to the chain's first-to-last orientation.