next up previous contents index
Next: Time Functions Up: Utility Functions Previous: Swap Functions

Drawing Routines

 

void g_draw_circle (VEC3 midpoint, double radius, VEC3 normal, int n, GRAPHICDEVICE *dev)
draws a regular polygon outline with n vertices in the plane orthogonal to normal

int g_draw_cyl (VEC3 *base_circle, VEC3 *head_circle, VEC3 *base_norm, VEC3 *head_norm, int n, int orient, int color_flag, VEC3 color, GRAPHICDEVICE *dev)
draws a cylinder with base circle given as a n-dim array base_circle and head circle given as a n-dim array head_circle

int g_draw_arrow (VEC3 base, VEC3 head, double thickness, /* default == 1 */ int n, int orient, int color_flag, VEC3 color, GRAPHICDEVICE *dev)
draws an arrow with base point base and head point head with n vertices

int g_draw_tube (INSTANCE *obj, int nop, int (*getpoint)(VEC3 v, INSTANCE *obj, int i), int discr, double thickness)
draws a tube around obj, which is assumed to have vertices in a given order. nop is the number of these vertices, getpoint has to fill its v argument with the i-th point of obj and return non-0, or to return 0 in case of an error. discr is the number of points of each tube segment; if discr is 1, a line is drawn instead. thickness is a linear scaling factor for the tube radius.



SFB 256 Universität Bonn and IAM Universität Freiburg

Copyright © by the Sonderforschungsbereich 256 at the Institut für Angewandte Mathematik, Universität Bonn.