ciao .
Ho il seguente xml:
codice:
<IfcRelAssociatesMaterial id="i1774">
   <GlobalId>3lRy_2mo55tArzbWSDKKKD</GlobalId>
	<OwnerHistory>
		<IfcOwnerHistory xsi:nil="true" ref="i1568"/>
	</OwnerHistory>
	<RelatedObjects ex:cType="set">
		<IfcWallStandardCase pos="0" xsi:nil="true" ref="i1705"/>
	</RelatedObjects>
	<RelatingMaterial>
		<IfcMaterialLayerSetUsage xsi:nil="true" ref="i1695"/>
	</RelatingMaterial>
</IfcRelAssociatesMaterial>
nella classe che ho generato per fare il parsing dell xml ho:
codice:
class myclass
{
   IfcWallStandardCase * pWall
   CIfcMaterialLayerSetUsage* pMaterial 
}
nell xml ci sono queste definizioni , tutte sotto il nodo root e mi trovo ad avere un array di myclass con tutte le associazioni wall/materiale.

ora, dopo l'importazione e il parsing dell xml devo utilizzare queste classi , sapendo l'id del materiale(pWall->m_id) che č comune a tutte le classi CIfcWallStandardCase , e andando a prendere il pMaterial della classe CIfcMaterialLayerSetUsage relativo.
In ogni myclass avro solo un materiale e solo un wall.
Non mi posso basare sul fatto di avere prima il wall e dopo il materiale, l'ordine č ininfluente.
Pensavo ad una mappa per andare a prendere il materiale dall' id del muro ma posso anche scorrere tutta la collezione delle classi myclass per trovare l'id del wall uguale tra quello che cerco e quello che č nella classe e dove č uguale andare a prendere il materiale relativo, č molto piu' lento?
sapendo che potro avere al massimo 1000 elementi.
voi cosa mi consigliate?
Grazie.