---
title: curve-class-reference.md
tags: mewa-programming-reference
description: Mewa Programming Reference
---
## Curve class reference
Curves should be added to the curve editor only after they have been populated.
```javascript
curve1 = Curve( "MyCurve", [0.4, 0.3, 0.8], [0, 0] );
curve1.addPoint( [3, 0] );
curveEditor().addCurve(curve1);
```
Only after a curve is added to the curve editor the curve becomes visible in the curve editor.
Note that Curve and [curve](https://hackmd.io/akGwvXj5QHSWS4m-6K8ggg#curve-name-) are different functions.
### Contructors
* **Curve( *name*, *color*, *pos*, *leftCotrol*, *rightControl* )**
Example:
```javascript
Curve( "MyCurve", [0.4, 0.3, 0.8], [0, 0] );
```
The *name* argument is the name shown in the curve editor [curve list view](https://hackmd.io/0yBKMK5MR4aTHe4IfGDqAw#The-Curve-Editor-window).
The *color* argument is an array containing the RGB values in the 0 to 1 scale.
The argument *pos* is an array of size 2 containing the frame number and its value.
*leftCotrol* and *rightControl* are optional inputs, with the default value of [0,0]. They are the poisitions of the cubic bezier control points, whenever bezier interpolation is set. Their values are in the range of 0 and 0.5, which is the percentage relative to the previous/next point.
### Methods
#### addPoint( name, color, pos )
Example:
```javascript
curve1 = curveEditor().addCurve( "MyRedCurve", [1.0, 0.0, 0.0], [0, 0] );
// add point at frame 12
curve1.addPoint( [12, 0] );
```