Code:
Bool getImage(C UID &elm_id, Image &image); // get image of 'elm_id' ELM_IMAGE element in the project, false on fail
Bool setImage(C UID &elm_id, C Image &image); // set image of 'elm_id' ELM_IMAGE element in the project, false on fail
// code
Bool getCode(C UID &elm_id, Str &code); // get source code of 'elm_id' ELM_CODE element in the project, false on fail
Bool setCode(C UID &elm_id, C Str &code); // set source code of 'elm_id' ELM_CODE element in the project, false on fail
// file
Bool getFile(C UID &elm_id, File &data); // get data of 'elm_id' ELM_FILE ELM_SOUND ELM_VIDEO elements in the project, 'data' must be already opened for writing as the method will write to it, false on fail
Bool setFile(C UID &elm_id, File &data); // set data of 'elm_id' ELM_FILE ELM_SOUND ELM_VIDEO elements in the project, 'data' must be already opened for reading as the method will read from it, false on fail
// material
Bool curMaterial (C UID &elm_id ); // open material editor of 'elm_id' ELM_MTRL element in the project, if 'UIDZero' is passed then editor will close the material editor, false on fail
Bool getMaterial (C UID &elm_id, Material &material ); // get material parameters of 'elm_id' ELM_MTRL ELM_WATER_MTRL element in the project, false on fail
Bool setMaterial (C UID &elm_id, C Material &material, Bool reload_textures, Bool adjust_params ); // set material parameters of 'elm_id' ELM_MTRL ELM_WATER_MTRL element in the project, false on fail, 'reload_textures'=if reload the textures that were changed during this update (if this is set to false, then texture files names will get updated, however the texture images will remain the same), 'adjust_params'=if automatically adjust some parameters based on detected texture change (for example default specular value is 0, however if a specular map was added to the material in this change, then specular intensity value should be set to value >0 so the specular effect is visible, in this case 'adjust_params'=will automatically adjust specular intensity to 1 if a specular map was added and the intensity was 0. 'adjust_params' may adjust some other parameters as well)
Bool reloadMaterialTextures(C UID &elm_id, bool base, bool reflection, bool detail, bool macro, bool light); // reload material textures of 'elm_id' ELM_MTRL ELM_WATER_MTRL element in the project, false on fail
// mesh
Bool getMesh(C UID &elm_id, Mesh &mesh, Matrix *matrix=null); // get mesh of 'elm_id' ELM_OBJ ELM_MESH elements in the project, false on fail, 'matrix'=matrix by which the mesh is going to be transformed by the editor
Bool setMesh(C UID &elm_id, C Mesh &mesh ); // set mesh of 'elm_id' ELM_OBJ ELM_MESH elements in the project, false on fail
// animation
Bool getAnimation(C UID &elm_id, Animation &anim); // get animation of 'elm_id' ELM_ANIM element in the project, false on fail
Bool setAnimation(C UID &elm_id, C Animation &anim); // set animation of 'elm_id' ELM_ANIM element in the project, false on fail
// object
Bool getObject(C UID &elm_id, ObjData &obj, Bool include_removed_params=false); // get object data of 'elm_id' ELM_OBJ ELM_OBJ_CLASS elements in the project, 'include_removed_params'=if include object parameters that were removed, false on fail
Bool modifyObject(C UID &elm_id, C Memp<ObjChange> &changes ); // modify object data of 'elm_id' ELM_OBJ ELM_OBJ_CLASS elements in the project according to specified list of 'changes', false on fail