CircleArc
- Last UpdatedOct 22, 2025
- 3 minute read
The CircleArc node displays the angle between two segments as a portion of a circle. It supports both inner (smaller angle) and outer (larger angle) display and provides a way to increase arc radius.
You can define the number of faces used to represent the circle arc. The more faces an arc has, the smoother the arc will appear.

Platform support
This node is fully supported on XR-Windows, XR-Portable Windows, XR-Portable iOS, XR-Portable Android, and XR-Portable 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 |
|
|
|
|
|
|
Code example
This is a code example for the CircleArc node.
<CircleArc name="angleMeasure" faces="128" texture="red.jpg" visible="true" center="0 0 -0.5" pointA="0 1.1 -0.5" pointB="0 0.8 0.3" mwxTemplate="modules/hand/circlearc_template.mwx" />
Advanced user customization
The CircleArc node requires loading a template MWX file. You can modify the MWX file to change the display part of the element by providing a different shader and material.
An example of a standard template MWX.
<?xml version="1.0" encoding="utf-8" ?>
<mwx version="1.0">
<Mesh type="Unified" name="circlearc_template|circlearc" version="1">
<transform scale="1.0 1.0 1.0"
rotation="-0.0 -0.0 -0.0 1.0"
translation="0.0 0.0 0.0"/>
<material>
<Material type="DX11" version="1.1">
<pass name="standard" shader="EngineLib|shTxt|default">
<param type="unknown" name="bObjectSpace" value="true"/>
<param type="unknown" name="bDoubleFace" value="true"/>
<param type="unknown" name="mDiffuseMap" value="TEXTURE_IMAGE"/>
</pass>
</Material>
</material>
<geometry>
<Geometry name="circlearc_template|circlearc" version="1">
<vertices num="VERTICES_NUM">
VERTICES_DATA
</vertices>
<faces num="FACES_NUM">
FACES_DATA
</faces>
</Geometry>
</geometry>
<obbox center="0.0 0.0 0.0"
hsize="1.0 0.0 1.0"
uaxis="1.0 0.0 0.0"
vaxis="0.0 1.0 0.0"
waxis="0.0 0.0 1.0"/>
<sphere center="0.0 0.0 0.0" radius="1.0"/>
</Mesh>
<extra>
<exportParams>
<exportHiddenFrozen value="false"/>
<enableOptimizations value="true"/>
<enableRadiosityChecks value="false"/>
<exportWorldSpace value="true"/>
<skipCompletionBoxes value="false"/>
<enableHierarchicalNames value="true"/>
<preferXMLTextValues value="true"/>
<deleteExistingDirectory value="false"/>
</exportParams>
</extra>
</mwx>
CircleArc fields
These are the fields for CircleArc node. Only the node-specific fields are indicated, not fields obtained by inheritance.
Field inheritance: NodeBase > CircleArc
|
Parameter |
Type |
Use |
Default value |
Description |
|---|---|---|---|---|
|
_debug |
sbool |
Optional |
false |
Shows 3D debug elements representing the angle segments. |
|
center |
svec3 |
Optional |
0 0 0 |
Defines the center of the angle. |
|
faces |
sint |
Optional |
32 |
Specifies the number of faces, which defines how circle arc curve will look. This value can be changed only at definition time and not in runtime. |
|
measuredAngle |
sfloat |
Read only |
Internally calculated |
Exposes the radiant value of the defined angle. |
|
mode |
senum |
Optional |
Inner |
Specifies whether to represent the inner or outer angle. |
|
mwxTemplate |
sstring |
Optional |
modules/hand/circlearc_template.mwx |
Name of CircleArc MWX template. |
|
pointA |
svec3 |
Optional |
1 0 0 |
Defines the vertex of the first angle segment. |
|
pointB |
svec3 |
Optional |
0 0 1 |
Defines the vertex of the second angle segment. |
|
radius |
sfloat |
Optional |
1 |
Defines the radius of the circle arc, in meters. |
|
texture |
sstring |
Optional |
line_template.png |
Specifies the texture to use, if supported by the MWX template. |
|
visible |
sbool |
Optional |
true |
Show or hides the line. |