Curve Editing

The Curve Editing tool is a specialized manipulator used to edit the data points of well log curves. The Curve Editing tool is based on a set of events, released every time a UI (user interface) manipulation is made.

The Curve Editing tool provides multiple editing mode, which define the visual feedback and restrictions available on the selected data points.

# Editing Curves With Different Interpolation

This example displays all the functionalities of the Curve Editing tool. The left curve is a linear interpolation curve and the right curve is a step interpolation curve.

The Curve Editing toolbar buttons enable/disable the three editing modes:

  • Edit Mode - Allows dragging the selected data point around the track, changing its value and depth.
  • Insert Mode - Allows inserting a data point into the data set at the value and depth at which the click occurred on the track. While dragging the mouse along the curve, a bubble will be drawn across the line to show the corresponding position on existing data.
  • Delete Mode - Allows deleting the selected data point by clicking.

After selecting a curve and the editing modes, the Curves Editing tool creates anchored or line handles for editing the curve points, depending on the interpolation type.

import { CurveEditing } from "/src/code/WellLog/AdditionalFunctionality/CurveEditing/curveEditing.ts";
function createScene(canvas) {
  const app = new CurveEditing();
  app.addWidgetToCanvas(canvas, app.displayValues(0), 0);
  return app;
}
export { createScene };

createScene(document.querySelector('[ref="plot"]'));

# Editing Curves With Unsorted Index Data

This example demonstrates curves editing with unsorted index data.

import { CurveEditing } from "/src/code/WellLog/AdditionalFunctionality/CurveEditing/curveEditing.ts";
function createScene(canvas) {
  const app = new CurveEditing();
  app.addWidgetToCanvas(canvas, app.displayValues(3), 3);
  return app;
}
export { createScene };

createScene(document.querySelector('[ref="plot"]'));

# Customize Editing Modes

These are four visual feedback and restriction modes in Editing mode, Please refer to Curve Editing Tool for more details:

  • Vertical Edit - Allows or restricts editing data point depths.
  • Ghost Mode - When in Edit Mode, instead of dragging the data point, this mode will create a ghost of the data point and it will be dragged instead. The Ghost Mode does not change the behavior of the Curve Editing tool.
  • Hide Ghost on Drop - When in Ghost Mode, defines if the ghost should be reset to the original data point every time it is released (dropped) or the Ghost should remain at the release data point.
  • Hide Inactive Handles - When a data point is being dragged to edit, all other inactive handles become invisible, which exposes the curve being edited and aids in visualizing the edit.

This example displays the feedback after enabling Ghost mode.

import { CurveEditing } from "/src/code/WellLog/AdditionalFunctionality/CurveEditing/curveEditing.ts";
function createScene(canvas) {
  const app = new CurveEditing();
  app.addWidgetToCanvas(canvas, app.displayValues(1), 1);
  return app;
}
export { createScene };

createScene(document.querySelector('[ref="plot"]'));

# Customize Handles Type

Curve editing tool supports two display types of handles:

  • Default - Handles are lines if curve is non-linear and handles are anchored if curve is linear.
  • Anchored - Handles are always anchored regardless of curve interpolation.
import { CurveEditing } from "/src/code/WellLog/AdditionalFunctionality/CurveEditing/curveEditing.ts";
function createScene(canvas) {
  const app = new CurveEditing();
  app.addWidgetToCanvas(canvas, app.displayValues(2), 2);
  return app;
}
export { createScene };

createScene(document.querySelector('[ref="plot"]'));