You can create CurveControls in scripted rollouts by using the following syntax:
CurveControl <name> [<caption>] \ [visible:<boolean>] [numCurves:<integer>] \ [x_range:<point2> ] [y_range:<point2>] \ [x_value:<float> ] \ [zoomValues:<point2>] [scrollValues:<point2>] \ [displayModes:<bitarray>] \ [commandMode:<#move_xy | #move_x | #move_y | #scale | #corner | #bezier] \ [uiFlags:<array_of_ui_flags> ] \ [rcmFlags:<array_of_rcm_flags>] [asPopup:<boolean>]
Any combination of the following flags:
#drawBG - Specifies to draw the white background in the graph window. #drawgrid - Specifies to draw the grid lines and coordinates in the graph window. #upperToolbar - Specifies to draw the upper toolbar above the control. #showReset - Specifies to display the Reset button in the upper toolbar. #lowerToolbar - Specifies to draw the lower toolbar beneath the control. #scrollBars - Specifies to draw the horizontal and vertical scroll bars for the control. #autoScroll - Specifies to do auto scrolling. Auto scroll happens when you drag a CurvePoint out of the currently visible range. In case you're zoomed in, the window will automatically scroll. #ruler - Specifies to draw a small moveable ruler window (measures horizontal coordinates). #constrainY - Specifies that no points (or handles) can be moved out of the value that is set bySetYRange(). #hideDisabled - Specifies that disabled curves won't be displayed at all. #all - All the listed uiFlags are on except #singleSelect, #noFilterButtons, and #xvalue #xvalue - Specifies to draw a vertical bar over the graph to show the current X value #singleSelect - this flag allows the user to single select a point. Normally if a bunch of points are stacked in area if you click on the area you get all of them. With this flag you get the first one #noFilterButtons - this flag turns off the curve visible/editable toggle in the top of the menu bar
Any combination of the following flags:
When set to false, the CurveControl is invisible. When set to true, it is visible.
Specifying x_range sets the absolute position of the first and last CurvePoints. That is, the X value for the first and last CurvePoints is always specified by x_range.
Sets the absolute upper and lower Y-constraint. This method only has an effect if the uiFlags option #constrainY is specified.
This property is used to show a vertical line in the graph window if the uiFlags option #xvalue is specified.
The Bits in the BitArray control which of the available Curves are displayed. When the BitArray is empty {}, no curves are shown, when bit 1 is set {1}, the first curve is displayed, when bit 2 is set {2}, the second curve is displayed and so on. When two or more bits are set, multiple curves are displayed at the same time, for example {1..2} shows the first two curves, {1,3} shows curves 1 and 3, and so on.
Get/Set the current command mode. Possible values are: #move_xy, #move_x, #move_y, #scale, #corner, #bezier .
Get/Set the horizontal and vertical zoom values. The higher the value, the closer the zoom (the lower the displayed values relative to the x and y ranges).
Get/Set the horizontal and vertical scroll values.
Returns an array of curves of type MAXCurve
In the following events <ci> represents the active Curve Index.
Sent when a point is selected or deselected. <val> is the number of points, which are selected.
Sent when a point is changed, <val> is the index of the changed point
Sent when a point's in or out tangent is changed, <val> is the index of the changed point.
type is #inTangent or #outTangent, depending on what changed.
Sent when a point is deleted, val is the index of the deleted point.
Called when the user right-clicks the Curvecontrol control.
If not defined, the curve control provides its own internal right-click handler.
Available in 3ds Max 2010 and higher.
ccCurve represents a single curve in a curve control
When set to true, the curve points can be keyframed.
Get/Set the color of the curve when it is enabled.
Get/Set the color of the curve when it is disabled.
Get/Set the width of the curve when it is enabled.
Get/Set the width of the curve when it is disabled.
These are the drawing styles for the curve when disabled and enabled. Possible values are:
This method sets the size of the Curve Control lookup table. The lookup table allows users of the Curve Control to easily speed up their value access. The default value for the lookup table size is 1000. Used when getValue() is called on the curve.
Get/Set the number of points in the curve.
Returns a Point2 value corresponding to the specified X position along the curve at the specified time.
Returns a true if the curve's indexed point is animated (has keys), false otherwise.
Returns a BitArray with bits set for selected points.
Selects the points specified by the bits in the bitArray.
Sets the indexed point on the curve to the specified value. If checkConstraints is set to true, the point will be constrained.
Returns the Point2 value of the indexed point on the curve.
Inserts a new point at the indexed position with the specified value.
Deletes the indexed point from the curve.
CurvePointValue represents a curve point. You can create a curve point as follows:
ccPoint <pt_point2> <in_point> <out_point2> \ [bezier:<false>] [corner:<false>] [lock_x:<false>] \ [lock_y:<false>] \ [select:<false>] [end:<false>] \ [noXConstraint:<false>]
Returns the Point2 value of the point.
Returns the Point2 value of the point's inTangent.
Returns the Point2 value of the point's outTangent.
When set to true, the point behaves as a Bezier point.
When set to true, the point behaves as a Corner point. If the .bezier property is set to true, the point becomes a Bezier-Corner.
When set to true, the point is locked along X.
When set to true, the point is locked along Y.
When set to true, the point is selected.
When true, no point is an end point.
When set to false, the X coordinate is constrained. When set to true, no X constraints are imposed on the point.