int BrfData::FindTextureWithExt(const char* name){ int k = myfind(texture,name); if (k>=0) return k; char full[1024]; sprintf(full,"%s.dds",name); return myfind(texture, full); }
int kruskal() { int i,j,k; for(k=0;k<m;k++){ i=myfind(nodes[k].i); j=myfind(nodes[k].j); if(i!=j){ unionij(i,j); ans+=nodes[k].value; } } if(ans>total)return 0; return 1; }
int myfind(int i) { int t; if(father[i]==-1) return i; t=myfind(father[i]); father[i]=t; return t; }
int BrfData::Find(const char* name, int token) const{ switch (token) { case MESH: return myfind(mesh,name); case MATERIAL: return myfind(material,name); case SHADER: return myfind(shader,name); case TEXTURE: return myfind(texture,name); case BODY: return myfind(body,name); case SKELETON: return myfind(skeleton,name); case ANIMATION: return myfind(animation,name); } return -1; }
int main(){ scanf("%d", &n); for(int i = 0;i < n;i++) scanf("%d", &a[i]); int m; scanf("%d", &m); int cnt = 0; int temp; for(int i = 0;i < m;i++){ scanf("%d", &temp); if(myfind(temp) != -1) cnt++; } printf("%d\n", cnt); return 0; }
BrfMesh* BrfData::FindMesh(const char* name){ int i= myfind(mesh,name); if (i<0) return NULL; else return &(mesh[i]); }
BrfBody* BrfData::FindBody(const char* name){ int i= myfind(body,name); if (i<0) return NULL; else return &(body[i]); }