-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Currently, both a HelixGroup and individual Helix can have a pitch and yaw unequal to 0, but this is not recommended. It is recommended that only HelixGroups have nonzero pitch and yaw. If you want to make two Helices not parallel, the recommended way is to put them in separate HelixGroups, where all Helices in the HelixGroup are parallel.
This issue proposes a breaking change to codify this into a requirement by removing the fields Helix.yaw and Helix.pitch. Add methods to Design to look up the yaw and pitch of a Helix, which will delegate to the HelixGroup's property. But the only way make two helices non-parallel is to put them in separate groups.
The interpretation of the order in which to evaluate these (see #150 for explanation of this detail) remains yaw, then pitch, then roll. Although both a HelixGroup and Helix can have a nonzero roll, since it is applied last, it doesn't matter which order the two rolls are applied: the total roll of a Helix is simply Helix.roll + HelixGroup.roll.