#include <GL/gl.h>
#include <iostream>
#include <vector>
#include "absobj.h"
#include "maths.h"
Include dependency graph for absobj.cpp:
Functions | |
int | getside (float *in) |
Given a set of floats, identifies the single one on the wrong side of 0 (where wrong is arbitrary). | |
Vec4 | getintersect (float &fin1, float &fin2, Vec4 &in1, Vec4 &in2) |
This finds the intersection of a line with a plane. | |
bool | inTriangle (Vec4 p, Vec4 p0, Vec4 p1, Vec4 p2) |
Given a point p, and a triangle p0,p1,p2, calculate if p is within the triangle. | |
bool | inflattriangle (float x1, float y1, float x2, float y2, float x3, float y3, float px, float py) |
Find if a point is in a 2D triangle. | |
int | collideResponse (float time, AbsObj &bill, AbsObj &ben, Vec4 &pt, Vec4 &n, Vec4 &intr, float sticky) |
Collision response. |
|
Collision response. Important rigid-body physics. This does lots of important collision response for all objects.
|
Here is the call graph for this function:
|
This finds the intersection of a line with a plane. I have NO IDEA how.
|
Here is the call graph for this function:
|
Given a set of floats, identifies the single one on the wrong side of 0 (where wrong is arbitrary). This is a very bizarre function, that I'm quite proud of. It creates a bitmask corresponding to whether an entry in the array is greater than 0 (or not). As we don't care which side is which, as long as one is different from the other two, it negates 4-7 down to 0-3.
|
|
Find if a point is in a 2D triangle. This takes three pairs of floats as the triangle, and the fourth pair as the point. I made a pretty test-harness that used it to draw triangles, so it should work. |
|
Given a point p, and a triangle p0,p1,p2, calculate if p is within the triangle. All points are assumed to be coplanar.
|
Here is the call graph for this function: