Irrlicht 3D Engine: irr::scene::IColladaMeshWriterNames Class Reference

| Irrlicht 3D Engine |

Public Member Functions
irr::scene::IColladaMeshWriterNames Class Reference

Callback interface to use custom names on collada writing. More...

`#include <IColladaMeshWriter.h>`

Inheritance diagram for irr::scene::IColladaMeshWriterNames:

List of all members.

## Public Member Functions

- virtual ~IColladaMeshWriterNames ()
- virtual irr::core::stringw nameForMaterial (const video::SMaterial &material, int materialId, const scene::IMesh *mesh, const scene::ISceneNode *node)=0
    Return a name for the material.
- virtual irr::core::stringw nameForMesh (const scene::IMesh *mesh, int instance)=0
    Return a unique name for the given mesh.
- virtual irr::core::stringw nameForNode (const scene::ISceneNode *node)=0
    Return a unique name for the given node.

## Detailed Description

Callback interface to use custom names on collada writing.

You can either modify names and id's written to collada or you can use this interface to just find out which names are used on writing.

Definition at line 158 of file IColladaMeshWriter.h.

## Constructor & Destructor Documentation

virtual irr::scene::IColladaMeshWriterNames::~IColladaMeshWriterNames | ( |  | ) | `[inline, virtual]`

Definition at line 162 of file IColladaMeshWriter.h.

## Member Function Documentation

virtual irr::core::stringw irr::scene::IColladaMeshWriterNames::nameForMaterial | ( | const video::SMaterial & | material,
|  | int | materialId,
|  | const scene::IMesh * | mesh,
|  | const scene::ISceneNode * | node
| ) |  | `[pure virtual]`

Return a name for the material.

There is one material created in the writer for each unique name. So you can use this to control the number of materials which get written. For example Irrlicht does by default write one material for each material instanced by a node. So if you know that in your application material instances per node are identical between different nodes you can reduce the number of exported materials using that knowledge by using identical names for such shared materials. Names must follow the xs::NCName standard to be valid, you can run them through IColladaMeshWriter::toNCName to ensure that.

virtual irr::core::stringw irr::scene::IColladaMeshWriterNames::nameForMesh | ( | const scene::IMesh * | mesh,
|  | int | instance
| ) |  | `[pure virtual]`

Return a unique name for the given mesh.

Note that names really must be unique here per mesh-pointer, so mostly it's a good idea to return the nameForMesh from IColladaMeshWriter::getDefaultNameGenerator(). Also names must follow the xs::NCName standard to be valid, you can run them through IColladaMeshWriter::toNCName to ensure that.

Parameters:

  mesh | Pointer to the mesh which needs a name
  instance | When E_COLLADA_GEOMETRY_WRITING is not ECGI_PER_MESH then several instances of the same mesh can be written and this counts them.

virtual irr::core::stringw irr::scene::IColladaMeshWriterNames::nameForNode | ( | const scene::ISceneNode * | node | ) | `[pure virtual]`

Return a unique name for the given node.

Note that names really must be unique here per node-pointer, so mostly it's a good idea to return the nameForNode from IColladaMeshWriter::getDefaultNameGenerator(). Also names must follow the xs::NCName standard to be valid, you can run them through IColladaMeshWriter::toNCName to ensure that.

The documentation for this class was generated from the following file:

- IColladaMeshWriter.h