[page:Object3D] →

# 线（[name]）

一条连续的线。
它几乎和[page:LineSegments]是一样的，唯一的区别是它在渲染时使用的是[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/drawElements gl.LINE_STRIP]， 而不是[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/drawElements gl.LINES]。

## 示例

`var material = new THREE.LineBasicMaterial({ color: 0x0000ff }); var geometry = new THREE.Geometry(); geometry.vertices.push( new THREE.Vector3( -10, 0, 0 ), new THREE.Vector3( 0, 10, 0 ), new THREE.Vector3( 10, 0, 0 ) ); var line = new THREE.Line( geometry, material ); scene.add( line );`

## 构造器

### [name]( [param:Geometry geometry], [param:Material material] )

[page:Geometry geometry] —— 表示线段的顶点，默认值是一个新的[page:BufferGeometry]。
[page:Material material] —— 线的材质，默认值是一个新的具有随机颜色的[page:LineBasicMaterial]。

如果没有指定材质，一个随机颜色的线的材质将会被创建，并应用到该物体上。

## 属性

共有属性请参见其基类[page:Object3D]。

### [property:Boolean isLine]

用于检查这个类或者其派生类是否为线，默认值为*true*。
你不应当对这个属性进行改变，因为它在内部使用，以用于优化。

### [property:Geometry geometry]

表示线段的顶点。

### [property:Material material]

线的材质。

## 方法

共有方法请参见其基类 [page:Object3D]。

### [method:Line computeLineDistances]()

计算[page:LineDashedMaterial]所需的距离的值的数组。 对于几何体中的每一个顶点，这个方法计算出了当前点到线的起始点的累积长度。

### [method:null raycast]( [param:Raycaster raycaster], [param:Array intersects] )

在一条投射出去的[page:Ray]（射线）和这条线之间产生交互。 [page:Raycaster.intersectObject]将会调用这个方法。

### [method:Line clone]()

返回这条线及其子集的一个克隆对象。

## 源代码

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]