|
12345678910111213141516171819202122232425262728293031323334353637 |
- ---
- prev:
- text: 'InteractionPromptPlugin'
- link: './InteractionPromptPlugin'
-
- next:
- text: 'ContactShadowGroundPlugin'
- link: './ContactShadowGroundPlugin'
-
- ---
-
- # TransformControlsPlugin
-
- [//]: # (todo: image)
-
- [Example](https://threepipe.org/examples/#transform-controls-plugin/) —
- [Source Code](https://github.com/repalash/threepipe/blob/master/src/plugins/interaction/TransformControlsPlugin.ts) —
- [API Reference](https://threepipe.org/docs/classes/TransformControlsPlugin.html)
-
- Transform Controls Plugin adds support for moving, rotating and scaling objects in the viewer with interactive widgets.
-
- Under the hood, TransformControlsPlugin uses [TransformControls2](https://threepipe.org/docs/classes/TransformControls2) to provide the interactive controls, it is a extended version of three.js [TransformControls](https://threejs.org/docs/#examples/en/controls/TransformControls).
-
- When the plugin is added to the viewer, it interfaces with the [PickingPlugin](./PickingPlugin) and shows the control gizmos when an object is selected and hides them when the object is unselected.
-
- If the `PickingPlugin` is not added to the viewer before the `TransformControlsPlugin`, it is added automatically with the plugin.
-
- ```typescript
- import {ThreeViewer, TransformControlsPlugin} from 'threepipe'
-
- const viewer = new ThreeViewer({...})
-
- const transfromControlsPlugin = viewer.addPluginSync(new TransformControlsPlugin())
-
- // Get the underlying transform controls
- console.log(transfromControlsPlugin.transformControls)
- ```
|