PLUG'N SCRIPT
rapid plugin development
Tutorial
DSP
KUIML
How-to
Scripts
  • Overview
  • Tutorial
  • Reference
Layout and positioning
  • CELL
  • TABLE
Language basics
  • SKIN
  • DUMMY
  • INCLUDE
  • INCLUDE_ONCE
  • DEFINE
  • UNDEFINE
  • VARIABLE
  • LOCAL_VARIABLE
  • TEMPLATE
  • TEMPLATE_INNER_CONTENT
  • TEMPLATE_UNLOAD
  • REPEAT
Text widgets
  • TEXT
  • TEXT_FIELD
  • TEXT_EDIT_BOX
  • TOOLTIP
  • PARAM_TEXT
  • PARAM_TEXT_CONTROL
  • PARAM_TEXT_EDIT_BOX
  • PARAM_TOOLTIP
Image widgets
  • IMAGE
  • IMAGE_ACTION_BUTTON
  • IMAGE_GROUP_BOX
  • IMAGE_PARAM_BUTTON
  • IMAGE_PARAM_KNOB
  • IMAGE_PARAM_LINEAR_METER
  • IMAGE_PARAM_MENU_BUTTON
  • IMAGE_PARAM_METER
  • IMAGE_PARAM_SLIDER
  • IMAGE_PARAM_TOGGLE_SWITCH
  • XYZ_IMAGE_PARAM_JOYSTICK
Invisible controls
  • INVISIBLE_ACTION_BUTTON
  • INVISIBLE_PARAM_BUTTON
  • INVISIBLE_PARAM_KNOB
  • INVISIBLE_PARAM_MENU_BUTTON
  • INVISIBLE_PARAM_SLIDER
  • INVISIBLE_PARAM_TOGGLE_SWITCH
  • XY_PARAM_PAD
  • XY_ZOOM_SELECT_PAD
  • XYZ_PARAM_SCRATCH_PAD
  • XYZ_PARAM_CLICK_PAD
Drawing, curves & 3D
  • CANVAS
    • Graphics API
  • svg
  • CURVE_GRAPH
  • XY_CURVES_GRAPH
  • GRID
  • RULER
  • COLOR_SCALE
  • VIEW_3D
  • COLOR_SURFACE_3D
  • GRID_3D
  • GL_OBJECT_3D
    • OpenGL Cheat Sheet
  • SURFACE_COLORMAP_2DPLOT
Miscellaneous
  • SCRIPT
  • WIDGET
  • KUIML_WIDGET
  • POPUP_MENU
  • MENU_ITEM
  • MENU_SEPARATOR
  • FILE_SELECT_MENU
  • SYSTEM_ACTION_BUTTON
  • SYSTEM_PARAM_CHECKBOX
  • SYSTEM_PARAM_DROPDOWN_LIST
  • WINDOW
  • LOAD_FONT
Data model
  • STRING
  • PARAM
  • FORMULA_PARAM
  • PARAM_ANIMATOR
  • ACTION
    • Built-in action types
  • TIMER
  • ACTION_TRIGGER
  • CURVE
  • FORMULA_CURVE
  • CURVE_FROM_PARAM_OVER_TIME
  • SURFACE
  • FORMULA_SURFACE
  • SURFACE_FROM_CURVE_OVER_TIME
  • GROUP
Links and commands
  • PARAM_LINK
  • PARAM_MULTI_LINK
  • PARAM_CONNECTION
  • PARAM_TO_STRING_LINK
  • STRING_LINK
  • STRING_MULTI_LINK
  • CURVE_LINK
  • CURVE_MULTI_LINK
  • SURFACE_LINK
  • REQUIRED_OBJECTS
  • EXPOSED_OBJECTS
  • PERSISTENT_OBJECTS
Common attrubutes
  • For all elements
  • Widgets
  • Param Widgets
  • Param Controls
  • Param Info Viewers
  • Text Widgets
  • Surface Viewers
  • Curve Viewers
  • Images
  • 3D Objects
Additional information
  • All attributes
  • Attribute types
  • Cursors
  • Math formulas
  • Scripting
    • Built-in addons
  • User experience
  • Errors and solutions
  • Built-in variables
  • Runtime model
  • Parameters mapping
  • Script converter
  • LetiMix
KUIMLReferenceSURFACE_FROM_CURVE_OVER_TIME
August 21, 2025

SURFACE_FROM_CURVE_OVER_TIME

This element can be used to create custom surfaces based on the variations of an existing curve: the surface represents the evolution of the curve over time.

Attributes brief detailed show all inherited

