Draw XXL documentation


Draw Basics.VectorCircled(...);

Draw a vector along the perimeter of a circle.

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


static void DrawBasics.VectorCircled(...);

Code snippet names: drawVectorCircled_vecToVec and drawVectorCircled_vecToVec_func.
Parameters:
Image Type Parameter Name Description
Vector3 circleCenter The center of the circle on whose perimeter the vector will be drawn.
Vector3 circleCenter_to_start A vector that starts at the circle center and goes to the start of the drawn vector 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 drawn vector 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 drawn curved vector.
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 lineWidth The width of the drawn curved vector in world space units.
string text An optional text to display along the curved vector. The text orientation follows cameraForAutomaticOrientation.
bool useReflexAngleOver180deg "circleCenter_to_start" and "circleCenter_to_end" are both mounted at "circleCenter" and span a plane in which the drawn curve will lie. Inside this plane the two spanning 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.
float coneLength The length of the vector pointer cones. The parameter can be interpreted in different ways: It can be meant as absolute length or relative to the radius. The used interpretation is decided by the global setting coneLength_interpretation_forCircledVectors. The default interpretation is "relative to radius".
bool pointerAtBothSides Whether to use not only one cone pointer at the end of the curved vector, but also a cone at the start.
bool skipFallbackDisplayOfZeroAngles A curved vector 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 "lineWidth" parameter is higher than the default value of zero. The curved vector 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 vector. 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 vector with a text Draw XXL lets the text protrude the drawn vector 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.VectorCircled(...);

Code snippet names: drawVectorCircled_fromQuatUp and drawVectorCircled_fromQuatUp_func.
Parameters:
Image Type Parameter Name Description
Vector3 circleCenterPos The center of the circle on whose perimeter the vector 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 vector will start.
float turnAngleDegCC_startingFromUp The vector 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 vector is drawn.
Color color Same as in first overload. See there.
float lineWidth Same as in first overload. See there.
string text Same as in first overload. See there.
float coneLength Same as in first overload. See there.
bool pointerAtBothSides 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.VectorCircled(...);

Code snippet names: drawVectorCircled_relToQuatUp and drawVectorCircled_relToQuatUp_func.
Parameters:
Image Type Parameter Name Description
Vector3 circleCenterPos The center of the circle on whose perimeter the vector 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 vector, measured from Quaternion*up counterclockwise when looking along Quaternion*forward.
float endAngleDegCC_relativeToUp The end angle (in degrees) of the curved vector, measured from Quaternion*up counterclockwise when looking along Quaternion*forward.
float radius The radius of the perimeter on which the vector is drawn.
Color color Same as in first overload. See there.
float lineWidth Same as in first overload. See there.
string text Same as in first overload. See there.
float coneLength Same as in first overload. See there.
bool pointerAtBothSides 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.VectorCircled(...);

Code snippet names: drawVectorCircled_aroundRayAxis and drawVectorCircled_aroundRayAxis_func.
Parameters:
Image Type Parameter Name Description
Vector3 startPos The start position of the curved vector.
Ray turnAxis A ray acting as turn axis for the startPos. startPos is turned around this ray and thereby creates the circled vector that gets 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 lineWidth Same as in first overload. See there.
string text Same as in first overload. See there.
float coneLength Same as in first overload. See there.
bool pointerAtBothSides 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.VectorCircled(...);

Code snippet names: drawVectorCircled_aroundVecAxis and drawVectorCircled_aroundVecAxis_func.
Parameters:
Image Type Parameter Name Description
Vector3 startPos The start position of the curved vector.
Vector3 turnAxis_origin A position on an imaginary turnAxis, around which startPos will get turned and thereby creates the curved vector 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 vector.
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 lineWidth Same as in first overload. See there.
string text Same as in first overload. See there.
float coneLength Same as in first overload. See there.
bool pointerAtBothSides 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.