Skip to content

remove Helix.pitch and Helix.yaw #163

@dave-doty

Description

@dave-doty

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.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions