#include "vgui_draw_line.h"
#include <vgui/vgui_gl.h>
#include <vgui/internals/vgui_multiply_4x4.h>
#include <vgui/internals/vgui_transpose_4x4.h>
Go to the source code of this file.
Defines | |
#define | dot4(a, b) ((a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2] + (a)[3]*(b)[3]) |
#define | l_c4(a, x, b, y, ax_plus_by) { for (int i=0; i<4; ++i) (ax_plus_by)[i] = (a)*(x)[i] + (b)*(y)[i]; } |
#define | dot3(a, b) ((a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]) |
#define | cross3(a, b, c) |
#define | add3(a, b, c) { for (int i=0; i<3; ++i) (c)[i] = (a)[i] + (b)[i]; } |
#define | sub3(a, b, c) { for (int i=0; i<3; ++i) (c)[i] = (a)[i] - (b)[i]; } |
#define | trace(str) |
Functions | |
bool | vgui_draw_line (double const T[4][4], double const X[4], double const Y[4]) |
draw infinite line spanned in space by two points. | |
bool | vgui_draw_line (double const P[4][4], double const M[4][4], double const X[4], double const Y[4]) |
draw infinite line spanned in space by two points. | |
bool | vgui_draw_line (double const X[4], double const Y[4]) |
draw infinite line spanned in space by two points (easy). | |
bool | vgui_draw_line (double const T[4][4], double a, double b, double c) |
draw infinite line $ax+by+cw=0, z=0$ from total projection matrix $T=P M$. | |
bool | vgui_draw_line (double const P[4][4], double const M[4][4], double a, double b, double c) |
draw infinite line $ax+by+cw=0, z=0$ from projection and modelview matrices, P and M. | |
bool | vgui_draw_line (double a, double b, double c) |
draw infinite line $ax+by+cw=0, z=0$ (easy). |
Definition in file vgui_draw_line.cxx.
#define add3 | ( | a, | |
b, | |||
c | |||
) | { for (int i=0; i<3; ++i) (c)[i] = (a)[i] + (b)[i]; } |
Definition at line 113 of file vgui_draw_line.cxx.
#define cross3 | ( | a, | |
b, | |||
c | |||
) |
{ \ (c)[0] = (a)[1]*(b)[2] - (a)[2]*(b)[1]; \ (c)[1] = (a)[2]*(b)[0] - (a)[0]*(b)[2]; \ (c)[2] = (a)[0]*(b)[1] - (a)[1]*(b)[0]; \ }
Definition at line 108 of file vgui_draw_line.cxx.
#define dot3 | ( | a, | |
b | |||
) | ((a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]) |
Definition at line 107 of file vgui_draw_line.cxx.
#define dot4 | ( | a, | |
b | |||
) | ((a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2] + (a)[3]*(b)[3]) |
Definition at line 16 of file vgui_draw_line.cxx.
#define l_c4 | ( | a, | |
x, | |||
b, | |||
y, | |||
ax_plus_by | |||
) | { for (int i=0; i<4; ++i) (ax_plus_by)[i] = (a)*(x)[i] + (b)*(y)[i]; } |
Definition at line 17 of file vgui_draw_line.cxx.
#define sub3 | ( | a, | |
b, | |||
c | |||
) | { for (int i=0; i<3; ++i) (c)[i] = (a)[i] - (b)[i]; } |
Definition at line 114 of file vgui_draw_line.cxx.
#define trace | ( | str | ) |
Definition at line 115 of file vgui_draw_line.cxx.
bool vgui_draw_line | ( | double const | T[4][4], |
double const | X[4], | ||
double const | Y[4] | ||
) |
draw infinite line spanned in space by two points.
From total projection matrix .
Definition at line 19 of file vgui_draw_line.cxx.
bool vgui_draw_line | ( | double const | P[4][4], |
double const | M[4][4], | ||
double const | X[4], | ||
double const | Y[4] | ||
) |
draw infinite line spanned in space by two points.
From projection and modelview matrices, P and M.
Definition at line 88 of file vgui_draw_line.cxx.
bool vgui_draw_line | ( | double const | X[4], |
double const | Y[4] | ||
) |
draw infinite line spanned in space by two points (easy).
Definition at line 95 of file vgui_draw_line.cxx.
bool vgui_draw_line | ( | double const | T[4][4], |
double | a, | ||
double | b, | ||
double | c | ||
) |
draw infinite line $ax+by+cw=0, z=0$ from total projection matrix $T=P M$.
Definition at line 117 of file vgui_draw_line.cxx.
bool vgui_draw_line | ( | double const | P[4][4], |
double const | M[4][4], | ||
double | a, | ||
double | b, | ||
double | c | ||
) |
draw infinite line $ax+by+cw=0, z=0$ from projection and modelview matrices, P and M.
Definition at line 200 of file vgui_draw_line.cxx.
bool vgui_draw_line | ( | double | a, |
double | b, | ||
double | c | ||
) |
draw infinite line $ax+by+cw=0, z=0$ (easy).
Definition at line 207 of file vgui_draw_line.cxx.