source: trunk/packages/vizservers/nanovis/vrmath/vrVector4f.cpp @ 2096

Last change on this file since 2096 was 2096, checked in by ldelgass, 13 years ago

Normalize line endings, set eol-style to native on *.cpp, *.h files

  • Property svn:eol-style set to native
File size: 1.2 KB
Line 
1#include <vrmath/vrVector4f.h>
2#include <vrmath/vrMatrix4x4f.h>
3
4void vrVector4f::mult( const vrMatrix4x4f& mat, const vrVector4f& vector)
5{
6    const float* m = mat.get();
7    x = vector.x*m[0]+vector.y*m[4]+vector.z*m[8]+vector.w*m[12];
8        y = vector.x*m[1]+vector.y*m[5]+vector.z*m[9]+vector.w*m[13];
9        z = vector.x*m[2]+vector.y*m[6]+vector.z*m[10]+vector.w*m[14];
10        w = vector.x*m[3]+vector.y*m[7]+vector.z*m[11]+vector.w*m[15];   
11}
12
13void vrVector4f::mult(const vrMatrix4x4f& mat)
14{
15    vrVector4f vector(x, y, z, w);
16    const float* m = mat.get();
17
18        x = vector.x*m[0]+vector.y*m[4]+vector.z*m[8]+vector.w*m[12];
19        y = vector.x*m[1]+vector.y*m[5]+vector.z*m[9]+vector.w*m[13];
20        z = vector.x*m[2]+vector.y*m[6]+vector.z*m[10]+vector.w*m[14];
21        w = vector.x*m[3]+vector.y*m[7]+vector.z*m[11]+vector.w*m[15];   
22}
23
24void vrVector4f::transform(const vrVector4f& v, const vrMatrix4x4f& mat)
25{
26        vrVector4f vector(x, y, z, w);
27        const float* m = mat.get();
28        x = vector.x * m[0] + vector.y*m[4]+vector.z*m[8]+vector.w*m[12];
29    y = vector.x * m[1] + vector.y*m[5]+vector.z*m[9]+vector.w*m[13];
30    z = vector.x*m[2]+vector.y*m[6]+vector.z*m[10]+vector.w*m[14];
31    w = vector.x*m[3]+vector.y*m[7]+vector.z*m[11]+vector.w*m[15];
32
33}
Note: See TracBrowser for help on using the repository browser.