Product
Introducing License Enforcement in Socket
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
three-transform-controls
Advanced tools
ThreeJS TransformControls as an npm module. See example with react-three-renderer.
npm install three-transform-controls
import React, { Component } from 'react';
import React3 from 'react-three-renderer';
import * as THREE from 'three';
import ReactDOM from 'react-dom';
var TransformControls = require('../controls/TransformControls')(THREE);
export default class Example extends Component {
constructor(props, context) {
super(props, context);
this.cameraPosition = new THREE.Vector3(0, 0, 5);
this.state = {
cubeRotation: new THREE.Euler(),
};
this._onAnimate = () => {
// we will get this callback every frame
};
}
componentDidMount() {
var material = new THREE.MeshBasicMaterial({
color: "#1300FF",
transparent: true,
depthWrite: false
});
var object = new THREE.Object3D();
var plane = new THREE.Mesh(new THREE.PlaneGeometry(25, 5), material);
var control = new TransformControls(this.refs.camera, ReactDOM.findDOMNode(this.refs.react3));
//control.addEventListener('change', render);
control.attach( plane);
object.add(control);
object.add(plane);
this.refs.group.add(object);
}
render() {
const width = window.innerWidth; // canvas width
const height = window.innerHeight; // canvas height
return (
<React3
mainCamera="camera" // this points to the perspectiveCamera which has the name set to "camera" below
width={width}
height={height}
ref="react3"
onAnimate={this._onAnimate}
antialias
alpha={false}
>
<module
ref="mouseInput"
descriptor={MouseInput}
/>
<scene>
<perspectiveCamera
ref="camera"
name="camera"
fov={75}
aspect={width / height}
near={0.1}
far={1000}
position={this.cameraPosition}
/>
<group ref='group' />
<gridHelper
size={10}
colorGrid={"#040404"}
/>
<mesh
rotation={this.state.cubeRotation}
>
<boxGeometry
width={1}
height={1}
depth={1}
/>
<meshBasicMaterial
color={0x00ff00}
/>
</mesh>
</scene>
</React3>
);
}
}
FAQs
Transform Controls as a NPM package
The npm package three-transform-controls receives a total of 242 weekly downloads. As such, three-transform-controls popularity was classified as not popular.
We found that three-transform-controls demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Product
We're launching a new set of license analysis and compliance features for analyzing, managing, and complying with licenses across a range of supported languages and ecosystems.
Product
We're excited to introduce Socket Optimize, a powerful CLI command to secure open source dependencies with tested, optimized package overrides.