< GeeXLab Reference Guide />
> Back to Reference Guide Index
gh_model library
Description
gh_model is the module that manages models. A model node allows to define a 3d model. A model is a hierarchy of objects mainly made out of meshes. Some objects like gizmos (a very simple object node) may belong to this hierarchy to act as a pivot point on which more complex structures can be built. To keep it simple let's say a model is a kind of interface for easily modifying the properties of a number of meshes (children). GeeXLab can load directly many 3D models formats such as *.3ds, *.obj, *.glTF, *.x, etc.
Number of functions: 16
- gh_model.create_from_file ()
- gh_model.create_from_file_loader_3ds ()
- gh_model.create_from_file_loader_assimp ()
- gh_model.create_from_file_loader_assimp_v2 ()
- gh_model.create_from_file_loader_fbx ()
- gh_model.create_from_file_loader_gltf ()
- gh_model.create_from_file_loader_obj ()
- gh_model.create_from_file_loader_stl ()
- gh_model.create_from_zip_file_loader_assimp ()
- gh_model.load_textures ()
- gh_model.load_textures_from_zip ()
- gh_model.update_meshes_lists ()
- gh_model.render_opaque_meshes ()
- gh_model.get_num_opaque_meshes ()
- gh_model.render_transparent_meshes ()
- gh_model.get_num_transparent_meshes ()
create_from_file
Description
Loads a 3d object filename and creates a model.
Syntax
model_id = gh_model.create_from_file(
model_filename,
model_directory,
resource_directory
)
Languages
Parameters
- model_filename [STRING]: 3d object filename
- model_directory [STRING]: directory of the model filename
- resource_directory [STRING]: directory of the resources used by the model (usually textures)
Return Values
- model_id [ID]: model identifier
Code sample
model_filename = "wheel.3ds"
model_directory = "data/"
resource_directory = "data/"
model_id = gh_model.create_from_file(model_filename, model_directory, resource_directory)
create_from_file_loader_3ds
Description
Loads a *.3ds object filename and creates a model.
Syntax
model_id = gh_model.create_from_file_loader_3ds(
model_filename,
model_directory,
resource_directory
)
Languages
Parameters
- model_filename [STRING]: 3d object filename
- model_directory [STRING]: directory of the model filename
- resource_directory [STRING]: directory of the resources used by the model (usually textures)
Return Values
- model_id [ID]: model identifier
Code sample
model_filename = "wheel.3ds"
model_directory = "data/"
resource_directory = "data/"
model_id = gh_model.create_from_file_loader_3ds(model_filename, model_directory, resource_directory)
create_from_file_loader_assimp
Description
Loads a 3D object filename using ASSIMP (many 3D formats are supported) plugin and creates a model.
Syntax
model_id = gh_model.create_from_file_loader_assimp(
model_filename,
model_directory,
resource_directory
)
Languages
Parameters
- model_filename [STRING]: 3d object filename
- model_directory [STRING]: directory of the model filename
- resource_directory [STRING]: directory of the resources used by the model (usually textures)
Return Values
- model_id [ID]: model identifier
Code sample
model_filename = "wheel.stl"
model_directory = "data/"
resource_directory = "data/"
model_id = gh_model.create_from_file_loader_assimp(model_filename, model_directory, resource_directory)
create_from_file_loader_assimp_v2
Description
Loads a 3D object filename using ASSIMP (many 3D formats are supported) plugin and creates a model.
Syntax
model_id = gh_model.create_from_file_loader_assimp_v2(
model_filename,
model_directory,
resource_directory,
pp_options
)
Languages
Parameters
- model_filename [STRING]: 3d object filename
- model_directory [STRING]: directory of the model filename
- resource_directory [STRING]: directory of the resources used by the model (usually textures)
- pp_options [ENUM]: post processing options for ASSIMP
Return Values
- model_id [ID]: model identifier
Code sample
model_filename = "wheel.stl"
model_directory = "data/"
resource_directory = "data/"
pp_options = ""
model_id = gh_model.create_from_file_loader_assimp_v2(model_filename, model_directory, resource_directory, pp_options)
create_from_file_loader_fbx
Description
Loads a *.fbx, *.3ds or *.obj object filename and creates a model.
Syntax
model_id = gh_model.create_from_file_loader_fbx(
model_filename,
model_directory,
resource_directory
)
Languages
Parameters
- model_filename [STRING]: 3d object filename
- model_directory [STRING]: directory of the model filename
- resource_directory [STRING]: directory of the resources used by the model (usually textures)
Return Values
- model_id [ID]: model identifier
Code sample
model_filename = "wheel.fbx"
model_directory = "data/"
resource_directory = "data/"
model_id = gh_model.create_from_file_loader_fbx(model_filename, model_directory, resource_directory)
create_from_file_loader_gltf
Description
Loads a *.gltf object filename and creates a model.
Syntax
model_id = gh_model.create_from_file_loader_gltf(
model_filename,
model_directory,
resource_directory
)
Languages
Parameters
- model_filename [STRING]: 3d object filename
- model_directory [STRING]: directory of the model filename
- resource_directory [STRING]: directory of the resources used by the model (usually textures)
Return Values
- model_id [ID]: model identifier
Code sample
model_filename = "scene.gltf"
model_directory = "data/"
resource_directory = "data/"
model_id = gh_model.create_from_file_loader_gltf(model_filename, model_directory, resource_directory)
create_from_file_loader_obj
Description
Loads a *.obj object filename and creates a model.
Syntax
model_id = gh_model.create_from_file_loader_obj(
model_filename,
model_directory,
resource_directory
)
Languages
Parameters
- model_filename [STRING]: 3d object filename
- model_directory [STRING]: directory of the model filename
- resource_directory [STRING]: directory of the resources used by the model (usually textures)
Return Values
- model_id [ID]: model identifier
Code sample
model_filename = "wheel.obj"
model_directory = "data/"
resource_directory = "data/"
model_id = gh_model.create_from_file_loader_obj(model_filename, model_directory, resource_directory)
create_from_file_loader_stl
Description
Loads a binary *.stl object filename and creates a model.
Syntax
model_id = gh_model.create_from_file_loader_stl(
model_filename,
model_directory,
resource_directory
)
Languages
Parameters
- model_filename [STRING]: 3d object filename
- model_directory [STRING]: directory of the model filename
- resource_directory [STRING]: directory of the resources used by the model (usually textures)
Return Values
- model_id [ID]: model identifier
Code sample
model_filename = "wheel.stl"
model_directory = "data/"
resource_directory = "data/"
model_id = gh_model.create_from_file_loader_stl(model_filename, model_directory, resource_directory)
create_from_zip_file_loader_assimp
Description
Loads a 3D object file using ASSIMP plugin (many 3D formats are supported) from a zip archive and creates a model.
Syntax
model_id = gh_model.create_from_zip_file_loader_assimp(
zip_filename,
model_filename,
model_directory,
resource_directory,
pp_options
)
Languages
Parameters
- zip_filename [STRING]: absolute path of the zip file
- model_filename [STRING]: 3d object filename in the zip file
- model_directory [STRING]: directory of the model filename
- resource_directory [STRING]: directory of the resources used by the model (usually textures)
- pp_options [ENUM]: post processing options for ASSIMP
Return Values
- model_id [ID]: model identifier
Code sample
zip_filename = gh_utils.get_demo_dir() .. "demo.zip"
model_filename = "wheel.stl"
model_directory = "data/"
resource_directory = "data/"
pp_options = ""
model_id = gh_model.create_from_zip_file_loader_assimp(zip_filename, model_filename, model_directory, resource_directory, pp_options)
load_textures
Description
Loads all textures associated with the model. Once the model is loaded, you can load all textures using this function.
Syntax
num_textures = gh_model.load_textures(
model_id,
texture_directory
)
Languages
Parameters
- model_id [ID]: model identifier
- texture_directory [STRING]: specifies the textures directory
Return Values
- num_textures [INTEGER]: number of loaded textures
Code sample
num_textures = gh_model.load_textures(model_id, "data/")
load_textures_from_zip
Description
Loads all textures associated with the model from a zip file. Once the model is loaded, you can load all textures using this function.
Syntax
num_textures = gh_model.load_textures_from_zip(
model_id,
zip_filename,
texture_directory
)
Languages
Parameters
- model_id [ID]: model identifier
- zip_filename [STRING]: absolute path of the zip file
- texture_directory [STRING]: specifies the textures directory
Return Values
- num_textures [INTEGER]: number of loaded textures
Code sample
num_textures = gh_model.load_textures_from_zip(model_id, zip_filename, "data/")
update_meshes_lists
Description
Updates internal lists with opaque ans transparent meshes based on the opacity of the material.
Syntax
gh_model.update_meshes_lists(
model_id,
opacity_threshold
)
Languages
Parameters
- model_id [ID]: model identifier
- opacity_threshold [REAL]: values less than threshold define transparent surfaces
Return Values
This function has no return value(s).
Code sample
opacity_threshold = 1.0
gh_model.update_meshes_lists(model_id, opacity_threshold)
render_opaque_meshes
Description
Renders opaque meshes only. Call update_meshes_lists() before (in INIT script for example).
Syntax
gh_model.render_opaque_meshes(
model_id
)
Languages
Parameters
- model_id [ID]: model identifier
Return Values
This function has no return value(s).
Code sample
gh_model.render_opaque_meshes(model_id)
get_num_opaque_meshes
Description
Returns the number of opaque meshes. Call update_meshes_lists() before (in INIT script for example).
Syntax
num_opaque_meshes = gh_model.get_num_opaque_meshes(
model_id
)
Languages
Parameters
- model_id [ID]: model identifier
Return Values
- num_opaque_meshes [INTEGER]: number of opaque meshes
Code sample
num_opaque_meshes = gh_model.get_num_opaque_meshes(model_id)
render_transparent_meshes
Description
Renders transparent meshes only. Call update_meshes_lists() once before.
Syntax
gh_model.render_transparent_meshes(
model_id
)
Languages
Parameters
- model_id [ID]: model identifier
Return Values
This function has no return value(s).
Code sample
gh_model.render_transparent_meshes(model_id)
get_num_transparent_meshes
Description
Returns the number of transparent meshes. Call update_meshes_lists() before (in INIT script for example).
Syntax
num_transparent_meshes = gh_model.get_num_transparent_meshes(
model_id
)
Languages
Parameters
- model_id [ID]: model identifier
Return Values
- num_transparent_meshes [INTEGER]: number of transparent meshes
Code sample
num_transparent_meshes = gh_model.get_num_transparent_meshes(model_id)
| |