Draw XXL documentation


Draw Screenspace.CircleSegment(...);

Draw a circle segment, like a wedge of a pie.

The camera which defines the screenspace can be appointed in several ways. One option is: Every function has an overload that is identical except that it takes a Camera as first parameter. Another more convenient option is: If no Camera is supplied then Draw XXL automatically searches for one according to the global DefaultScreenspaceWindowForDrawing setting (which can point to a Gameview camera or a Sceneview camera). Moreover there is the option to apoint a camera once to the global defaultCameraForDrawing field, which also has the effect that no camera has to be supplied as parameter to the actual draw functions.

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


static void DrawScreenspace.CircleSegment(...);

Code snippet names: drawScreenCircleSegment_angleToAngle and drawScreenCircleSegment_angleToAngle_func.

Parameters:
Type Parameter Name Description
Vector2 circleCenter The center position of the circle.
float startAngleDegCC_relativeToUp The starting angle of the segment. Measured relative to the straight upward direction, in degrees and counterclockwise (CC).
float endAngleDegCC_relativeToUp The ending angle of the segment. Measured relative to the straight upward direction, in degrees and counterclockwise (CC).
float radius_relToViewportHeight
Color color
string text
float radiusPortionWhereDrawFillStarts The wedge doesn't have to be pointy on the inner side at the centerOfCircle, but the pie can have a hole at the center. This parameter defines the size of this hole. A value of 0 means that the wedge is fully pointy. A value of 1 means that only the perimeter is drawn.
bool skipFallbackDisplayOfZeroAngles A circle segment 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.
float fillDensity
float minAngleDeg_withoutTextLineBreak This affects the optional text that is drawn along the perimeter. 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 segments with a text Draw XXL lets the text protrude the drawn segment on an imaginary longer curved perimeter line. This "minAngleDeg_withoutTextLineBreak" parameter specifies after which angle on the imaginary curved line the text line breaks will be done.
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.


static void DrawScreenspace.CircleSegment(...);

Code snippet names: drawScreenCircleSegment_angleToAngle_cam and drawScreenCircleSegment_angleToAngle_cam_func.

Parameters:
Type Parameter Name Description
Camera targetCamera This parameter is the only difference to the previous overload. It specifies the camera explicitly instead of relying on DefaultScreenspaceWindowForDrawing or defaultCameraForDrawing.
Vector2 circleCenter
float startAngleDegCC_relativeToUp
float endAngleDegCC_relativeToUp
float radius_relToViewportHeight
Color color
string text
float radiusPortionWhereDrawFillStarts
bool skipFallbackDisplayOfZeroAngles
float fillDensity
float minAngleDeg_withoutTextLineBreak
float durationInSec


static void DrawScreenspace.CircleSegment(...);

Code snippet names: drawScreenCircleSegment_angleFromStartPos and drawScreenCircleSegment_angleFromStartPos_func.

Parameters:
Type Parameter Name Description
Vector2 startPosOnPerimeter The wedge start position on the outer perimeter.
Vector2 circleCenter The circle center around which the start position gets turned in order to create the segment area.
float turnAngleDegCC The angle of the wedge, starting from "startPosOnPerimeter", in degrees and counterclockwise(CC).
Color color
string text
float radiusPortionWhereDrawFillStarts The wedge doesn't have to be pointy on the inner side at the centerOfCircle, but the pie can have a hole at the center. This parameter defines the size of this hole. A value of 0 means that the wedge is fully pointy. A value of 1 means that only the perimeter is drawn.
bool skipFallbackDisplayOfZeroAngles A circle segment 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.
float fillDensity
float minAngleDeg_withoutTextLineBreak This affects the optional text that is drawn along the perimeter. 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 segments with a text Draw XXL lets the text protrude the drawn segment on an imaginary longer curved perimeter line. This "minAngleDeg_withoutTextLineBreak" parameter specifies after which angle on the imaginary curved line the text line breaks will be done.
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.


static void DrawScreenspace.CircleSegment(...);

Code snippet names: drawScreenCircleSegment_angleFromStartPos_cam and drawScreenCircleSegment_angleFromStartPos_cam_func.

Parameters:
Type Parameter Name Description
Camera targetCamera This parameter is the only difference to the previous overload. It specifies the camera explicitly instead of relying on DefaultScreenspaceWindowForDrawing or defaultCameraForDrawing.
Vector2 startPosOnPerimeter
Vector2 circleCenter
float turnAngleDegCC
Color color
string text
float radiusPortionWhereDrawFillStarts
bool skipFallbackDisplayOfZeroAngles
float fillDensity
float minAngleDeg_withoutTextLineBreak
float durationInSec