Name DescriptionDefault
nameDisplayed name of the surfaceempty
commentComment about the surfaceempty
duration_msDuration for the swept curveThe x coordinate bounds will be [0;duration_ms]5000
Exposed: v. 1.7refresh_time_msinterval between two sampled valuesYou should increase this value if you are concerned with display performance issues50
curve_idIdentifier of the curve sampled over time to create the surfaceMandatoryempty
Exposed: v. 1.3pausedparameter sampling pausedUse this parameter to pause the surface (it will stop sampling the curve)false
Events
Exposed: v. 2.0value_changedthe event is triggered anytime the value of the object has changed
Common attributesRead about `common`
idIdentifier of the elementThe id of an element has to be globally unique. Don't start with a digit for AngelScript compatibility.empty
Name Value type Default Description Comment
namestringemptyDisplayed name of the surface
commentstringemptyComment about the surface
duration_msAny positive integer value5000Duration for the swept curveThe x coordinate bounds will be [0;duration_ms]
Exposed: v. 1.7refresh_time_msAny positive integer value50interval between two sampled valuesYou should increase this value if you are concerned with display performance issues
curve_idcurve idemptyIdentifier of the curve sampled over time to create the surfaceMandatory
Exposed: v. 1.3pausedbooleanfalseparameter sampling pausedUse this parameter to pause the surface (it will stop sampling the curve)
Events
Exposed: v. 2.0value_changedeventthe event is triggered anytime the value of the object has changed
Common attributesRead about `common`
ididentifieremptyIdentifier of the elementThe id of an element has to be globally unique. Don't start with a digit for AngelScript compatibility.

Examples

The following example creates a surface sampling the curve every 10 ms for 10 seconds:

  1. <!-- formula curve -->
  2. <FORMULA_CURVE id="curve_demo" x_min="-10" x_max="10" x_default="0" y_default="0" y_max="1" y_min="0" formula="tanh(demo_param*(x*x*0.01))" />

  3. <!-- display the curve on a graph -->
  4. <PNS_LCD_GROUP_BOX>
  5. <LAYER_STACK>
  6. <!-- first graph for the line (stroke) -->
  7. <CURVE_GRAPH curve_id="curve_demo" width="300" height="150" color="#327ca3" graph_style="stroke" opacity="1" line_width="4" />
  8. <!-- second line for the opaque bargraph -->
  9. <CURVE_GRAPH curve_id="curve_demo" width="300" height="150" color="#327ca3" graph_style="bargraph" opacity="0.2" line_width="4" />
  10. </LAYER_STACK>
  11. </PNS_LCD_GROUP_BOX>

  12. <!-- demo logic to change the curve -->
  13. <PARAM id="demo_param" min="-3" max="5" default="0" />
  14. <SCRIPT script="double delta = 0.04;" />
  15. <TIMER id="forever_timer" refresh_time_ms="5" />
  16. <ACTION_TRIGGER event_id="forever_timer.elapsed"
  17. script=" 
  18. demo_param += delta;
  19. if (demo_param >=4 ) delta = -delta;
  20. if (demo_param &lt;=-2 ) delta = -delta;
  21.  " requires="demo_param;demo_param;" />

  22. <!-- create surface from that curve -->
  23. <SURFACE_FROM_CURVE_OVER_TIME id="demo_surface" curve_id="curve_demo" duration_ms="10000" refresh_time_ms="10" />

  24. <!-- The 3D View -->
  25. <VIEW_3D id="my_3d_view" width="310" height="150" x_ratio="2.5" y_ratio="1" z_ratio="0.5" transform.tx="0.0" transform.ty="0.0" transform.tz="-1.7" transform.rx="60" transform.ry="0" transform.rz="-50" cursor="system::open_hand" persistent_viewpoint="false">

  26. <!-- Grid object -->
  27. <GRID_3D id="my_3d_view.grid" x_param_info_id="demo_surface.x_info" y_param_info_id="demo_surface.y_info" z_param_info_id="demo_surface.z_info" y_positions_count="11" x_positions_count="11" z_positions_count="11" x_position="-0.5" y_position="-0.5" z_position="-0.5" opacity="0.3" />

  28. <!-- The Color surface-->
  29. <COLOR_SURFACE_3D id="my_3d_view.surface" surface_id="demo_surface" visible="true" draw_style="solid" high_color="#ff0000" low_color="#000030" opacity=".8" x_positions_count="100" y_positions_count="100" x_position="-.5" y_position="-.5" z_position="-.5"/>
  30. </VIEW_3D>

Related elements

See CURVE_GRAPH, FORMULA_CURVE, VIEW_3D, COLOR_SURFACE_3D, CANVAS.


Comments

Please, authorize to view and post comments.

2020 - 2026 © Site by LetiMix · Donate  |  Plug'n Script and KUIML by Blue Cat Audio