unsigned int GLC_StructOccurence::numberOfVertex() const { unsigned int result= 0; if (hasRepresentation()) { result= structInstance()->structReference()->numberOfVertex(); } const int size= m_Childs.size(); for (int i= 0; i < size; ++i) { result+= m_Childs.at(i)->numberOfVertex(); } return result; }
QSet<GLC_Material*> GLC_StructOccurence::materialSet() const { QSet<GLC_Material*> materialSet; if (hasRepresentation()) { materialSet= structInstance()->structReference()->materialSet(); } const int size= m_Childs.size(); for (int i= 0; i < size; ++i) { materialSet.unite(m_Childs.at(i)->materialSet()); } return materialSet; }
// Get number of faces unsigned int GLC_StructOccurence::numberOfFaces() const { unsigned int result= 0; if (m_HasRepresentation) { result= structInstance()->structReference()->numberOfFaces(); } else { const int size= m_Childs.size(); for (int i= 0; i < size; ++i) { result+= m_Childs.at(i)->numberOfFaces(); } } return result; }
unsigned int GLC_StructOccurence::numberOfMaterials() const { unsigned int result= 0; QSet<GLC_Material*> materialSet; if (hasRepresentation()) { result= structInstance()->structReference()->numberOfMaterials(); } const int size= m_Childs.size(); for (int i= 0; i < size; ++i) { materialSet.unite(m_Childs.at(i)->materialSet()); } result= static_cast<unsigned int>(materialSet.size()); return result; }