Home | nevrax.com |
|
mrm_mesh.cppGo to the documentation of this file.00001 00007 /* Copyright, 2000 Nevrax Ltd. 00008 * 00009 * This file is part of NEVRAX NEL. 00010 * NEVRAX NEL is free software; you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License as published by 00012 * the Free Software Foundation; either version 2, or (at your option) 00013 * any later version. 00014 00015 * NEVRAX NEL is distributed in the hope that it will be useful, but 00016 * WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00018 * General Public License for more details. 00019 00020 * You should have received a copy of the GNU General Public License 00021 * along with NEVRAX NEL; see the file COPYING. If not, write to the 00022 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 00023 * MA 02111-1307, USA. 00024 */ 00025 00026 #include "std3d.h" 00027 00028 #include "3d/mrm_mesh.h" 00029 #include <algorithm> 00030 00031 using namespace std; 00032 00033 namespace NL3D 00034 { 00035 00036 00037 // *************************************************************************** 00038 uint CMRMMeshFinal::CWedge::NumAttributesToCompare= 0; 00039 bool CMRMMeshFinal::CWedge::CompareSkinning= false; 00040 00041 00042 // *************************************************************************** 00043 CMRMMesh::CMRMMesh() 00044 { 00045 NumAttributes= 0; 00046 } 00047 00048 00049 00050 // *************************************************************************** 00051 sint CMRMMeshFinal::findInsertWedge(const CWedge &w) 00052 { 00053 sint ret; 00054 TWedgeMap::iterator it; 00055 it= _WedgeMap.find(w); 00056 00057 // if not found, must add it. 00058 if(it==_WedgeMap.end()) 00059 { 00060 ret= Wedges.size(); 00061 // insert into the map, with good id. 00062 _WedgeMap.insert(make_pair(w, ret)); 00063 // add it to the array. 00064 Wedges.push_back(w); 00065 } 00066 else 00067 { 00068 ret= it->second; 00069 } 00070 00071 return ret; 00072 } 00073 00074 // *************************************************************************** 00075 CMRMMeshFinal::CWedge::CWedge() 00076 { 00077 Vertex = NLMISC::CVector::Null; 00078 NSkinMatUsed = 0; 00079 for (uint k = 0; k < NL3D_MRM_MAX_ATTRIB; ++k) 00080 { 00081 Attributes[k].set(0, 0, 0, 0); 00082 } 00083 } 00084 00085 } // NL3D |