提交 381e1730 编写于 作者: M Mr.doob

Merge branch 'master' into dev

[page:Object3D] →
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
[page:Object3D] &rarr;
<h1>[name]</h1>
<h1>[name]</h1>
<div class="desc">Abstract base class for cameras.</div>
<div class="desc">Abstract base class for cameras.</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Matrix4 matrixWorldInverse]</h3>
<h3>.[page:Matrix4 matrixWorldInverse]</h3>
<h3>.[page:Matrix4 projectionMatrix]</h3>
<h3>.[page:Matrix4 projectionMatrix]</h3>
<h3>.[page:Matrix4 projectionMatrixInverse]</h3>
<h3>.[page:Matrix4 projectionMatrixInverse]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.lookAt( [page:Vector3 vector] )</h3>
<div>
vector — point to look at<br />
</div>
<h3>.lookAt( [page:Vector3 vector] )</h3>
<div>
vector — point to look at<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
[page:Object3D] &rarr; [page:Camera] &rarr;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
[page:Object3D] &rarr; [page:Camera] &rarr;
<h1>[name]</h1>
<h1>[name]</h1>
<div class="desc">Camera with orthographic projection</div>
<div class="desc">Camera with orthographic projection</div>
<h2>Example</h2>
<h2>Example</h2>
<code>var camera = new THREE.OrthographicCamera( width / - 2, width / 2, height / 2, height / - 2, 1, 1000 );
scene.add( camera );
</code>
<code>var camera = new THREE.OrthographicCamera( width / - 2, width / 2, height / 2, height / - 2, 1, 1000 );
scene.add( camera );</code>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]( [page:Float left], [page:Float right], [page:Float top], [page:Float bottom], [page:Float near], [page:Float far] )</h3>
<div>
left — Camera frustum left plane.<br />
right — Camera frustum right plane.<br />
top — Camera frustum top plane.<br />
bottom — Camera frustum bottom plane.<br />
near — Camera frustum near plane.<br />
far — Camera frustum far plane.
</div>
<h3>[name]( [page:Float left], [page:Float right], [page:Float top], [page:Float bottom], [page:Float near], [page:Float far] )</h3>
<div>
left — Camera frustum left plane.<br />
right — Camera frustum right plane.<br />
top — Camera frustum top plane.<br />
bottom — Camera frustum bottom plane.<br />
near — Camera frustum near plane.<br />
far — Camera frustum far plane.
</div>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Float left]</h3>
<div>Camera frustum left plane.</div>
<h3>.[page:Float left]</h3>
<div>Camera frustum left plane.</div>
<h3>.[page:Float right]</h3>
<div>Camera frustum right plane.</div>
<h3>.[page:Float right]</h3>
<div>Camera frustum right plane.</div>
<h3>.[page:Float top]</h3>
<div>Camera frustum top plane.</div>
<h3>.[page:Float top]</h3>
<div>Camera frustum top plane.</div>
<h3>.[page:Float bottom]</h3>
<div>Camera frustum bottom plane.</div>
<h3>.[page:Float bottom]</h3>
<div>Camera frustum bottom plane.</div>
<h3>.[page:Float near]</h3>
<div>Camera frustum near plane.</div>
<h3>.[page:Float near]</h3>
<div>Camera frustum near plane.</div>
<h3>.[page:Float far]</h3>
<div>Camera frustum far plane.</div>
<h3>.[page:Float far]</h3>
<div>Camera frustum far plane.</div>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.updateProjectionMatrix()</h3>
<div>
Updates the camera projection matrix. Must be called after change of parameters.
</div>
<h3>.updateProjectionMatrix()</h3>
<div>
Updates the camera projection matrix. Must be called after change of parameters.
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
[page:Object3D] &rarr; [page:Camera] &rarr;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
[page:Object3D] &rarr; [page:Camera] &rarr;
<h1>[name]</h1>
<h1>[name]</h1>
<div class="desc">Camera with perspective projection.</div>
<div class="desc">Camera with perspective projection.</div>
<h2>Example</h2>
<h2>Example</h2>
<code>var camera = new THREE.PerspectiveCamera( 45, width / height, 1, 1000 );
scene.add( camera );
</code>
<code>var camera = new THREE.PerspectiveCamera( 45, width / height, 1, 1000 );
scene.add( camera );</code>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]( [page:Float fov], [page:Float aspect], [page:Float near], [page:Float far] )</h3>
<div>
fov — Camera frustum vertical field of view.<br />
aspect — Camera frustum aspect ratio.<br />
near — Camera frustum near plane.<br />
far — Camera frustum far plane.
</div>
<h3>[name]( [page:Float fov], [page:Float aspect], [page:Float near], [page:Float far] )</h3>
<div>
fov — Camera frustum vertical field of view.<br />
aspect — Camera frustum aspect ratio.<br />
near — Camera frustum near plane.<br />
far — Camera frustum far plane.
</div>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Float fov]</h3>
<div>Camera frustum vertical field of view.</div>
<h3>.[page:Float fov]</h3>
<div>Camera frustum vertical field of view.</div>
<h3>.[page:Float aspect]</h3>
<div>Camera frustum aspect ratio.</div>
<h3>.[page:Float aspect]</h3>
<div>Camera frustum aspect ratio.</div>
<h3>.[page:Float near]</h3>
<div>Camera frustum near plane.</div>
<h3>.[page:Float near]</h3>
<div>Camera frustum near plane.</div>
<h3>.[page:Float far]</h3>
<div>Camera frustum far plane.</div>
<h3>.[page:Float far]</h3>
<div>Camera frustum far plane.</div>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.setLens( [page:Float focalLength], [page:Float frameSize] )</h3>
<div>
focalLength — focal length<br />
frameSize — frame size
</div>
<h3>.setLens( [page:Float focalLength], [page:Float frameSize] )</h3>
<div>
focalLength — focal length<br />
frameSize — frame size
</div>
<div>
Uses focal length (in mm) to estimate and set FOV 35mm (fullframe) camera is used if frame size is not specified.<br />
Formula based on [link:http://www.bobatkins.com/photography/technical/field_of_view.html]
</div>
<div>
Uses focal length (in mm) to estimate and set FOV 35mm (fullframe) camera is used if frame size is not specified.<br />
Formula based on [link:http://www.bobatkins.com/photography/technical/field_of_view.html]
</div>
<h3>.setViewOffset( [page:Float fullWidth], [page:Float fullHeight], [page:Float x], [page:Float y], [page:Float width], [page:Float height] )</h3>
<div>
fullWidth — full width of multiview setup<br />
fullHeight — full height of multiview setup<br />
x — horizontal offset of subcamera<br />
y — vertical offset of subcamera<br />
width — width of subcamera<br />
height — height of subcamera
</div>
<h3>.setViewOffset( [page:Float fullWidth], [page:Float fullHeight], [page:Float x], [page:Float y], [page:Float width], [page:Float height] )</h3>
<div>
fullWidth — full width of multiview setup<br />
fullHeight — full height of multiview setup<br />
x — horizontal offset of subcamera<br />
y — vertical offset of subcamera<br />
width — width of subcamera<br />
height — height of subcamera
</div>
<div>
Sets an offset in a larger frustum. This is useful for multi-window or multi-monitor/multi-machine setups.
</div>
<div>
Sets an offset in a larger frustum. This is useful for multi-window or multi-monitor/multi-machine setups.
</div>
<div>
For example, if you have 3x2 monitors and each monitor is 1920x1080 and the monitors are in grid like this:<br />
<div>
For example, if you have 3x2 monitors and each monitor is 1920x1080 and the monitors are in grid like this:<br />
<pre>+---+---+---+
<pre>+---+---+---+
| A | B | C |
+---+---+---+
| D | E | F |
+---+---+---+
</pre>
+---+---+---+</pre>
then for each monitor you would call it like this:<br />
then for each monitor you would call it like this:<br />
<code>var w = 1920;
<code>var w = 1920;
var h = 1080;
var fullWidth = w * 3;
var fullHeight = h * 2;
......@@ -96,15 +103,17 @@ camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 1, w, h );
camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 1, w, h );
</code>
Note there is no reason monitors have to be the same size or in a grid.
</div>
Note there is no reason monitors have to be the same size or in a grid.
</div>
<h3>.updateProjectionMatrix()</h3>
<div>
Updates the camera projection matrix. Must be called after change of parameters.
</div>
<h3>.updateProjectionMatrix()</h3>
<div>
Updates the camera projection matrix. Must be called after change of parameters.
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">Object for keeping track of time.</div>
<div class="desc">Object for keeping track of time.</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]( [page:Boolean autoStart] )</h3>
<div>
autoStart — Automatically start the clock.
</div>
<h3>[name]( [page:Boolean autoStart] )</h3>
<div>
autoStart — Automatically start the clock.
</div>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Boolean autoStart]</h3>
<h3>.[page:Boolean autoStart]</h3>
<h3>.[page:Float startTime]</h3>
<h3>.[page:Float startTime]</h3>
<h3>.[page:Float oldTime]</h3>
<h3>.[page:Float oldTime]</h3>
<h3>.[page:Float elapsedTime]</h3>
<h3>.[page:Float elapsedTime]</h3>
<h3>.[page:Boolean running]</h3>
<h3>.[page:Boolean running]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.start()</h3>
<div>
Start clock.
</div>
<h3>.start()</h3>
<div>
Start clock.
</div>
<h3>.stop()</h3>
<div>
Stop clock.
</div>
<h3>.stop()</h3>
<div>
Stop clock.
</div>
<h3>.getElapsedTime() [page:Float]</h3>
<div>
Get milliseconds passed since the clock started.
</div>
<h3>.getElapsedTime() [page:Float]</h3>
<div>
Get milliseconds passed since the clock started.
</div>
<h3>.getDelta() [page:Float]</h3>
<div>
Get the milliseconds passed since the last call to this method.
</div>
<h3>.getDelta() [page:Float]</h3>
<div>
Get the milliseconds passed since the last call to this method.
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<div class="desc">
Represents a color. See also [page:ColorUtils].
</div>
<h2>Example</h2>
<code>var color = new THREE.Color( 0xff0000 );</code>
<h2>Constructor</h2>
<h3>[name]( [page:Integer hex])</h3>
<div>
hex — initial color in hexadecimal<br />
</div>
<h2>Properties</h2>
<h3>.[page:Float r]</h3>
<div>
Red channel value between 0 and 1. Default is 1.
</div>
<h3>.[page:Float g]</h3>
<div>
Green channel value between 0 and 1. Default is 1.
</div>
<h3>.[page:Float b]</h3>
<div>
Blue channel value between 0 and 1. Default is 1.
</div>
<h2>Methods</h2>
<h3>.copy( [page:Color color] ) [page:this]</h3>
<div>
color — Color to copy.
</div>
<div>
Copies given color.
</div>
<h3>.copyGammaToLinear( [page:Color color] ) [page:this]</h3>
<div>
color — Color to copy.
</div>
<div>
Copies given color making conversion from gamma to linear space.
</div>
<h3>.copyLinearToGamma( [page:Color color] ) [page:this]</h3>
<div>
color — Color to copy.
</div>
<div>
Copies given color making conversion from linear to gamma space.
</div>
<h3>.convertGammaToLinear() [page:this]</h3>
<div>
Converts this color from gamma to linear space.
</div>
<h3>.convertLinearToGamma() [page:this]</h3>
<div>
Converts this color from linear to gamma space.
</div>
<h3>.setRGB( [page:Float r], [page:Float g], [page:Float b] ) [page:this]</h3>
<div>
r — Red channel value between 0 and 1.<br />
g — Green channel value between 0 and 1.<br />
b — Blue channel value between 0 and 1.
</div>
<div>
Sets this color from RGB values.
</div>
<h3>.setHSV( [page:Float h], [page:Float s], [page:Float v] ) [page:this]</h3>
<div>
h — Hue channel value between 0 and 1.<br />
s — Saturation value channel between 0 and 1.<br />
v — Value channel value between 0 and 1.
</div>
<div>
Sets this color from HSV values.<br />
Based on MochiKit implementation by Bob Ippolito.
</div>
<h3>.setHex( [page:Integer hex] ) [page:this]</h3>
<div>
hex — Color in hexadecimal.<br />
</div>
<div>
Sets this color from a hexadecimal value.
</div>
<h3>.getHex() [page:Integer]</h3>
<div>
Returns the value of this color in hexadecimal.
</div>
<h3>.getContextStyle() [page:String]</h3>
<div>
Returns the value of this color in CSS context style.<br />
Example: rgb(r, g, b)
</div>
<h3>.clone() [page:Color]</h3>
<div>
Clones this color.
</div>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">
Represents a color. See also [page:ColorUtils].
</div>
<h2>Example</h2>
<code>var color = new THREE.Color( 0xff0000 );</code>
<h2>Constructor</h2>
<h3>[name]( [page:Integer hex])</h3>
<div>
hex — initial color in hexadecimal<br />
</div>
<h2>Properties</h2>
<h3>.[page:Float r]</h3>
<div>
Red channel value between 0 and 1. Default is 1.
</div>
<h3>.[page:Float g]</h3>
<div>
Green channel value between 0 and 1. Default is 1.
</div>
<h3>.[page:Float b]</h3>
<div>
Blue channel value between 0 and 1. Default is 1.
</div>
<h2>Methods</h2>
<h3>.copy( [page:Color color] ) [page:this]</h3>
<div>
color — Color to copy.
</div>
<div>
Copies given color.
</div>
<h3>.copyGammaToLinear( [page:Color color] ) [page:this]</h3>
<div>
color — Color to copy.
</div>
<div>
Copies given color making conversion from gamma to linear space.
</div>
<h3>.copyLinearToGamma( [page:Color color] ) [page:this]</h3>
<div>
color — Color to copy.
</div>
<div>
Copies given color making conversion from linear to gamma space.
</div>
<h3>.convertGammaToLinear() [page:this]</h3>
<div>
Converts this color from gamma to linear space.
</div>
<h3>.convertLinearToGamma() [page:this]</h3>
<div>
Converts this color from linear to gamma space.
</div>
<h3>.setRGB( [page:Float r], [page:Float g], [page:Float b] ) [page:this]</h3>
<div>
r — Red channel value between 0 and 1.<br />
g — Green channel value between 0 and 1.<br />
b — Blue channel value between 0 and 1.
</div>
<div>
Sets this color from RGB values.
</div>
<h3>.setHSV( [page:Float h], [page:Float s], [page:Float v] ) [page:this]</h3>
<div>
h — Hue channel value between 0 and 1.<br />
s — Saturation value channel between 0 and 1.<br />
v — Value channel value between 0 and 1.
</div>
<div>
Sets this color from HSV values.<br />
Based on MochiKit implementation by Bob Ippolito.
</div>
<h3>.setHex( [page:Integer hex] ) [page:this]</h3>
<div>
hex — Color in hexadecimal.<br />
</div>
<div>
Sets this color from a hexadecimal value.
</div>
<h3>.getHex() [page:Integer]</h3>
<div>
Returns the value of this color in hexadecimal.
</div>
<h3>.getContextStyle() [page:String]</h3>
<div>
Returns the value of this color in CSS context style.<br />
Example: rgb(r, g, b)
</div>
<h3>.clone() [page:Color]</h3>
<div>
Clones this color.
</div>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<div class="desc">
Triangle face.
</div>
<h2>Example</h2>
<code>var face = new THREE.Face3( 0, 1, 2, new THREE.Vector3( 0, 1, 0 ), new THREE.Color( 0xffaa00 ), 0 );</code>
<h2>Constructor</h2>
<h3>[name]( [page:Integer a], [page:Integer b], [page:Integer c], [page:Vector3 normal], [page:Color color], [page:Integer materialIndex] )</h3>
<div>
a — Vertex A index.<br />
b — Vertex B index.<br />
c — Vertex C index.<br />
normal — Face normal or array of vertex normals.<br />
color — Face color or array of vertex colors.<br />
materialIndex — Material index.
</div>
<h2>Properties</h2>
<h3>.[page:Integer a]</h3>
<div>
Vertex A index.
</div>
<h3>.[page:Integer b]</h3>
<div>
Vertex B index.
</div>
<h3>.[page:Integer c]</h3>
<div>
Vertex C index.
</div>
<h3>.[page:Vector3 normal]</h3>
<div>
Face normal.
</div>
<h3>.[page:Color color]</h3>
<div>
Face color.
</div>
<h3>.[page:Array vertexNormals]</h3>
<div>
Array of 3 vertex normals.
</div>
<h3>.[page:Array vertexColors]</h3>
<div>
Array of 3 vertex colors.
</div>
<h3>.[page:Array vertexTangets]</h3>
<div>
Array of 3 vertex tangets.
</div>
<h3>.[page:Integer materialIndex]</h3>
<div>
Material index (points to [page:Geometry Geometry.materials]).
</div>
<h3>.[page:Vector3 centroid]</h3>
<div>
Face centroid.
</div>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">
Triangle face.
</div>
<h2>Example</h2>
<code>var face = new THREE.Face3( 0, 1, 2, new THREE.Vector3( 0, 1, 0 ), new THREE.Color( 0xffaa00 ), 0 );</code>
<h2>Constructor</h2>
<h3>[name]( [page:Integer a], [page:Integer b], [page:Integer c], [page:Vector3 normal], [page:Color color], [page:Integer materialIndex] )</h3>
<div>
a — Vertex A index.<br />
b — Vertex B index.<br />
c — Vertex C index.<br />
normal — Face normal or array of vertex normals.<br />
color — Face color or array of vertex colors.<br />
materialIndex — Material index.
</div>
<h2>Properties</h2>
<h3>.[page:Integer a]</h3>
<div>
Vertex A index.
</div>
<h3>.[page:Integer b]</h3>
<div>
Vertex B index.
</div>
<h3>.[page:Integer c]</h3>
<div>
Vertex C index.
</div>
<h3>.[page:Vector3 normal]</h3>
<div>
Face normal.
</div>
<h3>.[page:Color color]</h3>
<div>
Face color.
</div>
<h3>.[page:Array vertexNormals]</h3>
<div>
Array of 3 vertex normals.
</div>
<h3>.[page:Array vertexColors]</h3>
<div>
Array of 3 vertex colors.
</div>
<h3>.[page:Array vertexTangets]</h3>
<div>
Array of 3 vertex tangets.
</div>
<h3>.[page:Integer materialIndex]</h3>
<div>
Material index (points to [page:Geometry Geometry.materials]).
</div>
<h3>.[page:Vector3 centroid]</h3>
<div>
Face centroid.
</div>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<div class="desc">
Quad face.
</div>
<h2>Example</h2>
<code>var face = new THREE.Face4( 0, 1, 2, 3, new THREE.Vector3( 0, 1, 0 ), new THREE.Color( 0xffaa00 ), 0 );</code>
<h2>Constructor</h2>
<h3>[name]( [page:Integer a], [page:Integer b], [page:Integer c], [page:Integer d], [page:Vector3 normal], [page:Color color], [page:Integer materialIndex] )</h3>
<div>
a — Vertex A index.<br />
b — Vertex B index.<br />
c — Vertex C index.<br />
d — Vertex D index.<br />
normal — Face normal or array of vertex normals.<br />
color — Face color or array of vertex colors.<br />
materialIndex — Material index.
</div>
<h2>Properties</h2>
<h3>.[page:Integer a]</h3>
<div>
Vertex A index.
</div>
<h3>.[page:Integer b]</h3>
<div>
Vertex B index.
</div>
<h3>.[page:Integer c]</h3>
<div>
Vertex C index.
</div>
<h3>.[page:Integer d]</h3>
<div>
Vertex D index.
</div>
<h3>.[page:Vector3 normal]</h3>
<div>
Face normal.
</div>
<h3>.[page:Color color]</h3>
<div>
Face color.
</div>
<h3>.[page:Array vertexNormals]</h3>
<div>
Array of 4 vertex normals.
</div>
<h3>.[page:Array vertexColors]</h3>
<div>
Array of 4 vertex colors.
</div>
<h3>.[page:Array vertexTangets]</h3>
<div>
Array of 4 vertex tangets.
</div>
<h3>.[page:Integer materialIndex]</h3>
<div>
Material index (points to [page:Geometry Geometry.materials]).
</div>
<h3>.[page:Vector3 centroid]</h3>
<div>
Face centroid.
</div>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">
Quad face.
</div>
<h2>Example</h2>
<code>var face = new THREE.Face4( 0, 1, 2, 3, new THREE.Vector3( 0, 1, 0 ), new THREE.Color( 0xffaa00 ), 0 );</code>
<h2>Constructor</h2>
<h3>[name]( [page:Integer a], [page:Integer b], [page:Integer c], [page:Integer d], [page:Vector3 normal], [page:Color color], [page:Integer materialIndex] )</h3>
<div>
a — Vertex A index.<br />
b — Vertex B index.<br />
c — Vertex C index.<br />
d — Vertex D index.<br />
normal — Face normal or array of vertex normals.<br />
color — Face color or array of vertex colors.<br />
materialIndex — Material index.
</div>
<h2>Properties</h2>
<h3>.[page:Integer a]</h3>
<div>
Vertex A index.
</div>
<h3>.[page:Integer b]</h3>
<div>
Vertex B index.
</div>
<h3>.[page:Integer c]</h3>
<div>
Vertex C index.
</div>
<h3>.[page:Integer d]</h3>
<div>
Vertex D index.
</div>
<h3>.[page:Vector3 normal]</h3>
<div>
Face normal.
</div>
<h3>.[page:Color color]</h3>
<div>
Face color.
</div>
<h3>.[page:Array vertexNormals]</h3>
<div>
Array of 4 vertex normals.
</div>
<h3>.[page:Array vertexColors]</h3>
<div>
Array of 4 vertex colors.
</div>
<h3>.[page:Array vertexTangets]</h3>
<div>
Array of 4 vertex tangets.
</div>
<h3>.[page:Integer materialIndex]</h3>
<div>
Material index (points to [page:Geometry Geometry.materials]).
</div>
<h3>.[page:Vector3 centroid]</h3>
<div>
Face centroid.
</div>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc"></div>
<div class="desc"></div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Array planes]</h3>
<div>
Array of 6 [page:Vector4 vectors].
</div>
<h3>.[page:Array planes]</h3>
<div>
Array of 6 [page:Vector4 vectors].
</div>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.setFromMatrix( [page:Matrix4 matrix] )</h3>
<h3>.setFromMatrix( [page:Matrix4 matrix] )</h3>
<h3>.contains( [page:Object3D object] ) [page:Boolean]</h3>
<div>
Checks whether the object is inside the Frustum.
</div>
<h3>.contains( [page:Object3D object] ) [page:Boolean]</h3>
<div>
Checks whether the object is inside the Frustum.
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<div class="desc">Base class for geometries</div>
<h2>Example</h2>
<code>var geometry = new THREE.Geometry()
geometry.vertices.push( new THREE.Vector3( -10, 10, 0 ) );
geometry.vertices.push( new THREE.Vector3( -10, -10, 0 ) );
geometry.vertices.push( new THREE.Vector3( 10, -10, 0 ) );
geometry.faces.push( new THREE.Face3( 0, 1, 2 ) );
geometry.computeBoundingSphere();
</code>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h2>Properties</h2>
<h3>.[page:Integer id]</h3>
<div>
Unique number of this geometry instance
</div>
<h3>.[page:Array vertices]</h3>
<div>
Array of [page:Vector3 vertices].
</div>
<h3>.[page:Array colors]</h3>
<div>
Array of vertex [page:Color colors], matching number and order of vertices.<br />
Used in [page:ParticleSystem], [page:Line] and [page:Ribbon].<br />
[page:Mesh Meshes] use per-face-use-of-vertex colors embedded directly in faces.
</div>
<h3>.[page:Array materials]</h3>
<div>
Array of [page:Material materials].
</div>
<h3>.[page:Array faces]</h3>
<div>
Array of [page:Face3 triangles] or/and [page:Face4 quads].
</div>
<h3>.[page:Array faceUvs]</h3>
<div>
Array of face [page:UV] layers.<br />
Each UV layer is an array of [page:UV] matching order and number of faces.
</div>
<h3>.[page:Array faceVertexUvs]</h3>
<div>
Array of face [page:UV] layers.<br />
Each UV layer is an array of [page:UV] matching order and number of vertices in faces.
</div>
<h3>.[page:Array morphTargets]</h3>
<div>
Array of morph targets. Each morph target is JS object:
<code>{ name: "targetName", vertices: [ new THREE.Vertex(), ... ] }</code>
Morph vertices match number and order of primary vertices.
</div>
<h3>.[page:Array morphColors]</h3>
<div>
Array of morph colors. Morph colors have similar structure as morph targets, each color set is JS object:
<code>morphColor = { name: "colorName", colors: [ new THREE.Color(), ... ] }</code>
Morph colors can match either number and order of faces (face colors) or number of vertices (vertex colors).
</div>
<h3>.[page:Array skinWeights]</h3>
<div>
Array of skinning weights, matching number and order of vertices.
</div>
<h3>.[page:Array skinIndices]</h3>
<div>
Array of skinning indices, matching number and order of vertices.
</div>
<h3>.[page:Object boundingBox]</h3>
<div>
Bounding box.
<code>{ min: new THREE.Vector3(), max: new THREE.Vector3() }</code>
</div>
<h3>.[page:Object boundingSphere]</h3>
<div>
Bounding sphere.
<code>{ radius: float }</code>
</div>
<h3>.[page:Boolean hasTangents]</h3>
<div>
True if geometry has tangents. Set in [page:Geometry Geometry.computeTangents].
</div>
<h3>.[page:Boolean dynamic]</h3>
<div>
Set to *true* if attribute buffers will need to change in runtime (using "dirty" flags).<br/>
Unless set to true internal typed arrays corresponding to buffers will be deleted once sent to GPU.
</div>
<h2>Methods</h2>
<h3>.applyMatrix( [page:Matrix4 matrix] )</h3>
<div>
Bakes matrix transform directly into vertex coordinates.
</div>
<h3>.computeCentroids()</h3>
<div>
Computes centroids for all faces.
</div>
<h3>.computeFaceNormals()</h3>
<div>
Computes face normals.
</div>
<h3>.computeVertexNormals()</h3>
<div>
Computes vertex normals by averaging face normals.<br />
Face normals must be existing / computed beforehand.
</div>
<h3>.computeTangents()</h3>
<div>
Computes vertex tangents.<br />
Based on [link:http://www.terathon.com/code/tangent.html]<br />
Geometry must have vertex [page:UV UVs] (layer 0 will be used).
</div>
<h3>.computeBoundingBox()</h3>
<div>
Computes bounding box of the geometry, updating [page:Geometry Geometry.boundingBox] attribute.
</div>
<h3>.computeBoundingSphere()</h3>
<div>
Computes bounding sphere of the geometry, updating [page:Geometry Geometry.boundingSphere] attribute.
</div>
<h3>.mergeVertices()</h3>
<div>
Checks for duplicate vertices using hashmap.<br />
Duplicated vertices are removed and faces' vertices are updated.
</div>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">Base class for geometries</div>
<h2>Example</h2>
<code>var geometry = new THREE.Geometry()
geometry.vertices.push( new THREE.Vector3( -10, 10, 0 ) );
geometry.vertices.push( new THREE.Vector3( -10, -10, 0 ) );
geometry.vertices.push( new THREE.Vector3( 10, -10, 0 ) );
geometry.faces.push( new THREE.Face3( 0, 1, 2 ) );
geometry.computeBoundingSphere();
</code>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h2>Properties</h2>
<h3>.[page:Integer id]</h3>
<div>
Unique number of this geometry instance
</div>
<h3>.[page:Array vertices]</h3>
<div>
Array of [page:Vector3 vertices].
</div>
<h3>.[page:Array colors]</h3>
<div>
Array of vertex [page:Color colors], matching number and order of vertices.<br />
Used in [page:ParticleSystem], [page:Line] and [page:Ribbon].<br />
[page:Mesh Meshes] use per-face-use-of-vertex colors embedded directly in faces.
</div>
<h3>.[page:Array materials]</h3>
<div>
Array of [page:Material materials].
</div>
<h3>.[page:Array faces]</h3>
<div>
Array of [page:Face3 triangles] or/and [page:Face4 quads].
</div>
<h3>.[page:Array faceUvs]</h3>
<div>
Array of face [page:UV] layers.<br />
Each UV layer is an array of [page:UV] matching order and number of faces.
</div>
<h3>.[page:Array faceVertexUvs]</h3>
<div>
Array of face [page:UV] layers.<br />
Each UV layer is an array of [page:UV] matching order and number of vertices in faces.
</div>
<h3>.[page:Array morphTargets]</h3>
<div>
Array of morph targets. Each morph target is JS object:
<code>{ name: "targetName", vertices: [ new THREE.Vertex(), ... ] }</code>
Morph vertices match number and order of primary vertices.
</div>
<h3>.[page:Array morphColors]</h3>
<div>
Array of morph colors. Morph colors have similar structure as morph targets, each color set is JS object:
<code>morphColor = { name: "colorName", colors: [ new THREE.Color(), ... ] }</code>
Morph colors can match either number and order of faces (face colors) or number of vertices (vertex colors).
</div>
<h3>.[page:Array skinWeights]</h3>
<div>
Array of skinning weights, matching number and order of vertices.
</div>
<h3>.[page:Array skinIndices]</h3>
<div>
Array of skinning indices, matching number and order of vertices.
</div>
<h3>.[page:Object boundingBox]</h3>
<div>
Bounding box.
<code>{ min: new THREE.Vector3(), max: new THREE.Vector3() }</code>
</div>
<h3>.[page:Object boundingSphere]</h3>
<div>
Bounding sphere.
<code>{ radius: float }</code>
</div>
<h3>.[page:Boolean hasTangents]</h3>
<div>
True if geometry has tangents. Set in [page:Geometry Geometry.computeTangents].
</div>
<h3>.[page:Boolean dynamic]</h3>
<div>
Set to *true* if attribute buffers will need to change in runtime (using "dirty" flags).<br/>
Unless set to true internal typed arrays corresponding to buffers will be deleted once sent to GPU.
</div>
<h2>Methods</h2>
<h3>.applyMatrix( [page:Matrix4 matrix] )</h3>
<div>
Bakes matrix transform directly into vertex coordinates.
</div>
<h3>.computeCentroids()</h3>
<div>
Computes centroids for all faces.
</div>
<h3>.computeFaceNormals()</h3>
<div>
Computes face normals.
</div>
<h3>.computeVertexNormals()</h3>
<div>
Computes vertex normals by averaging face normals.<br />
Face normals must be existing / computed beforehand.
</div>
<h3>.computeTangents()</h3>
<div>
Computes vertex tangents.<br />
Based on [link:http://www.terathon.com/code/tangent.html]<br />
Geometry must have vertex [page:UV UVs] (layer 0 will be used).
</div>
<h3>.computeBoundingBox()</h3>
<div>
Computes bounding box of the geometry, updating [page:Geometry Geometry.boundingBox] attribute.
</div>
<h3>.computeBoundingSphere()</h3>
<div>
Computes bounding sphere of the geometry, updating [page:Geometry Geometry.boundingSphere] attribute.
</div>
<h3>.mergeVertices()</h3>
<div>
Checks for duplicate vertices using hashmap.<br />
Duplicated vertices are removed and faces' vertices are updated.
</div>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<div class="desc">Math utility functions</div>
<h2>Methods</h2>
<h3>.clamp( [page:Float x], [page:Float a], [page:Float b] ) [page:Float]</h3>
<div>
x — Value to be clamped.<br />
a — Minimum value<br />
b — Maximum value.
</div>
<div>
Clamps the *x* to be between *a* and *b*.
</div>
<h3>.clampBottom( [page:Float x], [page:Float a] ) [page:Float]</h3>
<div>
x — Value to be clamped.<br />
a — Minimum value
</div>
<div>
Clamps the *x* to be larger than *a*.
</div>
<h3>.mapLinear( [page:Float x], [page:Float a] ) [page:Float]</h3>
<div>
x — Value to be mapped.<br />
a1 — Minimum value for range A.<br />
a2 — Maximum value for range A.<br />
b1 — Minimum value for range B.<br />
b2 — Maximum value for range B.
</div>
<div>
Linear mapping of *x* from range [*a1*, *a2*] to range [*b1*, *b2*].
</div>
<h3>.random16() [page:Float]</h3>
<div>
Random float from 0 to 1 with 16 bits of randomness.<br />
Standard Math.random() creates repetitive patterns when applied over larger space.
</div>
<h3>.randInt( [page:Integer low], [page:Integer high] ) [page:Integer]</h3>
<div>
Random integer from *low* to *high* interval.
</div>
<h3>.randFloat( [page:Float low], [page:Float high] ) [page:Float]</h3>
<div>
Random float from *low* to *high* interval.
</div>
<h3>.randFloatSpread( [page:Float range] ) [page:Float]</h3>
<div>
Random float from *- range / 2* to *range / 2* interval.
</div>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">Math utility functions</div>
<h2>Methods</h2>
<h3>.clamp( [page:Float x], [page:Float a], [page:Float b] ) [page:Float]</h3>
<div>
x — Value to be clamped.<br />
a — Minimum value<br />
b — Maximum value.
</div>
<div>
Clamps the *x* to be between *a* and *b*.
</div>
<h3>.clampBottom( [page:Float x], [page:Float a] ) [page:Float]</h3>
<div>
x — Value to be clamped.<br />
a — Minimum value
</div>
<div>
Clamps the *x* to be larger than *a*.
</div>
<h3>.mapLinear( [page:Float x], [page:Float a] ) [page:Float]</h3>
<div>
x — Value to be mapped.<br />
a1 — Minimum value for range A.<br />
a2 — Maximum value for range A.<br />
b1 — Minimum value for range B.<br />
b2 — Maximum value for range B.
</div>
<div>
Linear mapping of *x* from range [*a1*, *a2*] to range [*b1*, *b2*].
</div>
<h3>.random16() [page:Float]</h3>
<div>
Random float from 0 to 1 with 16 bits of randomness.<br />
Standard Math.random() creates repetitive patterns when applied over larger space.
</div>
<h3>.randInt( [page:Integer low], [page:Integer high] ) [page:Integer]</h3>
<div>
Random integer from *low* to *high* interval.
</div>
<h3>.randFloat( [page:Float low], [page:Float high] ) [page:Float]</h3>
<div>
Random float from *low* to *high* interval.
</div>
<h3>.randFloatSpread( [page:Float range] ) [page:Float]</h3>
<div>
Random float from *- range / 2* to *range / 2* interval.
</div>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">A 3x3 matrix.</div>
<div class="desc">A 3x3 matrix.</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Array m]</h3>
<div>
Array with matrix values.
</div>
<h3>.[page:Array m]</h3>
<div>
Array with matrix values.
</div>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.transpose() [page:Matrix3]</h3>
<div>
Transposes this matrix in place.
</div>
<h3>.transpose() [page:Matrix3]</h3>
<div>
Transposes this matrix in place.
</div>
<h3>.transposeIntoArray( [page:Array r] ) [page:Array]</h3>
<div>
Transposes this matrix into supplied array.
</div>
<h3>.transposeIntoArray( [page:Array r] ) [page:Array]</h3>
<div>
Transposes this matrix into supplied array.
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">A 4x4 Matrix.</div>
<div class="desc">A 4x4 Matrix.</div>
<h2>Example</h2>
<h2>Example</h2>
<code>// Simple rig for rotating around 3 axes
<code>// Simple rig for rotating around 3 axes
var m = new THREE.Matrix4();
var m = new THREE.Matrix4();
var m1 = new THREE.Matrix4();
var m2 = new THREE.Matrix4();
var m3 = new THREE.Matrix4();
var m1 = new THREE.Matrix4();
var m2 = new THREE.Matrix4();
var m3 = new THREE.Matrix4();
var alpha = 0;
var beta = Math.PI;
var gamma = Math.PI/2;
var alpha = 0;
var beta = Math.PI;
var gamma = Math.PI/2;
m1.setRotationX( alpha );
m2.setRotationY( beta );
m3.setRotationZ( gamma );
m1.setRotationX( alpha );
m2.setRotationY( beta );
m3.setRotationZ( gamma );
m.multiply( m1, m2 );
m.multiplySelf( m3 );
</code>
m.multiply( m1, m2 );
m.multiplySelf( m3 );
</code>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]( [page:Float n11], [page:Float n12], [page:Float n13], [page:Float n14], [page:Float n21], [page:Float n22], [page:Float n23], [page:Float n24], [page:Float n31], [page:Float n32], [page:Float n33], [page:Float n34], [page:Float n41], [page:Float n42], [page:Float n43], [page:Float n44] )</h3>
<h3>[name]( [page:Float n11], [page:Float n12], [page:Float n13], [page:Float n14], [page:Float n21], [page:Float n22], [page:Float n23], [page:Float n24], [page:Float n31], [page:Float n32], [page:Float n33], [page:Float n34], [page:Float n41], [page:Float n42], [page:Float n43], [page:Float n44] )</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Float32Array elements]</h3>
<h3>.[page:Float32Array elements]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.set( [page:Float n11], [page:Float n12], [page:Float n13], [page:Float n14], [page:Float n21], [page:Float n22], [page:Float n23], [page:Float n24], [page:Float n31], [page:Float n32], [page:Float n33], [page:Float n34], [page:Float n41], [page:Float n42], [page:Float n43], [page:Float n44] ) [page:Matrix4]</h3>
<div>
Sets all fields of this matrix.
</div>
<h3>.set( [page:Float n11], [page:Float n12], [page:Float n13], [page:Float n14], [page:Float n21], [page:Float n22], [page:Float n23], [page:Float n24], [page:Float n31], [page:Float n32], [page:Float n33], [page:Float n34], [page:Float n41], [page:Float n42], [page:Float n43], [page:Float n44] ) [page:Matrix4]</h3>
<div>
Sets all fields of this matrix.
</div>
<h3>.identity() [page:Matrix4]</h3>
<div>
Resets this matrix to identity.
</div>
<h3>.identity() [page:Matrix4]</h3>
<div>
Resets this matrix to identity.
</div>
<h3>.copy( [page:Matrix4 m] ) [page:Matrix4]</h3>
<div>
Copies a matrix *m* into this matrix.
</div>
<h3>.lookAt( [page:Vector3 eye], [page:Vector3 center], [page:Vector3 up], ) [page:Matrix4]</h3>
<div>
Constructs a rotation matrix, looking from *eye* towards *center* with defined *up* vector.
</div>
<h3>.multiply( [page:Matrix4 a], [page:Matrix4 b] ) [page:Matrix4]</h3>
<div>
Sets this matrix to *a x b*.
</div>
<h3>.multiplySelf( [page:Matrix4 m] ) [page:Matrix4]</h3>
<div>
Multiplies this matrix by *m*.
</div>
<h3>.multiplyToArray( [page:Matrix4 a], [page:Matrix4 b], [page:Array r] ) [page:Matrix4]</h3>
<div>
Sets this matrix to *a x b* and sets result into flat array *r*.<br />
Destination array can be regular Array or TypedArray.
</div>
<h3>.multiplyScalar( [page:Float s] ) [page:Matrix4]</h3>
<div>
Multiplies this matrix by *s*.
</div>
<h3>.multiplyVector3( [page:Vector3 v] ) [page:Vector3]</h3>
<div>
Applies this matrix to *v*.
</div>
<h3>.multiplyVector4( [page:Vector4 v] ) [page:Vector4]</h3>
<div>
Applies this matrix to *v*.
</div>
<h3>.rotateAxis( [page:Vector3 v] ) [page:Vector3]</h3>
<div>
Applies rotation submatrix of this matrix to vector *v* and then normalizes it.
</div>
<h3>.crossVector( [page:Vector4 a] ) [page:Vector4]</h3>
<h3>.determinant() [page:Float]</h3>
<div>
Computes determinant of this matrix.<br />
Based on [link:http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm]
</div>
<h3>.transpose() [page:Matrix4]</h3>
<div>
Transposes this matrix.
</div>
<h3>.flatten() [page:Array]</h3>
<div>
Flattens this matrix into internal [page:Matrix4 Matrix4.flat] array.
</div>
<h3>.flattenToArray( [page:Array flat] ) [page:Array]</h3>
<div>
Flattens this matrix into supplied *flat* array.
</div>
<h3>.flattenToArrayOffset( [page:Array flat], [page:Integer offset] ) [page:Array]</h3>
<div>
Flattens this matrix into supplied *flat* array starting from *offset* position in the array.
</div>
<h3>.setTranslation( [page:Float x], [page:Float y], [page:Float z] ) [page:Matrix4]</h3>
<div>
Sets this matrix as translation transform.
</div>
<h3>.setScale( [page:Float x], [page:Float y], [page:Float z] ) [page:Matrix4]</h3>
<div>
Sets this matrix as scale transform.
</div>
<h3>.makeRotationX( [page:Float theta] ) [page:Matrix4]</h3>
<div>
theta — Rotation angle in radians.
</div>
<div>
Sets this matrix as rotation transform around x axis by *theta* radians.
</div>
<h3>.makeRotationY( [page:Float theta] ) [page:Matrix4]</h3>
<div>
theta — Rotation angle in radians.
</div>
<div>
Sets this matrix as rotation transform around y axis by *theta* radians.
</div>
<h3>.makeRotationZ( [page:Float theta] ) [page:Matrix4]</h3>
<div>
theta — Rotation angle in radians.
</div>
<div>
Sets this matrix as rotation transform around z axis by *theta* radians.
</div>
<h3>.makeRotationAxis( [page:Vector3 axis], [page:Float theta] ) [page:Matrix4]</h3>
<div>
axis — Rotation axis.
theta — Rotation angle in radians.
</div>
<div>
Sets this matrix as rotation transform around *axis* by *angle* radians.<br />
Based on [link:http://www.gamedev.net/reference/articles/article1199.asp].
</div>
<h3>.setPosition( [page:Vector3 v] ) [page:Matrix4]</h3>
<div>
Sets the position component for this matrix from vector *v*.
</div>
<h3>.getPosition() [page:Vector3]</h3>
<div>
Returns position component from this matrix.<br />
Note: this method returns a reference to internal class vector, make copy or clone if you don't use it right away.
</div>
<h3>.getColumnX() [page:Vector3]</h3>
<div>
Returns x column component from this matrix.<br />
Note: this method returns a reference to internal class vector, make copy or clone if you don't use it right away.
</div>
<h3>.getColumnY() [page:Vector3]</h3>
<div>
Returns y column component from this matrix.<br />
Note: this method returns a reference to internal class vector, make copy or clone if you don't use it right away.
</div>
<h3>.getColumnZ() [page:Vector3]</h3>
<div>
Returns z column component from this matrix.<br />
Note: this method returns a reference to internal class vector, make copy or clone if you don't use it right away.
</div>
<h3>.getInverse( [page:Matrix4 m] ) [page:Matrix4]</h3>
<div>
Sets this matrix to inverse of matrix *m*.<br />
Based on [link:http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm].
</div>
<h3>.setRotationFromEuler( [page:Vector3 v], [page:String order] ) [page:Matrix4]</h3>
<div>
v — Rotation vector.
order — The order of rotations. Eg. "XYZ".
</div>
<div>
Sets rotation submatrix of this matrix to rotation specified by Euler angles.<br />
Default order "XYZ".
</div>
<h3>.setRotationFromQuaternion( [page:Quaternion q] ) [page:Matrix4]</h3>
<div>
Sets rotation submatrix of this matrix to rotation specified by *q*.
</div>
<h3>.scale( [page:Vector3 v] ) [page:Matrix4]</h3>
<div>
Multiplies columns of this matrix by vector *v*.
</div>
<h3>.compose( [page:Vector3 translation], [page:Quaternion rotation], [page:Vector3 scale] ) [page:Matrix4]</h3>
<div>
Sets this matrix to transform composed of *translation*, *rotation* and *scale*.
</div>
<h3>.decompose( [page:Vector3 translation], [page:Quaternion rotation], [page:Vector3 scale] ) [page:Array]</h3>
<div>
Decomposes this matrix into *translation*, *rotation* and *scale* components.<br />
If parameters are not supplied, new instances will be created.
</div>
<h3>.extractPosition( [page:Matrix4 m] ) [page:Matrix4]</h3>
<div>
Copies translation component of supplied matrix *m* into this matrix translation.
</div>
<h3>.extractRotation( [page:Matrix4 m] ) [page:Matrix4]</h3>
<div>
Copies rotation component of supplied matrix *m* into this matrix rotation.
</div>
<h3>.rotateByAxis( [page:Vector3 axis], [page:Float angle] ) [page:Matrix4]</h3>
<div>
Rotates this matrix around supplied *axis* by *angle*.
</div>
<h3>.rotateX( [page:Float angle] ) [page:Matrix4]</h3>
<div>
Rotates this matrix around x axis by *angle*.
</div>
<h3>.rotateY( [page:Float angle] ) [page:Matrix4]</h3>
<div>
Rotates this matrix around y axis by *angle*.
</div>
<h3>.rotateZ( [page:Float angle] ) [page:Matrix4]</h3>
<div>
Rotates this matrix around z axis by *angle*.
</div>
<h3>.translate( [page:Vector3 v] ) [page:Matrix4]</h3>
<div>
Translates this matrix by vector *v*.
</div>
<h3>.clone() [page:Matrix4]</h3>
<div>
Clones this matrix.
</div>
<h2>Static methods</h2>
<h3>.makeInvert3x3( [page:Matrix4 m] ) [page:Matrix3]</h3>
<div>
Inverts just rotation submatrix of matrix *m*.<br />
Note: this method returns a reference to internal 3x3 matrix, make copy or clone if you don't use it right away.<br />
Based on [link:http://code.google.com/p/webgl-mjs/].
</div>
<h3>.makeFrustum( [page:Float left], [page:Float right], [page:Float bottom], [page:Float top], [page:Float near], [page:Float far] ) [page:Matrix4]</h3>
<div>
Creates frustum matrix.
</div>
<h3>.makePerspective( [page:Float fov], [page:Float aspect], [page:Float near], [page:Float far] ) [page:Matrix4]</h3>
<div>
Creates perspective projection matrix.
</div>
<h3>.makeOrtho( [page:Float left], [page:Float right], [page:Float bottom], [page:Float top], [page:Float near], [page:Float far] ) [page:Matrix4]</h3>
<div>
Creates orthographic projection matrix.
</div>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
<h3>.copy( [page:Matrix4 m] ) [page:Matrix4]</h3>
<div>
Copies a matrix *m* into this matrix.
</div>
<h3>.lookAt( [page:Vector3 eye], [page:Vector3 center], [page:Vector3 up], ) [page:Matrix4]</h3>
<div>
Constructs a rotation matrix, looking from *eye* towards *center* with defined *up* vector.
</div>
<h3>.multiply( [page:Matrix4 a], [page:Matrix4 b] ) [page:Matrix4]</h3>
<div>
Sets this matrix to *a x b*.
</div>
<h3>.multiplySelf( [page:Matrix4 m] ) [page:Matrix4]</h3>
<div>
Multiplies this matrix by *m*.
</div>
<h3>.multiplyToArray( [page:Matrix4 a], [page:Matrix4 b], [page:Array r] ) [page:Matrix4]</h3>
<div>
Sets this matrix to *a x b* and sets result into flat array *r*.<br />
Destination array can be regular Array or TypedArray.
</div>
<h3>.multiplyScalar( [page:Float s] ) [page:Matrix4]</h3>
<div>
Multiplies this matrix by *s*.
</div>
<h3>.multiplyVector3( [page:Vector3 v] ) [page:Vector3]</h3>
<div>
Applies this matrix to *v*.
</div>
<h3>.multiplyVector4( [page:Vector4 v] ) [page:Vector4]</h3>
<div>
Applies this matrix to *v*.
</div>
<h3>.rotateAxis( [page:Vector3 v] ) [page:Vector3]</h3>
<div>
Applies rotation submatrix of this matrix to vector *v* and then normalizes it.
</div>
<h3>.crossVector( [page:Vector4 a] ) [page:Vector4]</h3>
<h3>.determinant() [page:Float]</h3>
<div>
Computes determinant of this matrix.<br />
Based on [link:http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm]
</div>
<h3>.transpose() [page:Matrix4]</h3>
<div>
Transposes this matrix.
</div>
<h3>.flatten() [page:Array]</h3>
<div>
Flattens this matrix into internal [page:Matrix4 Matrix4.flat] array.
</div>
<h3>.flattenToArray( [page:Array flat] ) [page:Array]</h3>
<div>
Flattens this matrix into supplied *flat* array.
</div>
<h3>.flattenToArrayOffset( [page:Array flat], [page:Integer offset] ) [page:Array]</h3>
<div>
Flattens this matrix into supplied *flat* array starting from *offset* position in the array.
</div>
<h3>.setTranslation( [page:Float x], [page:Float y], [page:Float z] ) [page:Matrix4]</h3>
<div>
Sets this matrix as translation transform.
</div>
<h3>.setScale( [page:Float x], [page:Float y], [page:Float z] ) [page:Matrix4]</h3>
<div>
Sets this matrix as scale transform.
</div>
<h3>.makeRotationX( [page:Float theta] ) [page:Matrix4]</h3>
<div>
theta — Rotation angle in radians.
</div>
<div>
Sets this matrix as rotation transform around x axis by *theta* radians.
</div>
<h3>.makeRotationY( [page:Float theta] ) [page:Matrix4]</h3>
<div>
theta — Rotation angle in radians.
</div>
<div>
Sets this matrix as rotation transform around y axis by *theta* radians.
</div>
<h3>.makeRotationZ( [page:Float theta] ) [page:Matrix4]</h3>
<div>
theta — Rotation angle in radians.
</div>
<div>
Sets this matrix as rotation transform around z axis by *theta* radians.
</div>
<h3>.makeRotationAxis( [page:Vector3 axis], [page:Float theta] ) [page:Matrix4]</h3>
<div>
axis — Rotation axis.
theta — Rotation angle in radians.
</div>
<div>
Sets this matrix as rotation transform around *axis* by *angle* radians.<br />
Based on [link:http://www.gamedev.net/reference/articles/article1199.asp].
</div>
<h3>.setPosition( [page:Vector3 v] ) [page:Matrix4]</h3>
<div>
Sets the position component for this matrix from vector *v*.
</div>
<h3>.getPosition() [page:Vector3]</h3>
<div>
Returns position component from this matrix.<br />
Note: this method returns a reference to internal class vector, make copy or clone if you don't use it right away.
</div>
<h3>.getColumnX() [page:Vector3]</h3>
<div>
Returns x column component from this matrix.<br />
Note: this method returns a reference to internal class vector, make copy or clone if you don't use it right away.
</div>
<h3>.getColumnY() [page:Vector3]</h3>
<div>
Returns y column component from this matrix.<br />
Note: this method returns a reference to internal class vector, make copy or clone if you don't use it right away.
</div>
<h3>.getColumnZ() [page:Vector3]</h3>
<div>
Returns z column component from this matrix.<br />
Note: this method returns a reference to internal class vector, make copy or clone if you don't use it right away.
</div>
<h3>.getInverse( [page:Matrix4 m] ) [page:Matrix4]</h3>
<div>
Sets this matrix to inverse of matrix *m*.<br />
Based on [link:http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm].
</div>
<h3>.setRotationFromEuler( [page:Vector3 v], [page:String order] ) [page:Matrix4]</h3>
<div>
v — Rotation vector.
order — The order of rotations. Eg. "XYZ".
</div>
<div>
Sets rotation submatrix of this matrix to rotation specified by Euler angles.<br />
Default order "XYZ".
</div>
<h3>.setRotationFromQuaternion( [page:Quaternion q] ) [page:Matrix4]</h3>
<div>
Sets rotation submatrix of this matrix to rotation specified by *q*.
</div>
<h3>.scale( [page:Vector3 v] ) [page:Matrix4]</h3>
<div>
Multiplies columns of this matrix by vector *v*.
</div>
<h3>.compose( [page:Vector3 translation], [page:Quaternion rotation], [page:Vector3 scale] ) [page:Matrix4]</h3>
<div>
Sets this matrix to transform composed of *translation*, *rotation* and *scale*.
</div>
<h3>.decompose( [page:Vector3 translation], [page:Quaternion rotation], [page:Vector3 scale] ) [page:Array]</h3>
<div>
Decomposes this matrix into *translation*, *rotation* and *scale* components.<br />
If parameters are not supplied, new instances will be created.
</div>
<h3>.extractPosition( [page:Matrix4 m] ) [page:Matrix4]</h3>
<div>
Copies translation component of supplied matrix *m* into this matrix translation.
</div>
<h3>.extractRotation( [page:Matrix4 m] ) [page:Matrix4]</h3>
<div>
Copies rotation component of supplied matrix *m* into this matrix rotation.
</div>
<h3>.rotateByAxis( [page:Vector3 axis], [page:Float angle] ) [page:Matrix4]</h3>
<div>
Rotates this matrix around supplied *axis* by *angle*.
</div>
<h3>.rotateX( [page:Float angle] ) [page:Matrix4]</h3>
<div>
Rotates this matrix around x axis by *angle*.
</div>
<h3>.rotateY( [page:Float angle] ) [page:Matrix4]</h3>
<div>
Rotates this matrix around y axis by *angle*.
</div>
<h3>.rotateZ( [page:Float angle] ) [page:Matrix4]</h3>
<div>
Rotates this matrix around z axis by *angle*.
</div>
<h3>.translate( [page:Vector3 v] ) [page:Matrix4]</h3>
<div>
Translates this matrix by vector *v*.
</div>
<h3>.clone() [page:Matrix4]</h3>
<div>
Clones this matrix.
</div>
<h2>Static methods</h2>
<h3>.makeInvert3x3( [page:Matrix4 m] ) [page:Matrix3]</h3>
<div>
Inverts just rotation submatrix of matrix *m*.<br />
Note: this method returns a reference to internal 3x3 matrix, make copy or clone if you don't use it right away.<br />
Based on [link:http://code.google.com/p/webgl-mjs/].
</div>
<h3>.makeFrustum( [page:Float left], [page:Float right], [page:Float bottom], [page:Float top], [page:Float near], [page:Float far] ) [page:Matrix4]</h3>
<div>
Creates frustum matrix.
</div>
<h3>.makePerspective( [page:Float fov], [page:Float aspect], [page:Float near], [page:Float far] ) [page:Matrix4]</h3>
<div>
Creates perspective projection matrix.
</div>
<h3>.makeOrtho( [page:Float left], [page:Float right], [page:Float bottom], [page:Float top], [page:Float near], [page:Float far] ) [page:Matrix4]</h3>
<div>
Creates orthographic projection matrix.
</div>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">Base class for scene graph objects</div>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h2>Properties</h2>
<h3>.[page:Integer id]</h3>
<div>
Unique number of this object instance.
</div>
<h3>.[page:String name]</h3>
<div>
Optional name of the object (doesn't have to be unique).
</div>
<div class="desc">Base class for scene graph objects</div>
<h3>.[page:Object3D parent]</h3>
<div>
Object's parent in scene graph.
</div>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h2>Properties</h2>
<h3>.[page:Integer id]</h3>
<div>
Unique number of this object instance.
</div>
<h3>.[page:String name]</h3>
<div>
Optional name of the object (doesn't have to be unique).
</div>
<h3>.[page:Object3D parent]</h3>
<div>
Object's parent in scene graph.
</div>
<h3>.[page:Object3D children]</h3>
<div>
Array with object's children.
</div>
<h3>.[page:Vector3 position]</h3>
<div>
Object's local position.
</div>
<h3>.[page:Vector3 rotation]</h3>
<div>
Object's local rotation (Euler angles).
</div>
<h3>.[page:String eulerOrder]</h3>
<div>
Order of axis for Euler angles.
</div>
<h3>.[page:Vector3 scale]</h3>
<div>
Object's local scale.
</div>
<h3>.[page:Vector3 up]</h3>
<div>
Up direction.
</div>
<h3>.[page:Vector3 matrix]</h3>
<div>
Local transform.
</div>
<h3>.[page:Vector3 matrixRotationWorld]</h3>
<div>
Global rotation.
</div>
<h3>.[page:Quaternion quaternion]</h3>
<div>
Global rotation.
</div>
<h3>.[page:Boolean useQuaternion]</h3>
<div>
Use quaternion instead of Euler angles for specifying local rotation.
</div>
<h3>.[page:Float boundRadius]</h3>
<h3>.[page:Float boundRadiusScale]</h3>
<div>
Maximum scale from x, y, z scale components.
</div>
<h3>.[page:Float renderDepth]</h3>
<div>
Override depth-sorting order if non *null*.
</div>
<h3>.[page:Boolean visible]</h3>
<div>
Object gets rendered if *true*.
</div>
<h3>.[page:Boolean doubleSided]</h3>
<div>
Both sides of faces visible if *true*.
</div>
<h3>.[page:Boolean flipSided]</h3>
<div>
Backside of face visible if *true*.
</div>
<h3>.[page:Boolean castShadow]</h3>
<div>
Gets rendered into shadow map.
</div>
<h3>.[page:Boolean receiveShadow]</h3>
<div>
Material gets baked in shadow receiving.
</div>
<h3>.[page:Boolean frustumCulled]</h3>
<h3>.[page:Boolean matrixAutoUpdate]</h3>
<h3>.[page:Boolean matrixWorldNeedsUpdate]</h3>
<h3>.[page:Boolean rotationAutoUpdate]</h3>
<h2>Methods</h2>
<h3>.translate( [page:Float distance], [page:Vector3 axis] )</h3>
<div>
distance - Distance.<br />
axis - Translation direction.
</div>
<div>
Translates object along arbitrary *axis* by *distance*.
</div>
<h3>.translateX( [page:Float distance] )</h3>
<div>
Translates object along x axis by distance.
</div>
<h3>.translateY( [page:Float distance] )</h3>
<div>
Translates object along y axis by distance.
</div>
<h3>.translateZ( [page:Float distance] )</h3>
<div>
Translates object along z axis by distance.
</div>
<h3>.lookAt( [page:Vector3 vector] )</h3>
<div>
Rotates object to face point in space.
</div>
<h3>.add( [page:Object3D object] )</h3>
<div>
Adds *object* as child of this object.
</div>
<h3>.remove( [page:Object3D object] )</h3>
<div>
Removes *object* as child of this object.
</div>
<h3>.getChildByName( [page:String name], [page:Boolean recursive] )</h3>
<div>
name - Object name.<br />
recursive - Whether check in the objects's children.
</div>
<div>
Gets first child with name matching the argument. Searches whole subgraph recursively if *recursive* is true.
</div>
<h3>.updateMatrix()</h3>
<div>
Updates local transform.
</div>
<h3>.updateMatrixWorld( [page:Boolean force] )</h3>
<div>
Updates global transform of the object and its children.
</div>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
<h3>.[page:Object3D children]</h3>
<div>
Array with object's children.
</div>
<h3>.[page:Vector3 position]</h3>
<div>
Object's local position.
</div>
<h3>.[page:Vector3 rotation]</h3>
<div>
Object's local rotation (Euler angles).
</div>
<h3>.[page:String eulerOrder]</h3>
<div>
Order of axis for Euler angles.
</div>
<h3>.[page:Vector3 scale]</h3>
<div>
Object's local scale.
</div>
<h3>.[page:Vector3 up]</h3>
<div>
Up direction.
</div>
<h3>.[page:Vector3 matrix]</h3>
<div>
Local transform.
</div>
<h3>.[page:Vector3 matrixRotationWorld]</h3>
<div>
Global rotation.
</div>
<h3>.[page:Quaternion quaternion]</h3>
<div>
Global rotation.
</div>
<h3>.[page:Boolean useQuaternion]</h3>
<div>
Use quaternion instead of Euler angles for specifying local rotation.
</div>
<h3>.[page:Float boundRadius]</h3>
<h3>.[page:Float boundRadiusScale]</h3>
<div>
Maximum scale from x, y, z scale components.
</div>
<h3>.[page:Float renderDepth]</h3>
<div>
Override depth-sorting order if non *null*.
</div>
<h3>.[page:Boolean visible]</h3>
<div>
Object gets rendered if *true*.
</div>
<h3>.[page:Boolean doubleSided]</h3>
<div>
Both sides of faces visible if *true*.
</div>
<h3>.[page:Boolean flipSided]</h3>
<div>
Backside of face visible if *true*.
</div>
<h3>.[page:Boolean castShadow]</h3>
<div>
Gets rendered into shadow map.
</div>
<h3>.[page:Boolean receiveShadow]</h3>
<div>
Material gets baked in shadow receiving.
</div>
<h3>.[page:Boolean frustumCulled]</h3>
<h3>.[page:Boolean matrixAutoUpdate]</h3>
<h3>.[page:Boolean matrixWorldNeedsUpdate]</h3>
<h3>.[page:Boolean rotationAutoUpdate]</h3>
<h2>Methods</h2>
<h3>.translate( [page:Float distance], [page:Vector3 axis] )</h3>
<div>
distance - Distance.<br />
axis - Translation direction.
</div>
<div>
Translates object along arbitrary *axis* by *distance*.
</div>
<h3>.translateX( [page:Float distance] )</h3>
<div>
Translates object along x axis by distance.
</div>
<h3>.translateY( [page:Float distance] )</h3>
<div>
Translates object along y axis by distance.
</div>
<h3>.translateZ( [page:Float distance] )</h3>
<div>
Translates object along z axis by distance.
</div>
<h3>.lookAt( [page:Vector3 vector] )</h3>
<div>
Rotates object to face point in space.
</div>
<h3>.add( [page:Object3D object] )</h3>
<div>
Adds *object* as child of this object.
</div>
<h3>.remove( [page:Object3D object] )</h3>
<div>
Removes *object* as child of this object.
</div>
<h3>.getChildByName( [page:String name], [page:Boolean recursive] )</h3>
<div>
name - Object name.<br />
recursive - Whether check in the objects's children.
</div>
<div>
Gets first child with name matching the argument. Searches whole subgraph recursively if *recursive* is true.
</div>
<h3>.updateMatrix()</h3>
<div>
Updates local transform.
</div>
<h3>.updateMatrixWorld( [page:Boolean force] )</h3>
<div>
Updates global transform of the object and its children.
</div>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">Projects points between spaces.</div>
<div class="desc">Projects points between spaces.</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.projectVector( [page:Vector3 vector], [page:Camera camera] ) [page:Vector3]</h3>
<h3>.projectVector( [page:Vector3 vector], [page:Camera camera] ) [page:Vector3]</h3>
<h3>.unprojectVector( [page:Vector3 vector], [page:Camera camera] ) [page:Vector3]</h3>
<h3>.unprojectVector( [page:Vector3 vector], [page:Camera camera] ) [page:Vector3]</h3>
<h3>.pickingRay( [page:Vector3 vector], [page:Camera camera] ) [page:Ray]</h3>
<div>
Translates a 2D point from NDC to a [page:Ray] that can be used for picking.
</div>
<h3>.pickingRay( [page:Vector3 vector], [page:Camera camera] ) [page:Ray]</h3>
<div>
Translates a 2D point from NDC to a [page:Ray] that can be used for picking.
</div>
<h3>.projectGraph( [page:Object3D root], [page:Boolean sort] ) [page:Object]</h3>
<h3>.projectGraph( [page:Object3D root], [page:Boolean sort] ) [page:Object]</h3>
<h3>.projectScene( [page:Scene scene], [page:Camera camera], [page:Boolean sort] ) [page:Object]</h3>
<h3>.projectScene( [page:Scene scene], [page:Camera camera], [page:Boolean sort] ) [page:Object]</h3>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">Implementation of a quaternion</div>
<div class="desc">Implementation of a quaternion</div>
<h2>Example</h2>
<h2>Example</h2>
<code>var q = new THREE.Quaternion();
q.setFromAxisAngle( new THREE.Vector3( 0, 1, 0 ), Math.PI / 2 );
<code>var q = new THREE.Quaternion();
q.setFromAxisAngle( new THREE.Vector3( 0, 1, 0 ), Math.PI / 2 );
var v = new THREE.Vector3( 1, 0, 0 );
q.multiplyVector3( v );
</code>
var v = new THREE.Vector3( 1, 0, 0 );
q.multiplyVector3( v );
</code>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]( [page:Float x], [page:Float y], [page:Float z], [page:Float w] )</h3>
<div>
x - x coordinate<br />
y - y coordinate<br />
z - z coordinate<br />
w - w coordinate
</div>
<h3>[name]( [page:Float x], [page:Float y], [page:Float z], [page:Float w] )</h3>
<div>
x - x coordinate<br />
y - y coordinate<br />
z - z coordinate<br />
w - w coordinate
</div>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Float x]</h3>
<h3>.[page:Float x]</h3>
<h3>.[page:Float y]</h3>
<h3>.[page:Float y]</h3>
<h3>.[page:Float z]</h3>
<h3>.[page:Float z]</h3>
<h3>.[page:Float w]</h3>
<h3>.[page:Float w]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.set( [page:Float x], [page:Float y], [page:Float z], [page:Float w] ) [page:Quaternion]</h3>
<div>
Sets values of this quaternion.
</div>
<h3>.set( [page:Float x], [page:Float y], [page:Float z], [page:Float w] ) [page:Quaternion]</h3>
<div>
Sets values of this quaternion.
</div>
<h3>.copy( [page:Quaternion q] ) [page:Quaternion]</h3>
<div>
Copies values of *q* to this quaternion.
</div>
<h3>.copy( [page:Quaternion q] ) [page:Quaternion]</h3>
<div>
Copies values of *q* to this quaternion.
</div>
<h3>.setFromEuler( [page:Vector3 vector] ) [page:Quaternion]</h3>
<div>
Sets this quaternion from rotation specified by Euler angles.
</div>
<h3>.setFromEuler( [page:Vector3 vector] ) [page:Quaternion]</h3>
<div>
Sets this quaternion from rotation specified by Euler angles.
</div>
<h3>.setFromAxisAngle( [page:Vector3 axis], [page:Float angle] ) [page:Quaternion]</h3>
<div>
Sets this quaternion from rotation specified by axis and angle.<br />
Adapted from [link:http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/index.htm].<br />
*Axis* have to be normalized, *angle* is in radians.
</div>
<h3>.setFromAxisAngle( [page:Vector3 axis], [page:Float angle] ) [page:Quaternion]</h3>
<div>
Sets this quaternion from rotation specified by axis and angle.<br />
Adapted from [link:http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/index.htm].<br />
*Axis* have to be normalized, *angle* is in radians.
</div>
<h3>.setFromRotationMatrix( [page:Matrix4 m] ) [page:Quaternion]</h3>
<div>
Sets this quaternion from rotation component of *m*.
Adapted from [link:http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm].
</div>
<h3>.setFromRotationMatrix( [page:Matrix4 m] ) [page:Quaternion]</h3>
<div>
Sets this quaternion from rotation component of *m*.
Adapted from [link:http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm].
</div>
<h3>.calculateW() [page:Quaternion]</h3>
<div>
Calculates *w* component of this quaternion.
</div>
<h3>.calculateW() [page:Quaternion]</h3>
<div>
Calculates *w* component of this quaternion.
</div>
<h3>.inverse() [page:Quaternion]</h3>
<div>
Inverts this quaternion.
</div>
<h3>.inverse() [page:Quaternion]</h3>
<div>
Inverts this quaternion.
</div>
<h3>.length() [page:Float]</h3>
<div>
Computes length of this quaternion.
</div>
<h3>.length() [page:Float]</h3>
<div>
Computes length of this quaternion.
</div>
<h3>.normalize() [page:Quaternion]</h3>
<div>
Normalizes this quaternion.
</div>
<h3>.normalize() [page:Quaternion]</h3>
<div>
Normalizes this quaternion.
</div>
<h3>.multiply( [page:Quaternion a], [page:Quaternion b] ) [page:Quaternion]</h3>
<div>
Sets this quaternion to *a x b*<br />
Adapted from [link:http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/code/index.htm].
</div>
<h3>.multiply( [page:Quaternion a], [page:Quaternion b] ) [page:Quaternion]</h3>
<div>
Sets this quaternion to *a x b*<br />
Adapted from [link:http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/code/index.htm].
</div>
<h3>.multiplySelf( [page:Quaternion b] ) [page:Quaternion]</h3>
<div>
Multiplies this quaternion by *b*.
</div>
<h3>.multiplySelf( [page:Quaternion b] ) [page:Quaternion]</h3>
<div>
Multiplies this quaternion by *b*.
</div>
<h3>.multiplyVector3( [page:Vector3 vector], [page:Vector3 dest] ) [page:Quaternion]</h3>
<div>
Rotates *vector* by this quaternion into *dest*.<br />
If *dest* is not specified, result goes to *vec*.
</div>
<h3>.multiplyVector3( [page:Vector3 vector], [page:Vector3 dest] ) [page:Quaternion]</h3>
<div>
Rotates *vector* by this quaternion into *dest*.<br />
If *dest* is not specified, result goes to *vec*.
</div>
<h3>.clone() [page:Quaternion]</h3>
<div>
Clones this quaternion.
</div>
<h3>.clone() [page:Quaternion]</h3>
<div>
Clones this quaternion.
</div>
<h2>Static methods</h2>
<h2>Static methods</h2>
<h3>.slerp( [page:Quaternion qa], [page:Quaternion qb], [page:Quaternion qm], [page:Float t] ) [page:Quaternion]</h3>
<div>
Adapted from [link:http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/slerp/].
</div>
<h3>.slerp( [page:Quaternion qa], [page:Quaternion qb], [page:Quaternion qm], [page:Float t] ) [page:Quaternion]</h3>
<div>
Adapted from [link:http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/slerp/].
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">Representation of a ray in space.</div>
<div class="desc">Representation of a ray in space.</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 origin]</h3>
<h3>.[page:Vector3 origin]</h3>
<h3>.[page:Vector3 direction]</h3>
<h3>.[page:Vector3 direction]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.setPrecision( [page:Float value] )</h3>
<h3>.setPrecision( [page:Float value] )</h3>
<h3>.intersectObject( [page:Object3D object] ) [page:Object]</h3>
<h3>.intersectObject( [page:Object3D object] ) [page:Object]</h3>
<h3>.intersectObjects( [page:Array objects] ) [page:Array]</h3>
<h3>.intersectObjects( [page:Array objects] ) [page:Array]</h3>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">
Mainly used internaly by [page:CanvasRenderer] for 2D clipping.
</div>
<div class="desc">
Mainly used internaly by [page:CanvasRenderer] for 2D clipping.
</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.getX() [page:Float]</h3>
<h3>.getX() [page:Float]</h3>
<h3>.getY() [page:Float]</h3>
<h3>.getY() [page:Float]</h3>
<h3>.getWidth() [page:Float]</h3>
<h3>.getWidth() [page:Float]</h3>
<h3>.getHeight() [page:Float]</h3>
<h3>.getHeight() [page:Float]</h3>
<h3>.getLeft() [page:Float]</h3>
<h3>.getLeft() [page:Float]</h3>
<h3>.getTop() [page:Float]</h3>
<h3>.getTop() [page:Float]</h3>
<h3>.getRight() [page:Float]</h3>
<h3>.getRight() [page:Float]</h3>
<h3>.getBottom() [page:Float]</h3>
<h3>.getBottom() [page:Float]</h3>
<h3>.set( [page:Float left], [page:Float top], [page:Float right], [page:Float bottom] )</h3>
<h3>.set( [page:Float left], [page:Float top], [page:Float right], [page:Float bottom] )</h3>
<h3>.addPoint( [page:Float x], [page:Float y] )</h3>
<h3>.addPoint( [page:Float x], [page:Float y] )</h3>
<h3>.add3Points( [page:Float x1], [page:Float y1], [page:Float x2], [page:Float y2], [page:Float x3], [page:Float y3] )</h3>
<h3>.add3Points( [page:Float x1], [page:Float y1], [page:Float x2], [page:Float y2], [page:Float x3], [page:Float y3] )</h3>
<h3>.addRectangle( [page:Rectangle r] )</h3>
<h3>.addRectangle( [page:Rectangle r] )</h3>
<h3>.inflate( [page:Float v] )</h3>
<h3>.inflate( [page:Float v] )</h3>
<h3>.minSelf( [page:Rectangle r] )</h3>
<h3>.minSelf( [page:Rectangle r] )</h3>
<h3>.intersects( [page:Rectangle r] ) [page:Boolean]</h3>
<div>
Adapted from [link:http://gamemath.com/2011/09/detecting-whether-two-boxes-overlap/].
</div>
<h3>.intersects( [page:Rectangle r] ) [page:Boolean]</h3>
<div>
Adapted from [link:http://gamemath.com/2011/09/detecting-whether-two-boxes-overlap/].
</div>
<h3>.empty()</h3>
<h3>.empty()</h3>
<h3>.isEmpty() [page:Boolean]</h3>
<h3>.isEmpty() [page:Boolean]</h3>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">Represents a spline.</div>
<div class="desc">Represents a spline.</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">A texture coordinate.</div>
<div class="desc">A texture coordinate.</div>
<h2>Example</h2>
<h2>Example</h2>
<code>var uv = new THREE.UV( 0, 1 );</code>
<code>var uv = new THREE.UV( 0, 1 );</code>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]( [page:Float u], [page:Float v] )</h3>
<div>
u — Horizontal coordinate.<br />
v — Vertical coordinate.<br />
</div>
<h3>[name]( [page:Float u], [page:Float v] )</h3>
<div>
u — Horizontal coordinate.<br />
v — Vertical coordinate.<br />
</div>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Float u]</h3>
<div>
Horizontal coordinate.<br />
</div>
<h3>.[page:Float u]</h3>
<div>
Horizontal coordinate.<br />
</div>
<h3>.[page:Float v]</h3>
<div>
Vertical coordinate.<br />
</div>
<h3>.[page:Float v]</h3>
<div>
Vertical coordinate.<br />
</div>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.set( [page:Float u], [page:Float v] )</h3>
<h3>.set( [page:Float u], [page:Float v] )</h3>
<h3>.copy( [page:UV uv] )</h3>
<h3>.copy( [page:UV uv] )</h3>
<h3>.clone() [page:UV]</h3>
<h3>.clone() [page:UV]</h3>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">2D Vector.</div>
<div class="desc">2D Vector.</div>
<h2>Example</h2>
<h2>Example</h2>
<code>var a = new THREE.Vector2( 0, 1 );
var b = new THREE.Vector2( 1, 0 );
<code>var a = new THREE.Vector2( 0, 1 );
var b = new THREE.Vector2( 1, 0 );
var d = a.distanceTo( b );
</code>
var d = a.distanceTo( b );
</code>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]( [page:Float x], [page:Float y] )</h3>
<h3>[name]( [page:Float x], [page:Float y] )</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Float x]</h3>
<h3>.[page:Float x]</h3>
<h3>.[page:Float y]</h3>
<h3>.[page:Float y]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.set( [page:Float x], [page:Float y] ) [page:Vector2]</h3>
<div>
Sets value of this vector.
</div>
<h3>.set( [page:Float x], [page:Float y] ) [page:Vector2]</h3>
<div>
Sets value of this vector.
</div>
<h3>.copy( [page:Vector2 v] ) [page:Vector2]</h3>
<div>
Copies value of *v* to this vector.
</div>
<h3>.copy( [page:Vector2 v] ) [page:Vector2]</h3>
<div>
Copies value of *v* to this vector.
</div>
<h3>.add( [page:Vector2 a], [page:Vector2 b] ) [page:Vector2]</h3>
<div>
Sets this vector to *a + b*.
</div>
<h3>.add( [page:Vector2 a], [page:Vector2 b] ) [page:Vector2]</h3>
<div>
Sets this vector to *a + b*.
</div>
<h3>.addSelf( [page:Vector2 v] ) [page:Vector2]</h3>
<div>
Adds *v* to this vector.
</div>
<h3>.addSelf( [page:Vector2 v] ) [page:Vector2]</h3>
<div>
Adds *v* to this vector.
</div>
<h3>.sub( [page:Vector2 a], [page:Vector2 b] ) [page:Vector2]</h3>
<div>
Sets this vector to *a - b*.
</div>
<h3>.sub( [page:Vector2 a], [page:Vector2 b] ) [page:Vector2]</h3>
<div>
Sets this vector to *a - b*.
</div>
<h3>.subSelf( [page:Vector2 v] ) [page:Vector2]</h3>
<div>
Subtracts *v* from this vector.
</div>
<h3>.subSelf( [page:Vector2 v] ) [page:Vector2]</h3>
<div>
Subtracts *v* from this vector.
</div>
<h3>.multiplyScalar( [page:Float s] ) [page:Vector2]</h3>
<div>
Multiplies this vector by scalar *s*.
</div>
<h3>.multiplyScalar( [page:Float s] ) [page:Vector2]</h3>
<div>
Multiplies this vector by scalar *s*.
</div>
<h3>.divideScalar( [page:Float s] ) [page:Vector2]</h3>
<div>
Divides this vector by scalar *s*.<br />
Set vector to *( 0, 0 )* if *s == 0*.
</div>
<h3>.divideScalar( [page:Float s] ) [page:Vector2]</h3>
<div>
Divides this vector by scalar *s*.<br />
Set vector to *( 0, 0 )* if *s == 0*.
</div>
<h3>.negate() [page:Vector2]</h3>
<div>
Inverts this vector.
</div>
<h3>.negate() [page:Vector2]</h3>
<div>
Inverts this vector.
</div>
<h3>.dot( [page:Vector2 v] ) [page:Float]</h3>
<div>
Computes dot product of this vector and *v*.
</div>
<h3>.dot( [page:Vector2 v] ) [page:Float]</h3>
<div>
Computes dot product of this vector and *v*.
</div>
<h3>.lengthSq() [page:Float]</h3>
<div>
Computes squared length of this vector.
</div>
<h3>.lengthSq() [page:Float]</h3>
<div>
Computes squared length of this vector.
</div>
<h3>.length() [page:Float]</h3>
<div>
Computes length of this vector.
</div>
<h3>.length() [page:Float]</h3>
<div>
Computes length of this vector.
</div>
<h3>.normalize() [page:Vector2]</h3>
<div>
Normalizes this vector.
</div>
<h3>.normalize() [page:Vector2]</h3>
<div>
Normalizes this vector.
</div>
<h3>.distanceTo( [page:Vector2 v] ) [page:Float]</h3>
<div>
Computes distance of this vector to *v*.
</div>
<h3>.distanceTo( [page:Vector2 v] ) [page:Float]</h3>
<div>
Computes distance of this vector to *v*.
</div>
<h3>.distanceToSquared( [page:Vector2 v] ) [page:Float]</h3>
<div>
Computes squared distance of this vector to *v*.
</div>
<h3>.distanceToSquared( [page:Vector2 v] ) [page:Float]</h3>
<div>
Computes squared distance of this vector to *v*.
</div>
<h3>.setLength( [page:Float l] ) [page:Vector2]</h3>
<div>
Normalizes this vector and multiplies it by *l*.
</div>
<h3>.setLength( [page:Float l] ) [page:Vector2]</h3>
<div>
Normalizes this vector and multiplies it by *l*.
</div>
<h3>.equals( [page:Vector2 v] ) [page:Vector2]</h3>
<div>
Checks for strict equality of this vector and *v*.
</div>
<h3>.equals( [page:Vector2 v] ) [page:Vector2]</h3>
<div>
Checks for strict equality of this vector and *v*.
</div>
<h3>.isZero() [page:Boolean]</h3>
<div>
Checks if length of this vector is within small epsilon (*0.0001*).
</div>
<h3>.clone() [page:Vector2]</h3>
<div>
Clones this vector.
</div>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
<h3>.isZero() [page:Boolean]</h3>
<div>
Checks if length of this vector is within small epsilon (*0.0001*).
</div>
<h3>.clone() [page:Vector2]</h3>
<div>
Clones this vector.
</div>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">3D vector.</div>
<div class="desc">3D vector.</div>
<h2>Example</h2>
<h2>Example</h2>
<code>var a = new THREE.Vector3( 1, 0, 0 );
var b = new THREE.Vector3( 0, 1, 0 );
<code>var a = new THREE.Vector3( 1, 0, 0 );
var b = new THREE.Vector3( 0, 1, 0 );
var c = new THREE.Vector3();
c.cross( a, b );
</code>
var c = new THREE.Vector3();
c.cross( a, b );
</code>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]( [page:Float x], [page:Float y], [page:Float z] )</h3>
<h3>[name]( [page:Float x], [page:Float y], [page:Float z] )</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Float x]</h3>
<h3>.[page:Float x]</h3>
<h3>.[page:Float y]</h3>
<h3>.[page:Float y]</h3>
<h3>.[page:Float z]</h3>
<h3>.[page:Float z]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.set( [page:Float x], [page:Float y], [page:Float z] ) [page:Vector3]</h3>
<div>
Sets value of this vector.
</div>
<h3>.set( [page:Float x], [page:Float y], [page:Float z] ) [page:Vector3]</h3>
<div>
Sets value of this vector.
</div>
<h3>.setX( [page:Float x] ) [page:Vector3]</h3>
<div>
Sets x value of this vector.
</div>
<h3>.setX( [page:Float x] ) [page:Vector3]</h3>
<div>
Sets x value of this vector.
</div>
<h3>.setY( [page:Float y] ) [page:Vector3]</h3>
<div>
Sets y value of this vector.
</div>
<h3>.setY( [page:Float y] ) [page:Vector3]</h3>
<div>
Sets y value of this vector.
</div>
<h3>.setZ( [page:Float z] ) [page:Vector3]</h3>
<div>
Sets z value of this vector.
</div>
<h3>.setZ( [page:Float z] ) [page:Vector3]</h3>
<div>
Sets z value of this vector.
</div>
<h3>.copy( [page:Vector3 v] ) [page:Vector3]</h3>
<div>
Copies value of *v* to this vector.
</div>
<h3>.add( [page:Vector3 a], [page:Vector3 b] ) [page:Vector3]</h3>
<div>
Sets this vector to *a + b*.
</div>
<h3>.addSelf( [page:Vector3 v] ) [page:Vector3]</h3>
<div>
Adds *v* to this vector.
</div>
<h3>.sub( [page:Vector3 a], [page:Vector3 b] ) [page:Vector3]</h3>
<div>
Sets this vector to *a - b*.
</div>
<h3>.subSelf( [page:Vector3 v] ) [page:Vector3]</h3>
<div>
Subtracts *v* from this vector.
</div>
<h3>.multiplyScalar( [page:Float s] ) [page:Vector3]</h3>
<div>
Multiplies this vector by scalar *s*.
</div>
<h3>.copy( [page:Vector3 v] ) [page:Vector3]</h3>
<div>
Copies value of *v* to this vector.
</div>
<h3>.divideScalar( [page:Float s] ) [page:Vector3]</h3>
<div>
Divides this vector by scalar *s*.<br />
Set vector to *( 0, 0, 0 )* if *s == 0*.
</div>
<h3>.negate() [page:Vector3]</h3>
<div>
Inverts this vector.
</div>
<h3>.dot( [page:Vector3 v] ) [page:Float]</h3>
<div>
Computes dot product of this vector and *v*.
</div>
<h3>.add( [page:Vector3 a], [page:Vector3 b] ) [page:Vector3]</h3>
<div>
Sets this vector to *a + b*.
</div>
<h3>.lengthSq() [page:Float]</h3>
<div>
Computes squared length of this vector.
</div>
<h3>.addSelf( [page:Vector3 v] ) [page:Vector3]</h3>
<div>
Adds *v* to this vector.
</div>
<h3>.length() [page:Float]</h3>
<div>
Computes length of this vector.
</div>
<h3>.sub( [page:Vector3 a], [page:Vector3 b] ) [page:Vector3]</h3>
<div>
Sets this vector to *a - b*.
</div>
<h3>.subSelf( [page:Vector3 v] ) [page:Vector3]</h3>
<div>
Subtracts *v* from this vector.
</div>
<h3>.multiplyScalar( [page:Float s] ) [page:Vector3]</h3>
<div>
Multiplies this vector by scalar *s*.
</div>
<h3>.divideScalar( [page:Float s] ) [page:Vector3]</h3>
<div>
Divides this vector by scalar *s*.<br />
Set vector to *( 0, 0, 0 )* if *s == 0*.
</div>
<h3>.negate() [page:Vector3]</h3>
<div>
Inverts this vector.
</div>
<h3>.dot( [page:Vector3 v] ) [page:Float]</h3>
<div>
Computes dot product of this vector and *v*.
</div>
<h3>.lengthSq() [page:Float]</h3>
<div>
Computes squared length of this vector.
</div>
<h3>.length() [page:Float]</h3>
<div>
Computes length of this vector.
</div>
<h3>.lengthManhattan() [page:Float]</h3>
<div>
Computes Manhattan length of this vector.<br />
[link:http://en.wikipedia.org/wiki/Taxicab_geometry]
</div>
<h3>.normalize() [page:Vector3]</h3>
<div>
Normalizes this vector.
</div>
<h3>.distanceTo( [page:Vector3 v] ) [page:Vector3]</h3>
<div>
Computes distance of this vector to *v*.
</div>
<h3>.distanceToSquared( [page:Vector3 v] ) [page:Vector3]</h3>
<div>
Computes squared distance of this vector to *v*.
</div>
<h3>.normalize() [page:Vector3]</h3>
<div>
Normalizes this vector.
</div>
<h3>.setLength( [page:Float l] ) [page:Vector3]</h3>
<div>
Normalizes this vector and multiplies it by *l*.
</div>
<h3>.cross( [page:Vector3 a], [page:Vector3 b] ) [page:Vector3]</h3>
<div>
Sets this vector to cross product of *a* and *b*.
</div>
<h3>.crossSelf( [page:Vector3 v] ) [page:Vector3]</h3>
<div>
Sets this vector to cross product of itself and *v*.
</div>
<h3>.getPositionFromMatrix( [page:Matrix4 m] ) [page:Vector3]</h3>
<div>
Sets this vector extracting position from matrix transform.
</div>
<h3>.getRotationFromMatrix( [page:Matrix4 m] ) [page:Vector3]</h3>
<div>
Sets this vector extracting Euler angles rotation from matrix transform.
</div>
<h3>.getScaleFromMatrix( [page:Matrix4 m] ) [page:Vector3]</h3>
<div>
Sets this vector extracting scale from matrix transform.
</div>
<h3>.equals( [page:Vector3 v] ) [page:Vector3]</h3>
<div>
Checks for strict equality of this vector and *v*.
</div>
<h3>.isZero() [page:Boolean]</h3>
<div>
Checks if length of this vector is within small epsilon (*0.0001*).
</div>
<h3>.clone() [page:Vector3]</h3>
<div>
Clones this vector.
</div>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
<h3>.lengthManhattan() [page:Float]</h3>
<div>
Computes Manhattan length of this vector.<br />
[link:http://en.wikipedia.org/wiki/Taxicab_geometry]
</div>
<h3>.normalize() [page:Vector3]</h3>
<div>
Normalizes this vector.
</div>
<h3>.distanceTo( [page:Vector3 v] ) [page:Vector3]</h3>
<div>
Computes distance of this vector to *v*.
</div>
<h3>.distanceToSquared( [page:Vector3 v] ) [page:Vector3]</h3>
<div>
Computes squared distance of this vector to *v*.
</div>
<h3>.normalize() [page:Vector3]</h3>
<div>
Normalizes this vector.
</div>
<h3>.setLength( [page:Float l] ) [page:Vector3]</h3>
<div>
Normalizes this vector and multiplies it by *l*.
</div>
<h3>.cross( [page:Vector3 a], [page:Vector3 b] ) [page:Vector3]</h3>
<div>
Sets this vector to cross product of *a* and *b*.
</div>
<h3>.crossSelf( [page:Vector3 v] ) [page:Vector3]</h3>
<div>
Sets this vector to cross product of itself and *v*.
</div>
<h3>.getPositionFromMatrix( [page:Matrix4 m] ) [page:Vector3]</h3>
<div>
Sets this vector extracting position from matrix transform.
</div>
<h3>.getRotationFromMatrix( [page:Matrix4 m] ) [page:Vector3]</h3>
<div>
Sets this vector extracting Euler angles rotation from matrix transform.
</div>
<h3>.getScaleFromMatrix( [page:Matrix4 m] ) [page:Vector3]</h3>
<div>
Sets this vector extracting scale from matrix transform.
</div>
<h3>.equals( [page:Vector3 v] ) [page:Vector3]</h3>
<div>
Checks for strict equality of this vector and *v*.
</div>
<h3>.isZero() [page:Boolean]</h3>
<div>
Checks if length of this vector is within small epsilon (*0.0001*).
</div>
<h3>.clone() [page:Vector3]</h3>
<div>
Clones this vector.
</div>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">4D vector.</div>
<div class="desc">4D vector.</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]( [page:Float x], [page:Float y], [page:Float z], [page:Float w] )</h3>
<h3>[name]( [page:Float x], [page:Float y], [page:Float z], [page:Float w] )</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Float x]</h3>
<h3>.[page:Float x]</h3>
<h3>.[page:Float y]</h3>
<h3>.[page:Float y]</h3>
<h3>.[page:Float z]</h3>
<h3>.[page:Float z]</h3>
<h3>.[page:Float w]</h3>
<h3>.[page:Float w]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.set( [page:Float x], [page:Float y], [page:Float z], [page:Float w] ) [page:Vector4]</h3>
<div>
Sets value of this vector.
</div>
<h3>.set( [page:Float x], [page:Float y], [page:Float z], [page:Float w] ) [page:Vector4]</h3>
<div>
Sets value of this vector.
</div>
<h3>.copy( [page:Vector4 v] ) [page:Vector4]</h3>
<div>
Copies value of *v* to this vector.
</div>
<h3>.copy( [page:Vector4 v] ) [page:Vector4]</h3>
<div>
Copies value of *v* to this vector.
</div>
<h3>.add( [page:Vector4 a], [page:Vector4 b] ) [page:Vector4]</h3>
<div>
Sets this vector to *a + b*.
</div>
<h3>.add( [page:Vector4 a], [page:Vector4 b] ) [page:Vector4]</h3>
<div>
Sets this vector to *a + b*.
</div>
<h3>.addSelf( [page:Vector4 v] ) [page:Vector4]</h3>
<div>
Adds *v* to this vector.
</div>
<h3>.addSelf( [page:Vector4 v] ) [page:Vector4]</h3>
<div>
Adds *v* to this vector.
</div>
<h3>.sub( [page:Vector4 a], [page:Vector4 b] ) [page:Vector4]</h3>
<div>
Sets this vector to *a - b*.
</div>
<h3>.sub( [page:Vector4 a], [page:Vector4 b] ) [page:Vector4]</h3>
<div>
Sets this vector to *a - b*.
</div>
<h3>.subSelf( [page:Vector4 v] ) [page:Vector4]</h3>
<div>
Subtracts *v* from this vector.
</div>
<h3>.subSelf( [page:Vector4 v] ) [page:Vector4]</h3>
<div>
Subtracts *v* from this vector.
</div>
<h3>.multiplyScalar( [page:Float s] ) [page:Vector4]</h3>
<div>
Multiplies this vector by scalar *s*.
</div>
<h3>.multiplyScalar( [page:Float s] ) [page:Vector4]</h3>
<div>
Multiplies this vector by scalar *s*.
</div>
<h3>.divideScalar( [page:Float s] ) [page:Vector4]</h3>
<div>
Divides this vector by scalar *s*.<br />
Set vector to *( 0, 0, 0 )* if *s == 0*.
</div>
<h3>.divideScalar( [page:Float s] ) [page:Vector4]</h3>
<div>
Divides this vector by scalar *s*.<br />
Set vector to *( 0, 0, 0 )* if *s == 0*.
</div>
<h3>.negate() [page:Vector4]</h3>
<div>
Inverts this vector.
</div>
<h3>.negate() [page:Vector4]</h3>
<div>
Inverts this vector.
</div>
<h3>.dot( [page:Vector4 v] ) [page:Float]</h3>
<div>
Computes dot product of this vector and *v*.
</div>
<h3>.dot( [page:Vector4 v] ) [page:Float]</h3>
<div>
Computes dot product of this vector and *v*.
</div>
<h3>.lengthSq() [page:Float]</h3>
<div>
Computes squared length of this vector.
</div>
<h3>.lengthSq() [page:Float]</h3>
<div>
Computes squared length of this vector.
</div>
<h3>.length() [page:Float]</h3>
<div>
Computes length of this vector.
</div>
<h3>.length() [page:Float]</h3>
<div>
Computes length of this vector.
</div>
<h3>.normalize() [page:Vector4]</h3>
<div>
Normalizes this vector.
</div>
<h3>.normalize() [page:Vector4]</h3>
<div>
Normalizes this vector.
</div>
<h3>.setLength( [page:Float l] ) [page:Vector4]</h3>
<div>
Normalizes this vector and multiplies it by *l*.
</div>
<h3>.setLength( [page:Float l] ) [page:Vector4]</h3>
<div>
Normalizes this vector and multiplies it by *l*.
</div>
<h3>.lerpSelf( [page:Vector4 v], [page:Float alpha] ) [page:Vector4]</h3>
<div>
Linearly interpolate between this vector and *v* with *alpha* factor.
</div>
<h3>.lerpSelf( [page:Vector4 v], [page:Float alpha] ) [page:Vector4]</h3>
<div>
Linearly interpolate between this vector and *v* with *alpha* factor.
</div>
<h3>.clone() [page:Vector4]</h3>
<div>
Clones this vector.
</div>
<h3>.clone() [page:Vector4]</h3>
<div>
Clones this vector.
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../list.js"></script>
<script src="../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../../list.js"></script>
<script src="../../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../../list.js"></script>
<script src="../../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../../list.js"></script>
<script src="../../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../../list.js"></script>
<script src="../../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../../list.js"></script>
<script src="../../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../../list.js"></script>
<script src="../../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../../list.js"></script>
<script src="../../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../../list.js"></script>
<script src="../../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../../list.js"></script>
<script src="../../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../../list.js"></script>
<script src="../../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../../list.js"></script>
<script src="../../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../../list.js"></script>
<script src="../../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../../list.js"></script>
<script src="../../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../../list.js"></script>
<script src="../../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
<h1>[name]</h1>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="../../../list.js"></script>
<script src="../../../page.js"></script>
<link type="text/css" rel="stylesheet" href="../../../page.css" />
</head>
<body>
<h1>[name]</h1>
<div class="desc">todo</div>
<div class="desc">todo</div>
<h2>Constructor</h2>
<h2>Constructor</h2>
<h3>[name]()</h3>
<h3>[name]()</h3>
<h2>Properties</h2>
<h2>Properties</h2>
<h3>.[page:Vector3 todo]</h3>
<h3>.[page:Vector3 todo]</h3>
<h2>Methods</h2>
<h2>Methods</h2>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h3>.todo( [page:Vector3 todo] )</h3>
<div>
todo — todo<br />
</div>
<h2>Source</h2>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
\ No newline at end of file
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册