Main Page   Namespace List   Compound List   File List   Compound Members   File Members  

polygon.cpp

Go to the documentation of this file.
00001 #include <windows.h>
00002 #include "polygon.h"
00003 #include "mmgr.h"
00004 
00005 POLYGON::POLYGON()
00006 {
00007 }
00008 
00009 POLYGON::~POLYGON()
00010 {
00011 }
00012 
00013 VECTOR POLYGON::GetNormal()
00014 {
00015         VECTOR temp; 
00016         float ux;
00017         float uy;
00018         float uz;
00019         float vx;
00020         float vy;
00021         float vz;
00022         ux = Vertex[1].x - Vertex[0].x;
00023         uy = Vertex[1].y - Vertex[0].y;
00024         uz = Vertex[1].z - Vertex[0].z;
00025         vx = Vertex[2].x - Vertex[0].x;
00026         vy = Vertex[2].y - Vertex[0].y;
00027         vz = Vertex[2].z - Vertex[0].z;
00028         temp.x = (uy*vz)-(vy*uz);
00029         temp.y = (uz*vx)-(vz*ux);
00030         temp.z = (ux*vy)-(vx*uy);
00031         return temp;
00032 }
00033 
00034 void POLYGON::SetNormal()
00035 {
00036         float ux;
00037         float uy;
00038         float uz;
00039         float vx;
00040         float vy;
00041         float vz;
00042           ux = Vertex[1].x - Vertex[0].x;
00043           uy = Vertex[1].y - Vertex[0].y;
00044           uz = Vertex[1].z - Vertex[0].z;
00045           vx = Vertex[2].x - Vertex[0].x;
00046           vy = Vertex[2].y - Vertex[0].y;
00047           vz = Vertex[2].z - Vertex[0].z;
00048           Vertex[0].nx = (uy*vz)-(vy*uz);
00049           Vertex[0].ny = (uz*vx)-(vz*ux);
00050           Vertex[0].nz = (ux*vy)-(vx*uy);
00051         Vertex[1].nx = Vertex[0].nx;
00052           Vertex[1].ny = Vertex[0].ny;
00053           Vertex[1].nz = Vertex[0].nz;
00054           Vertex[2].nx = Vertex[0].nx;
00055           Vertex[2].ny = Vertex[0].ny;
00056           Vertex[2].nz = Vertex[0].nz;
00057 }

Generated on Fri Dec 23 05:22:19 2005 for Template by doxygen1.2.15