00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "Teddy/Models/Face.h"
00026 #if defined( TEDDY_INCLUDE_COLDET )
00027 # include "Teddy/ColDet/ColDet.h"
00028 #endif
00029
00030
00031 namespace Teddy {
00032 namespace Models {
00033
00034
00039 #if defined( TEDDY_INCLUDE_COLDET )
00040 int Face::addToCollisionModel( Teddy::ColDet::CollisionModel3D *collision_model ){
00041 int tris = 0;
00042 list<Vertex*>::const_iterator v_it = vertices.begin();
00043
00044 Vector a = (*v_it)->getVertex(); v_it++; if( v_it == vertices.end() ) return 0;
00045 Vector b = (*v_it)->getVertex(); v_it++;
00046 while( v_it != vertices.end() ){
00047 Vector c = (*v_it)->getVertex();
00048 FloatVector fa = a;
00049 FloatVector fb = b;
00050 FloatVector fc = c;
00051 collision_model->addTriangle( fa, fb, fc );
00052 a = b;
00053 b = c;
00054 tris++;
00055 v_it++;
00056 }
00057 return tris;
00058 }
00059 #endif
00060
00061
00062 };
00063 };
00064