void xmlBranchSave::FillLODs( const dataBranch &_data , TiXmlElement* root ) { //формирование записей LOD'ов //создать запись для вершин TiXmlElement *pLods = NULL; pLods = new TiXmlElement( m_BranchNames.m_sLODs.c_str() ); //количество LOD's pLods->SetAttribute( m_BranchNames.m_sNum.c_str() , _data.m_vLOD.size() ); for( int i = 0 ; i < _data.m_vLOD.size() ; ++i ) { //создать запись для вершин TiXmlElement *pLod = NULL; pLod = new TiXmlElement( m_BranchNames.m_sLOD.c_str() ); //номер LOD's pLod->SetAttribute( m_BranchNames.m_sNum.c_str() , i ); //номер LOD's pLod->SetDoubleAttribute( m_BranchNames.m_sAlfaTest.c_str() , _data .m_vLOD[ i ].m_fAlphaTestValue ); //заполнить данными о координатах FillVertex( _data .m_vLOD[ i ] , pLod ); //заполнить индексами FillIndexes( _data .m_vLOD[ i ] , pLod ); pLods->LinkEndChild( pLod ); } root->LinkEndChild( pLods ); }
TiXmlElement* xmlFrondsSave::GetXmlData() { //получить xml тег с сформированными данными //получить ссылку на данные веток dataFronds &_data = xmlRoot::Instance().GetDataFronds(); //формируем корневой узел данных TiXmlElement *pFronds = NULL; pFronds = new TiXmlElement( m_FrondsNames.m_sFronds.c_str() ); //значение альфа теста pFronds->SetDoubleAttribute( m_FrondsNames.m_sAlfaTest.c_str() , _data.m_fAlphaTestValue ); //заполнить данными о текстурах FillTextures( _data , pFronds ); //заполнить данными о координатах FillVertex( _data , pFronds ); //заполнить индексами FillIndexes( _data , pFronds ); return pFronds; }
int GRA_FillGraph ( GRA_ttGraph ** pGraph, char pVer, char * pAdjVec ) { if ( (*pGraph)->freePos == (*pGraph)->total ) return 1; (*pGraph)->nodesVec[(*pGraph)->freePos] = (GRA_ttVerGraph*) malloc ( sizeof(GRA_ttVerGraph) ); if ((*pGraph)->nodesVec[(*pGraph)->freePos] == NULL) return 1; FillVertex (&(*pGraph)->nodesVec[(*pGraph)->freePos], pVer, pAdjVec); (*pGraph)->freePos = ((*pGraph)->freePos)++; return 0; }