# CurveEntity
查阅Cesium API

#### new mars3d.graphic.CurveEntity(options)
graphic/entity/CurveEntity.js 8

曲线 (内置turf.bezierSpline算法，不支持高度，如需支持需要改动turf的高度值插值曲线)

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | object | 参数对象，包括以下：
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`positions` | Array.<LngLatPoint> | Array.<Cesium.Cartesian3> | Cesium.PositionProperty | Array |  | 坐标位置
`style` | PolylineEntity.StyleOptions |  | 样式信息 // * @param {number} [options.style.sharpness=0.8] 曲线的弯曲程度
`attr` | object | BaseGraphic.AjaxAttr |  | 可选 附件的属性信息，可以任意附加属性，导出geojson或json时会自动处理导出。
`getShowPositions` | function |  | 可选 自定义计算曲线点回调方法，可以在方法内自定义计算算法。
`availability` | Cesium.TimeIntervalCollection | Cesium.TimeInterval | Array | object |  | 可选 指定时间范围内显示该对象
`description` | Cesium.Property | string |  | 可选 指定此实体的HTML描述的字符串属性（infoBox中展示）。
`viewFrom` | Cesium.Property |  | 可选 观察这个物体时建议的初始偏移量。
`parent` | Cesium.Entity |  | 可选 要与此实体关联的父实体。
`onBeforeCreate` | function |  | 可选 在 new Cesium.Entity(addattr) 前的回调方法，可以对addattr做额外个性化处理。
`minPointNum` | number | `2` | 可选 绘制时，至少需要点的个数
`maxPointNum` | number | `9999` | 可选 绘制时，最多允许点的个数
`updateDrawPosition` | function |  | 可选 绘制时，外部自定义更新坐标,可以自定义处理特殊业务返回修改后的新坐标。
`validDrawPosition` | function |  | 可选 绘制时，外部自定义校验坐标,比如判断限定在指定区域内绘制。
`hasEdit` | boolean | `true` | 可选 是否允许编辑
`hasEditContextMenu` | boolean | `true` | 可选 编辑时，是否绑定右键编辑菜单
`hasEditRevoke` | boolean | `true` | 可选 编辑时，是否记录编辑步骤中坐标记录，用于还原或撤销编辑
`hasMoveEdit` | boolean | `true` | 可选 编辑时，是否可以整体平移
`hasMidPoint` | boolean | `true` | 可选 编辑时，是否可以增加中间点
`hasHeightEdit` | boolean | `true` | 可选 编辑时，当有diffHeight时，是否可以编辑高度
`popup` | string | Array | function |  | 可选 绑定的popup弹窗值，也可以bindPopup方法绑定
`popupOptions` | Popup.StyleOptions |  | 可选 popup弹窗时的配置参数，也支持如pointerEvents等`Popup`构造参数
`tooltip` | string | Array | function |  | 可选 绑定的tooltip弹窗值，也可以bindTooltip方法绑
`tooltipOptions` | Tooltip.StyleOptions |  | 可选 tooltip弹窗时的配置参数，也支持如pointerEvents等`Tooltip`构造参数
`contextmenuItems` | object |  | 可选 当矢量数据支持右键菜单时，也可以bindContextMenu方法绑定
`id` | string | number | `createGuid()` | 可选 矢量数据id标识
`name` | string |  | 可选 矢量数据名称
`show` | boolean | `true` | 可选 矢量数据是否显示
`eventParent` | BaseClass | boolean |  | 可选 指定的事件冒泡对象，默认为所加入的图层对象，false时不冒泡事件
`allowDrillPick` | boolean | function |  | 可选 是否允许鼠标穿透拾取
`flyTo` | boolean |  | 可选 加载完成数据后是否自动飞行定位到数据所在的区域。
`flyToOptions` | object |  | 可选 加载完成数据后是否自动飞行定位到数据所在的区域的对应 `BaseGraphic#flyTo`方法参数。

##### 参考:

- `支持的事件类型`

### 继承自

- PolylineEntity

### 属性值

#### 只读 entityGraphic : Cesium.PolylineGraphics
graphic/entity/PolylineEntity.js 118

矢量数据对应的 Cesium内部对象的具体类型对象

继承自:
  - PolylineEntity#entityGraphic

### 方法

#### startSnakeAnimation(options) → void
graphic/entity/PolylineEntity.js 285

开始播放 流动生长(贪吃蛇)动画

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | object | 参数
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`delay` | number | `0` | 可选 延迟多少秒后执行(秒) , 延迟期间不显示
`duration` | number | `8` | 可选 总时长(秒)
`autoStop` | boolean |  | 可选 完成后自动调用
`callback` | function |  | 可选 完成后回调stopSnakeAnimation

##### 返回值:

无

继承自:
  - PolylineEntity#startSnakeAnimation

#### stopSnakeAnimation() → void
graphic/entity/PolylineEntity.js 364

停止 流动生长(贪吃蛇)动画

##### 返回值:

无

继承自:
  - PolylineEntity#stopSnakeAnimation