OGRE-Next: Ogre::SceneFormatExporter Class Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Ogre::SceneFormatExporter Class Reference
Core | Component » Scene

`#include <OgreSceneFormatExporter.h>`

Inheritance diagram for Ogre::SceneFormatExporter:
[legend]

## Public Member Functions
| SceneFormatExporter (Root *root, SceneManager *sceneManager, InstantRadiosity *instantRadiosity)
| ~SceneFormatExporter ()
void | exportScene (String &outJson, uint32 exportFlags=static_cast< uint32 >(~SceneFlags::TexturesOriginal))
void | exportSceneToFile (const String &folderPath, uint32 exportFlags=static_cast< uint32 >(~SceneFlags::TexturesOriginal))
bool | getUseBinaryFloatingPoint ()
void | setUseBinaryFloatingPoint (bool useBinaryFp)
| By default we export floating point values as uint32 using their binary encoding.
Public Member Functions inherited from Ogre::SceneFormatBase
| SceneFormatBase (Root *root, SceneManager *sceneManager)
| ~SceneFormatBase ()
HlmsPbs * | getPbs () const
void | setListener (SceneFormatListener *listener)
| Caller must delete the pointer. We won't do it for you.

## Additional Inherited Members
Public Types inherited from Ogre::SceneFormatBase
enum | Version { VERSION_0 = 0 , VERSION_1 , LATEST_VERSION = VERSION_1 }

## Constructor & Destructor Documentation

## ◆ SceneFormatExporter()

Ogre::SceneFormatExporter::SceneFormatExporter | ( | Root * | root,
|  | SceneManager * | sceneManager,
|  | InstantRadiosity * | instantRadiosity )

## ◆ ~SceneFormatExporter()

Ogre::SceneFormatExporter::~SceneFormatExporter | ( |  | ) |

## Member Function Documentation

## ◆ exportScene()

void Ogre::SceneFormatExporter::exportScene | ( | String & | outJson,
|  | uint32 | exportFlags = static_cast< uint32 >(~SceneFlags::TexturesOriginal) )

Parameters

  outJson |
  exportFlags | Combination of SceneFlags::SceneFlags, to know what to export and what to exclude. Defaults to exporting everything. Note that excluding scene nodes can cause issues later during import.

References Ogre::SceneFlags::TexturesOriginal.

## ◆ exportSceneToFile()

void Ogre::SceneFormatExporter::exportSceneToFile | ( | const String & | folderPath,
|  | uint32 | exportFlags = static_cast< uint32 >(~SceneFlags::TexturesOriginal) )

References Ogre::SceneFlags::TexturesOriginal.

## ◆ getUseBinaryFloatingPoint()

bool Ogre::SceneFormatExporter::getUseBinaryFloatingPoint | ( |  | ) |

## ◆ setUseBinaryFloatingPoint()

void Ogre::SceneFormatExporter::setUseBinaryFloatingPoint | ( | bool | useBinaryFp | ) |

By default we export floating point values as uint32 using their binary encoding.

This allows us to preserve the identical value as text when importing. Otherwise very small errors could causes inconsistencies between the imported and the original scene. For example the number "1.0f" gets exported as 1065353216 (0x3f800000) The only problem with this is that the value we generate is not really user readable or editable (unless you aid yourself with some binary converter tool)

In many cases this exact bit preservation isn't needed, and you can opt instead for us to export floating point as literal numbers, thus we'll just write "1.0" which is easy to read and easy to edit. Note however, not all floating point numbers can be accurately be represented as strings and then back as floats, there can be small rounding errors (i.e. NaNs, irrational numbers & numbers with repeating decimals)

Parameters

  useBinaryFp | True to export preserving exact binary representation. False to export as a user-friendly number Default: true.

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

- OgreSceneFormatExporter.h