# Files

## Functions

Lib3dsFile * | lib3ds_file_load (const char *filename)
Lib3dsBool | lib3ds_file_save (Lib3dsFile *file, const char *filename)
Lib3dsFile * | lib3ds_file_new ()
void | lib3ds_file_free (Lib3dsFile *file)
void | lib3ds_file_eval (Lib3dsFile *file, Lib3dsFloat t)
Lib3dsBool | lib3ds_file_read (Lib3dsFile *file, FILE *f)
Lib3dsBool | lib3ds_file_write (Lib3dsFile *file, FILE *f)
void | lib3ds_file_insert_material (Lib3dsFile *file, Lib3dsMaterial *material)
void | lib3ds_file_remove_material (Lib3dsFile *file, Lib3dsMaterial *material)
Lib3dsMaterial * | lib3ds_file_material_by_name (Lib3dsFile *file, const char *name)
void | lib3ds_file_dump_materials (Lib3dsFile *file)
void | lib3ds_file_insert_mesh (Lib3dsFile *file, Lib3dsMesh *mesh)
void | lib3ds_file_remove_mesh (Lib3dsFile *file, Lib3dsMesh *mesh)
Lib3dsMesh * | lib3ds_file_mesh_by_name (Lib3dsFile *file, const char *name)
void | lib3ds_file_dump_meshes (Lib3dsFile *file)
void | lib3ds_file_dump_instances (Lib3dsFile *file)
void | lib3ds_file_insert_camera (Lib3dsFile *file, Lib3dsCamera *camera)
void | lib3ds_file_remove_camera (Lib3dsFile *file, Lib3dsCamera *camera)
Lib3dsCamera * | lib3ds_file_camera_by_name (Lib3dsFile *file, const char *name)
void | lib3ds_file_dump_cameras (Lib3dsFile *file)
void | lib3ds_file_insert_light (Lib3dsFile *file, Lib3dsLight *light)
void | lib3ds_file_remove_light (Lib3dsFile *file, Lib3dsLight *light)
Lib3dsLight * | lib3ds_file_light_by_name (Lib3dsFile *file, const char *name)
void | lib3ds_file_dump_lights (Lib3dsFile *file)
void | lib3ds_file_bounding_box (Lib3dsFile *file, Lib3dsVector min, Lib3dsVector max)
Lib3dsNode * | lib3ds_file_node_by_name (Lib3dsFile *file, const char *name, Lib3dsNodeTypes type)
Lib3dsNode * | lib3ds_file_node_by_id (Lib3dsFile *file, Lib3dsWord node_id)
void | lib3ds_file_insert_node (Lib3dsFile *file, Lib3dsNode *node)
Lib3dsBool | lib3ds_file_remove_node (Lib3dsFile *file, Lib3dsNode *node)
void | lib3ds_file_dump_nodes (Lib3dsFile *file)

## Detailed Description

Author:
  J.E. Hoffmann <je-h@gmx.net>

## Function Documentation

void lib3ds_file_bounding_box | ( | Lib3dsFile * | file,
|  | Lib3dsVector | min,
|  | Lib3dsVector | max
| ) |

Lib3dsCamera* lib3ds_file_camera_by_name | ( | Lib3dsFile * | file,
|  | const char * | name
| ) |

void lib3ds_file_dump_cameras | ( | Lib3dsFile * | file | ) |

void lib3ds_file_dump_instances | ( | Lib3dsFile * | file | ) |

void lib3ds_file_dump_lights | ( | Lib3dsFile * | file | ) |

void lib3ds_file_dump_materials | ( | Lib3dsFile * | file | ) |

void lib3ds_file_dump_meshes | ( | Lib3dsFile * | file | ) |

void lib3ds_file_dump_nodes | ( | Lib3dsFile * | file | ) |

void lib3ds_file_eval | ( | Lib3dsFile * | file,
|  | Lib3dsFloat | t
| ) |

void lib3ds_file_free | ( | Lib3dsFile * | file | ) |

void lib3ds_file_insert_camera | ( | Lib3dsFile * | file,
|  | Lib3dsCamera * | camera
| ) |

void lib3ds_file_insert_light | ( | Lib3dsFile * | file,
|  | Lib3dsLight * | light
| ) |

void lib3ds_file_insert_material | ( | Lib3dsFile * | file,
|  | Lib3dsMaterial * | material
| ) |

void lib3ds_file_insert_mesh | ( | Lib3dsFile * | file,
|  | Lib3dsMesh * | mesh
| ) |

void lib3ds_file_insert_node | ( | Lib3dsFile * | file,
|  | Lib3dsNode * | node
| ) |

Lib3dsLight* lib3ds_file_light_by_name | ( | Lib3dsFile * | file,
|  | const char * | name
| ) |

Lib3dsFile* lib3ds_file_load | ( | const char * | filename | ) |

Loads a .3DS file from disk into memory.

Parameters:

  | filename | The filename of the .3DS file

Returns:
  A pointer to the Lib3dsFile structure containing the data of the .3DS file. If the .3DS file can not be loaded NULL is returned.

Note:
  To free the returned pointer use lib3ds_free.

See also:
  lib3ds_file_save

  lib3ds_file_new

  lib3ds_file_free

Lib3dsMaterial* lib3ds_file_material_by_name | ( | Lib3dsFile * | file,
|  | const char * | name
| ) |

Lib3dsMesh* lib3ds_file_mesh_by_name | ( | Lib3dsFile * | file,
|  | const char * | name
| ) |

Lib3dsFile* lib3ds_file_new | ( |  | ) |

Lib3dsNode* lib3ds_file_node_by_id | ( | Lib3dsFile * | file,
|  | Lib3dsWord | node_id
| ) |

Lib3dsNode* lib3ds_file_node_by_name | ( | Lib3dsFile * | file,
|  | const char * | name,
|  | Lib3dsNodeTypes | type
| ) |

Lib3dsBool lib3ds_file_read | ( | Lib3dsFile * | file,
|  | FILE * | f
| ) |

void lib3ds_file_remove_camera | ( | Lib3dsFile * | file,
|  | Lib3dsCamera * | camera
| ) |

void lib3ds_file_remove_light | ( | Lib3dsFile * | file,
|  | Lib3dsLight * | light
| ) |

void lib3ds_file_remove_material | ( | Lib3dsFile * | file,
|  | Lib3dsMaterial * | material
| ) |

void lib3ds_file_remove_mesh | ( | Lib3dsFile * | file,
|  | Lib3dsMesh * | mesh
| ) |

Lib3dsBool lib3ds_file_remove_node | ( | Lib3dsFile * | file,
|  | Lib3dsNode * | node
| ) |

Lib3dsBool lib3ds_file_save | ( | Lib3dsFile * | file,
|  | const char * | filename
| ) |

Saves a .3DS file from memory to disk.

Parameters:

  | file | A pointer to a Lib3dsFile structure containing the the data that should be stored.
  | filename | The filename of the .3DS file to store the data in.

Returns:
  TRUE on success, FALSE otherwise.

See also:
  lib3ds_file_load

Lib3dsBool lib3ds_file_write | ( | Lib3dsFile * | file,
|  | FILE * | f
| ) |