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;
}
示例#3
0
文件: graph.c 项目: ferlief/AA
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;
	
}