# 3D Polyline

A 3D Polyline is a flexible annotation tool that allows you to draw a continuous line in 3D space with a starting point, an endpoint, and an unlimited number of joints or nodes in between. Each node marks a point in space where the line changes direction, enabling you to outline complex shapes or paths such as road lanes, cables, or boundaries.

***

## Create Polyline

1. Click the '+' icon next to the class you want to annotate from the class list.
2. Select 'Polyline' from the drawing tool list.
3. A grey circle marker appears on your cursor while hovering over the point cloud.
4. Click to place the first point of your polyline on the desired object. Move your mouse to the next location, and a line will dynamically follow your cursor from the initial point.
   * Yellow arrowheads appear along the line to indicate the direction of the polyline.
   * `Left-click` to add another point and continue drawing the polyline.
   * The projection of the polyline is simultaneously reflected in the corresponding images of the image panel.
5. `Right-click` to end the polyline.
6. Annotation Details pop up appears, enter the annotation details.
   * A status box is displayed to confirm the width (thickness) of the polyline. By default, it is set to 0 meters.
7. The saved instance will propagate across the sequence and appear in the class list panel with a zig-zag line icon next to the annotation name.

***

## Modify 3D Polyline

### Adding/Removing Vertices

To modify an existing polyline:

1. **Move a vertex:** Select a vertex and drag it to a new location.
2. **Add a vertex:** Hover over an edge of the polyline while holding `Ctrl` until a '+' symbol appears along with a blue dot, then left-click to insert a new vertex.
3. **Delete a vertex:** Drag the vertex into an adjacent one, OR hold `Ctrl` and `Right-click` on the vertex.

***

### Split Polyline

1. Select the polyline you want to split.
2. Hold `Shift` and hover over an edge.
3. A red blade icon appears when the tool is ready to split.
4. `Right-click` on the edge.
5. A confirmation prompt appears.
6. Upon confirming, you'll be prompted to fill out the Annotation Details ( such as class, instance, and attribute values) for the new polylines.
   * The tool keeps the split polyline selected for quick attribute entry.
   * The changes are reflected only in subsequent frames.

***

### Merge Polylines

1. Hover over the first or last vertex of a polyline.
2. Hold `Alt` (`Option` on Mac) - the vertex visually latches to your cursor.
3. Release `Alt` ( `Option` on Mac); the latching remains active.
4. Hover over the start or end vertex of the second polyline.
5. Press `Alt` (`Option` on Mac) again.
6. An 'M' icon appears, indicating the merge option is available.
7. `Left-click` to confirm the merge.
8. A confirmation prompt appears.
9. The polylines are merged.

> Note: The resulting polyline inherits the class, instance ID, and attributes of the first selected polyline.

***

### Extend Polyline

1. Hover over the first or last vertex of a polyline.
2. Hold `Alt` ( `Option` on Mac) the polyline end latches to your cursor.
3. Release `Alt` ( `Option` on Mac); extension mode remains active.
4. `Left-click` to place new vertices and continue drawing.

#### **Undo Last Vertex (Ctrl + Z)**

Removes the most recently added vertex or line segment during extension, allowing fine-tuned corrections before committing your changes.

> Note: This only works before saving or finalizing the extended polyline.

#### **Cancel Extension (Esc)**

Cancels the entire extension operation, removing all newly added vertices and reverting the polyline to its original state.

> Note: Must be done before saving or submitting changes.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.imerit.net/3d-multi-sensor-fusion/labeling/3d-multi-sensor-fusion-labeling-editor/drawing-tools/3d-polyline.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
