Unigine::ImportScene Class
Header: | #include <UnigineImport.h> |
Import System API is not available for Entertainment SDK edition.
This class is used to manage scene graphs to be imported. A scene graph is a tree of nodes. When it is first created, the node is "empty" (i.e: it is an object without any graphical representation that only contains the position information). In this state, it is used only to represent parents in the node tree structure. Normally other objects (cameras, lights, meshes,...) are added to nodes as attributes to specialize it. Node attribute is an object in itself and is connected to a node. The same node attribute can be shared among multiple nodes.
A scene can include the following components:
ImportScene Class
Members
static ImportScenePtr create()
Constructor. Creates an empty import sceneImportAnimation * addAnimation()
Adds a given animation to the scene and returns a pointer to the added animation.Return value
ImportAnimation structure pointer.ImportCamera * addCamera(ImportNode * node)
Adds a new camera as an attribute to the specified scene graph node and returns a pointer to the added camera.Arguments
- ImportNode * node - Scene graph node to add a new camera to.
Return value
ImportCamera structure pointer.ImportLight * addLight(ImportNode * node)
Adds a new light as an attribute to the specified scene graph node and returns a pointer to the added light.Arguments
- ImportNode * node - Scene graph node to add a new light to.
Return value
ImportLight structure pointer.ImportMaterial * addMaterial()
Adds a new material to the scene and returns a pointer to the added material.Return value
ImportMaterial structure pointer.ImportMesh * addMesh(ImportNode * node)
Adds a new mesh as an attribute to the specified scene graph node and returns a pointer to the added mesh.Arguments
- ImportNode * node - Scene graph node to add a new mesh to.
Return value
ImportMesh structure pointer.ImportNode * addNode(ImportNode * parent)
Adds a new node as an attribute to the specified scene graph node and returns a pointer to the added node.Arguments
- ImportNode * parent - Scene graph node to add a new node to.
Return value
ImportNode structure pointer.ImportAnimation * getAnimation(int i)
Returns the animation with a given index.Arguments
- int i - Animation index, in the range from 0 to the total number of animations in the scene.
Return value
ImportAnimation structure pointer.const Vector<ImportAnimation *> & getAnimations()
Returns a vector containing all scene animations.Return value
Vector containing all scene animations as ImportAnimation structure pointers.ImportCamera * getCamera(int i)
Returns the camera with a given index.Arguments
- int i - Camera index, in the range from 0 to the total number of cameras in the scene.
Return value
ImportCamera structure pointer.const Vector<ImportCamera *> & getCameras()
Returns a vector containing all scene cameras.Return value
Vector containing all scene cameras as ImportCamera structure pointers.ImportLight * getLight(int i)
Returns the light with a given index.Arguments
- int i - Light index, in the range from 0 to the total number of lights in the scene.
Return value
ImportLight structure pointer.const Vector<ImportLight *> & getLights()
Returns a vector containing all scene lights.Return value
Vector containing all scene lights as ImportLight structure pointers.ImportMaterial * getMaterial(int i)
Returns the material with a given index.Arguments
- int i - Material index, in the range from 0 to the total number of materials in the scene.
Return value
ImportMaterial structure pointer.const Vector<ImportMaterial *> & getMaterials()
Returns a vector containing all scene materials.Return value
Vector containing all scene materials as ImportMaterial structure pointers.ImportMesh * getMesh(int i)
Returns the mesh with a given index.Arguments
- int i - Mesh index, in the range from 0 to the total number of meshes in the scene.
Return value
ImportMesh structure pointer.const Vector<ImportMesh *> & getMeshes()
Returns a vector containing all scene meshes.Return value
Vector containing all scene meshes as ImportMesh structure pointers.ImportNode * getNode(int i)
Returns the node with a given index.Arguments
- int i - Node index, in the range from 0 to the total number of nodes in the scene.
Return value
ImportNode structure pointer.const Vector<ImportNode *> & getNodes()
Returns a vector containing all scene graph nodes.Return value
Vector containing all scene graph nodes as ImportNode structure pointers.ImportTexture * getTexture(int i)
Returns the texture with a given index.Arguments
- int i - Texture index, in the range from 0 to the total number of textures in the scene.
Return value
ImportTexture structure pointer.ImportTexture * getTexture(const char * filepath)
Returns the node with a given file path.Arguments
- const char * filepath - Path to texture file.
Return value
ImportTexture structure pointer if it exists; otherwise, nullptr.const Vector<ImportTexture *> & getTextures()
Returns a vector containing all scene textures.Return value
Vector containing all scene textures as ImportTexture structure pointers.int getNumAnimations()
Returns the total number of animations in the scene.Return value
Number of animations in the scene.int getNumCameras()
Returns the total number of cameras in the scene.Return value
Number of cameras in the scene.int getNumLights()
Returns the total number of lights in the scene.Return value
Number of lights in the scene.int getNumMaterials()
Returns the total number of materials in the scene.Return value
Number of materials in the scene.int getNumMeshes()
Returns the total number of meshes in the scene.Return value
Number of meshes in the scene.int getNumNodes()
Returns the total number of nodes in the scene.Return value
Number of nodes in the scene.int getNumTextures()
Returns the total number of textures in the scene.Return value
Number of textures in the scene.void removeCamera(ImportCamera * camera)
Removes the specified camera from the scene.Arguments
- ImportCamera * camera - Pointer to an ImportCamera structure to be removed.
void removeLight(ImportLight * light)
Removes the specified light from the scene.Arguments
- ImportLight * light - Pointer to an ImportLight structure to be removed.
void removeMaterial(ImportMaterial * material)
Removes the specified material from the scene.Arguments
- ImportMaterial * material - Pointer to an ImportMaterial structure to be removed.
void removeMesh(ImportMesh * mesh)
Removes the specified mesh from the scene.Arguments
- ImportMesh * mesh - Pointer to an ImportMesh structure to be removed.
void removeNode(ImportNode * node)
Removes the specified node from the scene.Arguments
- ImportNode * node - Pointer to an ImportNode structure to be removed.
ImportTexture * findTexture(const char * filepath)
Returns a texture used in the scene by its file path.Arguments
- const char * filepath - Path to a texture file.
Return value
ImportTexture structure corresponding to the specified file path if it exists; otherwise, nullptr.void replaceMaterial(ImportMaterial * old_material, ImportMaterial * new_material)
Replaces a given material in the scene with another one.Arguments
- ImportMaterial * old_material - Pointer to ImportMaterial structure to be replaced.
- ImportMaterial * new_material - Pointer to ImportMaterial structure to be used to replace the old material.
Last update: 04.06.2018
Помогите сделать статью лучше
Была ли эта статья полезной?
(или выберите слово/фразу и нажмите Ctrl+Enter