replace local cross_product() function with dCROSS()

This commit is contained in:
Josh Holtrop 2010-12-19 00:11:35 -05:00
parent 1dda197ca3
commit 6e35afb4ad
2 changed files with 4 additions and 20 deletions

View File

@ -61,13 +61,6 @@ Engine * g_engine;
/* static helper functions */ /* static helper functions */
static void cross_product(dVector3 result, dVector3 first, dVector3 second)
{
result[0] = first[1] * second[2] - first[2] * second[1];
result[1] = first[2] * second[0] - first[0] * second[2];
result[2] = first[0] * second[1] - first[1] * second[0];
}
static void debug_hook(lua_State * L, lua_Debug * debug) static void debug_hook(lua_State * L, lua_Debug * debug)
{ {
g_engine->debug_hook(debug); g_engine->debug_hook(debug);
@ -714,7 +707,7 @@ refptr< vector<Engine::PickedObjectRef> > Engine::pickObjects(int x, int y)
forward[0] = m_center[0] - m_eye[0]; forward[0] = m_center[0] - m_eye[0];
forward[1] = m_center[1] - m_eye[1]; forward[1] = m_center[1] - m_eye[1];
forward[2] = m_center[2] - m_eye[2]; forward[2] = m_center[2] - m_eye[2];
cross_product(right, forward, up); dCROSS(right, =, forward, up);
dRFrom2Axes(r, right[0], right[1], right[2], dRFrom2Axes(r, right[0], right[1], right[2],
forward[0], forward[1], forward[2]); forward[0], forward[1], forward[2]);
initial_direction[0] = x - m_av.getWidth() / 2; initial_direction[0] = x - m_av.getWidth() / 2;
@ -749,7 +742,7 @@ Engine::PickedObjectRef Engine::pickOne(int x, int y, Engine::Object *obj)
forward[0] = m_center[0] - m_eye[0]; forward[0] = m_center[0] - m_eye[0];
forward[1] = m_center[1] - m_eye[1]; forward[1] = m_center[1] - m_eye[1];
forward[2] = m_center[2] - m_eye[2]; forward[2] = m_center[2] - m_eye[2];
cross_product(right, forward, up); dCROSS(right, =, forward, up);
dRFrom2Axes(r, right[0], right[1], right[2], dRFrom2Axes(r, right[0], right[1], right[2],
forward[0], forward[1], forward[2]); forward[0], forward[1], forward[2]);
initial_direction[0] = x - m_av.getWidth() / 2; initial_direction[0] = x - m_av.getWidth() / 2;

View File

@ -25,15 +25,6 @@ static void checkGLErrorLine(const char * function, int line)
#define FP_EQ(a,b) (fabsf(a - b) < 0.0001) #define FP_EQ(a,b) (fabsf(a - b) < 0.0001)
/* static helper functions */
static void cross_product(dVector3 result, dVector3 first, dVector3 second)
{
result[0] = first[1] * second[2] - first[2] * second[1];
result[1] = first[2] * second[0] - first[0] * second[2];
result[2] = first[0] * second[1] - first[1] * second[0];
}
/* used for objects loaded directly from model files */ /* used for objects loaded directly from model files */
Engine::Object::Object(bool is_static, bool is_reference, bool enable_blending, Engine::Object::Object(bool is_static, bool is_reference, bool enable_blending,
OdeWorld & world, WFObj * obj, float scale) OdeWorld & world, WFObj * obj, float scale)
@ -374,8 +365,8 @@ void Engine::Object::render()
dVector3 cross_vec; dVector3 cross_vec;
for (int i = 0; i < 3; i++) for (int i = 0; i < 3; i++)
cross_vec[i] = (i == min_component) ? 1 : 0; cross_vec[i] = (i == min_component) ? 1 : 0;
cross_product(rotated_x, normal, cross_vec); dCROSS(rotated_x, =, normal, cross_vec);
cross_product(rotated_y, normal, rotated_x); dCROSS(rotated_y, =, normal, rotated_x);
x_o = normal[0] * d; x_o = normal[0] * d;
y_o = normal[1] * d; y_o = normal[1] * d;
z_o = normal[2] * d; z_o = normal[2] * d;