Draw XXL documentation


Draw Basics.LineCircled(...);

Draw a line along the perimeter of a circle.

Green parameters are required. Yellow parameters are optional, but have to be supplied in order.


static void DrawBasics.LineCircled(...);

Code snippet names: drawLineCircled_vecToVec and drawLineCircled_vecToVec_func.
Parameters:
Image Type Parameter Name Description
Vector3 circleCenter The center of the circle on whose perimeter the line will be drawn.
Vector3 circleCenter_to_start A vector that starts at the circle center and goes to the start of the line on the perimeter. The radius length may get overwritten by the "forceRadius" parameter.
Vector3 circleCenter_to_end A vector that starts at the circle center and points to the end of the line on the perimeter. The vector length is ignored since the radius is already defined by "circleCenter_to_start" or "forceRadius".
Color color The color of the line.
float forceRadius This can be used to overwrite the circle radius that is normally taken from the "circleCenter_to_start" parameter. The default value of 0 means that this "forceRadius" will be ignored.
float width The line width in world space units.
string text An optional text to display along the curved line. The text orientation follows cameraForAutomaticOrientation.
bool useReflexAngleOver180deg "circleCenter_to_start" and "circleCenter_to_end" are both mounted at "circleCenter" and define a plane in which the line circle will lie. In this plane the two vectors actually define two angles: An obtuse angle below 180° and a reflex angle above 180°. Use this bool to specify which one to draw.
bool skipFallbackDisplayOfZeroAngles A curved line with an angle of 0 cannot be drawn. It is actually "not there". Sometimes this happens by accident and users may wonder why their drawing call doesn't have any effect. This is why Draw XXL displays an information tag at the position where the line should appear. There are cases though, were it is intended to allow zero angles and Draw XXLs information tag is disturbing. For these cases you can use the "skipFallbackDisplayOfZeroAngles" bool to omit the information tag.
bool flattenThickRoundLineIntoCirclePlane This has only effect if the "width" parameter is higher than the default value of zero. The line can have its thickness extent round in 3D worldspace, or be flattened into the plane in which the circle lies.
float minAngleDeg_withoutTextLineBreak This affects the optional text that is drawn along the curved line. If the drawn perimeter angle gets smaller then the text doesn't fit into this angle span anymore. To still be able to tag such lines with a text Draw XXL lets the text protrude the drawn line on an imaginary longer curved line. This "minAngleDeg_withoutTextLineBreak" parameter specifies after which angle on the imaginary curved line the text line breaks will be done.
TextAnchorCircledDXXL textAnchor Specifies the behaviour of text line breaks. The line break containing text block can either be completely outside the curved radius or protrude to inside of the radius.
float durationInSec The duration in seconds how long the drawn thing stays visible. The default value of 0 means that it stays only during the current Update frame. Instead of using this parameter you can also overwrite him with a global setting so you don't always have to supply all other preceding function parameters till you reach this late parameter.
bool hiddenByNearerObjects This specifies if the drawn thing will get hidden if other geometry is in front of it or if it shines through. It is the same as the depthTest parameter of Unitys Debug.DrawLine(). Not all drawing methods support toggling this in the same way. For some methods the lines are fully hidden, for others the hidden lines shimmer through. Instead of using this parameter you can also overwrite him with a global setting so you don't always have to supply all other preceding function parameters till you reach this late parameter.


static void DrawBasics.LineCircled(...);

Code snippet names: drawLineCircled_fromQuatUp and drawLineCircled_fromQuatUp_func.
Parameters:
Image Type Parameter Name Description
Vector3 circleCenterPos The center of the circle on whose perimeter the line will be drawn.
Quaternion orientation A quaterion that rotates the whole circle object. Quaternion*forward is the turn axis of the circle. Quaternion*up defines the direction where the line will start.
float turnAngleDegCC_startingFromUp The line starts at Quaternion*up and then turns by this angle (in degrees) counterclockwise(CC) when looking along Quaternion*forward
float radius The radius of the perimeter on which the lines is drawn.
Color color Same as in first overload. See there.
float width Same as in first overload. See there.
string text Same as in first overload. See there.
bool skipFallbackDisplayOfZeroAngles Same as in first overload. See there.
bool flattenThickRoundLineIntoCirclePlane Same as in first overload. See there.
float minAngleDeg_withoutTextLineBreak Same as in first overload. See there.
TextAnchorCircledDXXL textAnchor Same as in first overload. See there.
float durationInSec Same as in first overload. See there.
bool hiddenByNearerObjects Same as in first overload. See there.


static void DrawBasics.LineCircled(...);

Code snippet names: drawLineCircled_relToQuatUp and drawLineCircled_relToQuatUp_func.
Parameters:
Image Type Parameter Name Description
Vector3 circleCenterPos The center of the circle on whose perimeter the line will be drawn.
Quaternion orientation A quaterion that rotates the whole circle object. Quaternion*forward is the turn axis of the circle. Quaternion*up defines the direction from where the angles are measured.
float startAngleDegCC_relativeToUp The start angle (in degrees) of the curved line, measured from Quaternion*up counterclockwise when looking along Quaternion*forward.
float endAngleDegCC_relativeToUp The end angle (in degrees) of the curved line, measured from Quaternion*up counterclockwise when looking along Quaternion*forward.
float radius The radius of the perimeter on which the line is drawn.
Color color Same as in first overload. See there.
float width Same as in first overload. See there.
string text Same as in first overload. See there.
bool skipFallbackDisplayOfZeroAngles Same as in first overload. See there.
bool flattenThickRoundLineIntoCirclePlane Same as in first overload. See there.
float minAngleDeg_withoutTextLineBreak Same as in first overload. See there.
TextAnchorCircledDXXL textAnchor Same as in first overload. See there.
float durationInSec Same as in first overload. See there.
bool hiddenByNearerObjects Same as in first overload. See there.


static void DrawBasics.LineCircled(...);

Code snippet names: drawLineCircled_aroundRayAxis and drawLineCircled_aroundRayAxis_func.
Parameters:
Image Type Parameter Name Description
Vector3 startPos The start position of the curved line.
Ray turnAxis A ray acting as turn axis for the startPos. startPos is turned around this ray and thereby creates the circled line to be drawn.
float turnAngleDegCC The angle (in degrees) how far startPos is turned around turnAxis, counterclockwise when looking along the turnAxis-ray.
Color color Same as in first overload. See there.
float width Same as in first overload. See there.
string text Same as in first overload. See there.
bool skipFallbackDisplayOfZeroAngles Same as in first overload. See there.
bool flattenThickRoundLineIntoCirclePlane Same as in first overload. See there.
float minAngleDeg_withoutTextLineBreak Same as in first overload. See there.
TextAnchorCircledDXXL textAnchor Same as in first overload. See there.
float durationInSec Same as in first overload. See there.
bool hiddenByNearerObjects Same as in first overload. See there.


static void DrawBasics.LineCircled(...);

Code snippet names: drawLineCircled_aroundVecAxis and drawLineCircled_aroundVecAxis_func.
Parameters:
Image Type Parameter Name Description
Vector3 startPos The start position of the curved line.
Vector3 turnAxis_origin A position on an imaginary turnAxis, around which startPos will get turned and thereby creates the curved line that gets drawn.
Vector3 turnAxis_direction The axis direction of the imaginary turnAxis that is mounted at turnAxis_origin. startPos will be turned around this axis and thereby creates the drawn circled line.
float turnAngleDegCC The angle (in degrees) how far startPos is turned around turnAxis_direction, counterclockwise when looking along the turnAxis_direction.
Color color Same as in first overload. See there.
float width Same as in first overload. See there.
string text Same as in first overload. See there.
bool skipFallbackDisplayOfZeroAngles Same as in first overload. See there.
bool flattenThickRoundLineIntoCirclePlane Same as in first overload. See there.
float minAngleDeg_withoutTextLineBreak Same as in first overload. See there.
TextAnchorCircledDXXL textAnchor Same as in first overload. See there.
float durationInSec Same as in first overload. See there.
bool hiddenByNearerObjects Same as in first overload. See there.