AnnotationArrow
- Last UpdatedFeb 19, 2025
- 3 minute read
The AnnotationArrow node places an arrow by setting its tail and head point. It inherits from AnnotationBase and can be moved and stretched.

Platform Support
This element is fully supported on XR-Windows, XR-Portable Windows, XR-Portable iOS, XR-Portable Android, and XR-P WASM platforms.
|
XR-WIN |
XR-P-WIN |
XR-P-IOS |
XR-P-AND |
XR-P-WASM |
|---|---|---|---|---|
|
Full support |
Full support |
Full support |
Full support |
Full support |
|
|
|
|
|
|
Handles position and behavior
The AnnotationArrow has two handles; one designed to set the head position, the other the tail.
-
Because this annotation is a line and not an shape, it does not support the proportionalResize functionality.
-
For the same reason, to deselect the arrow, it's enough to click out of the arrow line.

Head customization
The arrow head is made up of two legs joining at the head point. It's possible to customize the length and angle of these legs using the shapeHeadParams field.
The shapeHeadParams field is expressed in multiples of line thickness to keep the aspect proportional to the shapeTickness value. The values represent offset used to define the arrow head legs length and angle.

Positioning AnnotationArrow
AnnotationArrow differs from other Annotation nodes due to its linear nature and the capability to rotate. For this reason, positioning and orienting the AnnotationArrow node using postion, size, headUV, and tailUV fields can be difficult to master.
The preferred way to perfectly place an AnnotationArrow is through the setFromScreenPositions field.
AnnotationArrow fields
AnnotationArrow has a few type-specific fields.
Field inheritance: NodeBase > RectBase2D > AnnotationBase > AnnotationArrow
|
Fields |
Type |
Use |
Default value |
Description |
|---|---|---|---|---|
|
getScreenPostions |
sfunction |
Optional |
MVEC2 getScreenPositions.execute() Returns the current position for arrow tail and head. |
|
|
headUV |
svec2 |
Read only |
Internally calculated |
The position of the head inside the AnnotationArrow texture. This value should not be set directly. |
|
shapeHeadParams |
svec2 |
Optional |
4 2 |
Modifies the shape of the arrow head using offset of multiples of the shapeThickness. |
|
setFromScreenPositions |
sfunction |
Optional |
|
SSTRING setFromScreenPositions.execute(TAILPOS,|HEADPOS) Sets the arrow between the two points. For example, setFromScreenPositions.execute(100 100,200 200) returns OK. |
|
tailUV |
svec2 |
Read only |
Internally calculated |
Position of the tail inside the AnnotationArrow texture. This value should not be set directly. |