Import Data Structures
This section describes basic metadata structures used to represent various scene objects, such as cameras, lights, meshes, etc.
ImportAnimation Structure#
This data structure contains metadata on an imported animation and has the following set of properties:
name | Name of the animation. |
min_time | Start time of the animation in seconds. |
max_time | End time of the animation in seconds. |
struct ImportAnimation
{
String name;
float min_time;
float max_time;
};
ImportCamera Structure#
This data structure contains metadata on an imported camera and has the following set of properties:
node | Scene node to which the camera is attached as an attribute. |
data | Camera metadata. |
struct ImportCamera
{
ImportNode *node = nullptr;
UserData *data = nullptr;
};
ImportLight Structure#
This data structure contains metadata on an imported light and has the following set of properties:
node | Scene node to which the light is attached as an attribute. |
data | Light metadata. |
struct ImportLight
{
ImportNode *node = nullptr;
UserData *data = nullptr;
};
ImportMesh Structure#
This data structure contains metadata on an imported mesh and has the following set of properties:
name | Mesh name. |
filepath | Path to the mesh file. |
animation_filepath | Path to the animation file. |
has_animations | Flag indicating whether the mesh has aminations or not. |
nodes | List of nodes to which the mesh is attached as an attribute. |
geometries | Mesh geometry. A vector of ImportGeometry |
struct ImportMesh
{
String name;
String filepath;
String animation_filepath;
bool has_animations = false;
Vector<ImportNode *> nodes;
Vector<ImportGeometry> geometries;
};
ImportMaterial Structure#
This data structure contains metadata on an imported material and has the following set of properties:
name | Material name. |
filepath | Path to the material's *.mat file. |
data | Material metadata. |
struct ImportMaterial
{
String name;
String filepath;
UserData *data = nullptr;
};
ImportNode Structure#
This data structure contains metadata on an imported node and has the following set of properties:
name | Scene node name. |
filepath | Path to the node file. |
parent | Parent node. |
children | List of all node children. |
mesh | Mesh node attribute. ImportMesh structure pointer if a mesh attribute is assigned to the node; otherwise, nullptr. |
light | Light node attribute. ImportLight structure pointer if a light attribute is assigned to the node; otherwise, nullptr. |
camera | Camera node attribute. ImportCamera structure pointer if a camera attribute is assigned to the node; otherwise, nullptr. |
transform | Node's transformation matrix. |
data | Node metadata. |
struct ImportNode
{
String name;
String filepath;
ImportNode *parent;
Vector<ImportNode *> children;
ImportMesh *mesh = nullptr;
ImportLight *light = nullptr;
ImportCamera *camera = nullptr;
Unigine::Math::dmat4 transform;
UserData *data = nullptr;
};
ImportTexture Structure#
This data structure contains metadata on an imported texture and has the following set of properties:
filepath | Path to the texture file. |
original_filepath | Path to the original texture file. |
struct ImportTexture
{
String filepath;
String original_filepath;
};
ImportSurface Structure#
This data structure contains metadata on an imported surface and has the following set of properties:
filepath | Surface name. |
filepath | Path to the mesh file. |
min_visible_distance | Minimum visibility distance for the surface. |
max_visible_distance | Minimum visibility distance for the surface. |
material | Material assigned to the surface. ImportMaterial structure pointer if a material is assigned to the surface; otherwise, nullptr. |
target_surface | Morph target surface number if any; otherwise, -1. |
data | Surface metadata. |
struct ImportSurface
{
String name;
String filepath;
float min_visible_distance = -UNIGINE_INFINITY;
float max_visible_distance = UNIGINE_INFINITY;
ImportMaterial *material = nullptr;
int target_surface = -1;
UserData *data = nullptr;
};
ImportGeometry Structure#
This data structure contains metadata on an imported geometry and has the following set of properties:
transform | Transformation matrix. |
surfaces | List of surfaces as a vector of ImportSurface structures. |
data | Geometry metadata. |
struct ImportGeometry
{
Math::dmat4 transform;
Vector<ImportSurfacegt; surfaces;
UserData *data;
};