Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update F3X to use PivotTo where possible #148

Open
wants to merge 1 commit into
base: development
Choose a base branch
from

Conversation

stravant
Copy link

  • Previously, F3X always individually moved all of the parts in the selection even if they were under models. This is not optimal, if all the parts are under a single model then it suffices to make a single PivotTo call transforming the model.

  • Change SyncRotate/SyncMove into SyncRootTransform/SyncPartTransform which are both used by Rotate and Move. In the case where the "Local" mode is used, each part is moved indiviudally, and synced via SyncPartTransform. In the case where "Center" or "Last" is used, the set of rootmost PVInstances is moved via PivotTo and synced via SyncRootTransform.

  • The code specific to updating pivots has been removed, as PivotTo automatically updates WorldPivots when moving the hierarchy.

  • One minor behavior change here is that when using "Local" mode with the Rotate tool, the rotation of the model's pivot is no longer updated. Maintaining that behavior under this new syncing scheme added unnecessary complexity and it was probably a mistake to include that behavior in the first place when updating F3X to respect pivots.

* Previously, F3X always individually moved all of the parts in the
  selection even if they were under models. This is not optimal, if all
  the parts are under a single model then it suffices to make a
  single PivotTo call transforming the model.

* Change SyncRotate/SyncMove into SyncRootTransform/SyncPartTransform
  which are both used by Rotate and Move. In the case where the "Local"
  mode is used, each part is moved indiviudally, and synced via
  SyncPartTransform. In the case where "Center" or "Last" is used, the
  set of rootmost PVInstances is moved via PivotTo and synced via
  SyncRootTransform.

* The code specific to updating pivots has been removed, as PivotTo
  automatically updates WorldPivots when moving the hierarchy.

* One minor behavior change here is that when using "Local" mode with
  the Rotate tool, the rotation of the model's pivot is no longer
  updated. Maintaining that behavior under this new syncing scheme added
  unnecessary complexity and it was probably a mistake to include that
  behavior in the first place when updating F3X to respect pivots.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant