public Object3D getChildByName(String name) { for (int i = 0, j = mChildren.size(); i < j; i++) { if (mChildren.get(i).getName().equals(name)) { return mChildren.get(i); } } return null; }
/** * Build string representation of object hierarchy * @param parent * @param sb * @param prefix */ private void buildObjectGraph(Object3D parent, StringBuffer sb, String prefix) { sb.append(prefix).append("-->").append((parent.isContainer() ? "GROUP " : "") + parent.getName()).append('\n'); for(int i=0; i<parent.getNumChildren(); i++) { buildObjectGraph(parent.getChildAt(i), sb, prefix+"\t"); } }
RajLog.i("Parsing group: " + currentGroup.getName()); if (currentObjHasFaces) { objIndices.add(currObjIndexData); currObjIndexData = new ObjIndexData(new Object3D(generateObjectName())); RajLog.i("Parsing object: " + currObjIndexData.targetObj.getName()); currObjIndexData.materialName = currentMaterialName; currentObjHasFaces = false; currObjIndexData = new ObjIndexData(new Object3D(currObjIndexData.targetObj.getName())); currObjIndexData.materialName = currentMaterialName; addChildSetParent(currentGroup, currObjIndexData.targetObj); RajLog.i("Parsing object: " + currObjIndexData.targetObj.getName()); currentObjHasFaces = false; objIndices.add(currObjIndexData); currObjIndexData = new ObjIndexData(new Object3D(generateObjectName())); RajLog.i("Parsing object: " + currObjIndexData.targetObj.getName()); addChildSetParent(currentGroup, currObjIndexData.targetObj); currentObjHasFaces = false; RajLog.i("Parsing object: " + currObjIndexData.targetObj.getName()); objIndices.add(currObjIndexData);
/** * Collapse single-object groups. (Some obj exporters use g token for objects) * @param object */ private void mergeGroupsAsObjects(Object3D object) { if(object.isContainer() && object.getNumChildren()==1 && object.getChildAt(0).getName().startsWith("Object")) { Object3D child = object.getChildAt(0); object.removeChild(child); child.setName(object.getName()); addChildSetParent(object.getParent(), child); object.getParent().removeChild(object); object = child; } for(int i=0; i<object.getNumChildren(); i++) { mergeGroupsAsObjects(object.getChildAt(i)); } }
public void setMaterial(Object3D object, String materialName) throws TextureException { if(materialName == null) { RajLog.i(object.getName() + " has no material definition." ); return; int etc1Id = mResources.getIdentifier(fileNameWithoutExtension, "raw", mResourcePackage); if(etc1Id!=0) { mat.addTexture(new Texture(object.getName()+fileNameWithoutExtension, new Etc1Texture(object.getName()+etc1Id, etc1Id, id!=0 ? BitmapFactory.decodeResource(mResources, id) : null))); } else if(id!=0) { mat.addTexture(new Texture(object.getName()+fileNameWithoutExtension, id)); if(mFile == null) { int identifier = mResources.getIdentifier(getFileNameWithoutExtension(matDef.bumpTexture), "drawable", mResourcePackage); mat.addTexture(new NormalMapTexture(object.getName() + identifier, identifier)); } else { String filePath = mFile.getParent() + File.separatorChar + getOnlyFileName(matDef.bumpTexture); if(mFile == null) { int identifier = mResources.getIdentifier(getFileNameWithoutExtension(matDef.specularColorTexture), "drawable", mResourcePackage); mat.addTexture(new SpecularMapTexture(object.getName() + identifier, identifier)); } else { String filePath = mFile.getParent() + File.separatorChar + getOnlyFileName(matDef.specularColorTexture);
public Object3D getChildByName(String name) { for (int i = 0, j = mChildren.size(); i < j; i++) if (mChildren.get(i).getName().equals(name)) return mChildren.get(i); return null; }
/** * Build string representation of object hierarchy * @param parent * @param sb * @param prefix */ private void buildObjectGraph(Object3D parent, StringBuffer sb, String prefix) { sb.append(prefix).append("-->").append((parent.isContainer() ? "GROUP " : "") + parent.getName()).append('\n'); for(int i=0; i<parent.getNumChildren(); i++) { buildObjectGraph(parent.getChildAt(i), sb, prefix+"\t"); } }
RajLog.i("Parsing group: " + currentGroup.getName()); if (currentObjHasFaces) { objIndices.add(currObjIndexData); currObjIndexData = new ObjIndexData(new Object3D(generateObjectName())); RajLog.i("Parsing object: " + currObjIndexData.targetObj.getName()); currObjIndexData.materialName = currentMaterialName; currentObjHasFaces = false; currObjIndexData = new ObjIndexData(new Object3D(currObjIndexData.targetObj.getName())); currObjIndexData.materialName = currentMaterialName; addChildSetParent(currentGroup, currObjIndexData.targetObj); RajLog.i("Parsing object: " + currObjIndexData.targetObj.getName()); currentObjHasFaces = false; objIndices.add(currObjIndexData); currObjIndexData = new ObjIndexData(new Object3D(generateObjectName())); RajLog.i("Parsing object: " + currObjIndexData.targetObj.getName()); addChildSetParent(currentGroup, currObjIndexData.targetObj); currentObjHasFaces = false; RajLog.i("Parsing object: " + currObjIndexData.targetObj.getName()); objIndices.add(currObjIndexData);
/** * Collapse single-object groups. (Some obj exporters use g token for objects) * @param object */ private void mergeGroupsAsObjects(Object3D object) { if(object.isContainer() && object.getNumChildren()==1 && object.getChildAt(0).getName().startsWith("Object")) { Object3D child = object.getChildAt(0); object.removeChild(child); child.setName(object.getName()); addChildSetParent(object.getParent(), child); object.getParent().removeChild(object); object = child; } for(int i=0; i<object.getNumChildren(); i++) { mergeGroupsAsObjects(object.getChildAt(i)); } }
public void setMaterial(Object3D object, String materialName) throws TextureException { if(materialName == null) { RajLog.i(object.getName() + " has no material definition." ); return; int etc1Id = mResources.getIdentifier(fileNameWithoutExtension, "raw", mResourcePackage); if(etc1Id!=0) { mat.addTexture(new Texture(object.getName()+fileNameWithoutExtension, new Etc1Texture(object.getName()+etc1Id, etc1Id, id!=0 ? BitmapFactory.decodeResource(mResources, id) : null))); } else if(id!=0) { mat.addTexture(new Texture(object.getName()+fileNameWithoutExtension, id)); if(mFile == null) { int identifier = mResources.getIdentifier(getFileNameWithoutExtension(matDef.bumpTexture), "drawable", mResourcePackage); mat.addTexture(new NormalMapTexture(object.getName() + identifier, identifier)); } else { String filePath = mFile.getParent() + File.separatorChar + getOnlyFileName(matDef.bumpTexture); if(mFile == null) { int identifier = mResources.getIdentifier(getFileNameWithoutExtension(matDef.specularColorTexture), "drawable", mResourcePackage); mat.addTexture(new SpecularMapTexture(object.getName() + identifier, identifier)); } else { String filePath = mFile.getParent() + File.separatorChar + getOnlyFileName(matDef.specularColorTexture);