# class BinaryExporter

BinaryExporter stores the geometry data into a binary file, that is specific for Simplygon. Please note that the binary file is only intended for temporary storage, and that no compatibility between versions of Simplygon is guaranteed.

WARNING

This class is marked as deprecated and will be removed in a future version.

# Properties

Property Description
ExportCascadedScenes Flag to control if cascaded scenes should be included in the export (note that not all file formats support this). (Inherited from GraphicsExporter)
ExportFilePath The main export file path. This is the main file being written to, and must always be set. (Inherited from GraphicsExporter)
ForceTriangleExport Flag to force exporters that are capable of exporting quads using the information in the QuadFlags GeometryData field to ignore the quad flags and convert everything to triangles. (Inherited from GraphicsExporter)
Name The name of the BinaryExporter object. (Inherited from Object)
PrimaryTexCoordName The name of the texcoord level to use as primary level in case the file format only supports a single texture coordinate layer. If the primary level name is not set, the first found level will be used as primary level. (Inherited from GraphicsExporter)
ReferenceExportMode Export mode for referenced external files in the scene, such as references to textures. File formats which do not support external references will ignore the setting and always embed the data. (Inherited from GraphicsExporter)

# Methods

Method Description
AddObserver Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)
GetClass Get the name of the BinaryExporter class. (Inherited from Object)
IsA Returns true if BinaryExporter is a or is a descendant of the class named as the type parameter. (Inherited from Object)
IsNull Returns true if the BinaryExporter object is invalid. (Inherited from Object)
IsSameObjectAs Returns true if the BinaryExporter object is valid. (Inherited from Object)
NonNull Returns true if the BinaryExporter object is valid. (Inherited from Object)
PrintInfo Prints the content/info of the BinaryExporter object to the log. (Inherited from Object)
RemoveObserver Removes a previously added observer object. (Inherited from Object)
Run Runs the export. Note that all parameters must be setup before importing. (Inherited from GraphicsExporter)
SetScene The scene to export. (Inherited from GraphicsExporter)
SetSelectionSet The selection set (of nodes from the scene) to export. (Inherited from GraphicsExporter)

# Static methods

Method Description
IsClassA Returns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)
SafeCast SafeCast makes sure the input object is of a class that can be cast into spBinaryExporter, and if this is the case, returns the object cast into spBinaryExporter. (Inherited from Object)

# Properties details

# ExportCascadedScenes

Flag to control if cascaded scenes should be included in the export (note that not all file formats support this).

# Syntax

// Setter
void SetExportCascadedScenes( bool value ) const;

// Getter
bool GetExportCascadedScenes() const;

# SetExportCascadedScenes parameters

Type Name Min Max Description
bool value Export cascaded scenes flag.

# GetExportCascadedScenes return value

Type: bool

# ExportFilePath

The main export file path. This is the main file being written to, and must always be set.

# Syntax

// Setter
void SetExportFilePath( const char * value ) const;

// Getter
spString GetExportFilePath() const;

# SetExportFilePath parameters

Type Name Min Max Description
const char * value The desired file path.

# GetExportFilePath return value

Type: spString

# ForceTriangleExport

Flag to force exporters that are capable of exporting quads using the information in the QuadFlags GeometryData field to ignore the quad flags and convert everything to triangles.

# Syntax

// Setter
void SetForceTriangleExport( bool value ) const;

// Getter
bool GetForceTriangleExport() const;

# SetForceTriangleExport parameters

Type Name Min Max Description
bool value ForceTriangleExport flag.

# GetForceTriangleExport return value

Type: bool

Default: false

# Name

The name of the BinaryExporter object. (Inherited from Object)

# Syntax

// Setter
void SetName( const char * name ) const;

// Getter
spString GetName() const;

# SetName parameters

Type Name Min Max Description
const char * name New name of the object.

# GetName return value

Type: spString

# PrimaryTexCoordName

The name of the texcoord level to use as primary level in case the file format only supports a single texture coordinate layer. If the primary level name is not set, the first found level will be used as primary level.

# Syntax

// Setter
void SetPrimaryTexCoordName( const char * name ) const;

// Getter
spString GetPrimaryTexCoordName() const;

# SetPrimaryTexCoordName parameters

Type Name Min Max Description
const char * name The name of the primary texcoord level.

# GetPrimaryTexCoordName return value

Type: spString

# ReferenceExportMode

Export mode for referenced external files in the scene, such as references to textures. File formats which do not support external references will ignore the setting and always embed the data.

# Syntax

// Setter
void SetReferenceExportMode( Simplygon::EReferenceExportMode value ) const;

// Getter
Simplygon::EReferenceExportMode GetReferenceExportMode() const;

# SetReferenceExportMode parameters

Type Name Min Max Description
EReferenceExportMode value Export mode value.

# GetReferenceExportMode return value

Type: EReferenceExportMode

Key Value Comment
Copy 0 Copy the referenced file to the export folder, and have a relative path point at the reference.
Embed 1 Embed the referenced file in the exported scene. This is only applicable to file formats which support embedding referenced files. File formats which do not support embedded references will instead default to copy the file to the output.
AbsolutePath 2 Output the absolute path to the referenced file. This avoids copying the reference to the output. Node that this path is not portable across file systems, and will reference an absolute path on the current machine. If a reference is embedded, this setting will be ignored and a copy of the file is placed in the output path.
OriginalPath 3 Keep the original path value. This mode just copies the FilePath value verbatim to the output, and does not make sure the referenced file actually exists. If a reference is embedded, this setting will be ignored and a copy of the file is placed in the output path.

# Methods details

# AddObserver

Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)

# Syntax

rid AddObserver( const spObserver & observer ) const;

# Parameters

Type Name Min Max Description
Observer observer Observer is the object that will receive events.

# Return value

Type: rid

# GetClass

Get the name of the BinaryExporter class. (Inherited from Object)

# Syntax

spString GetClass() const;

# Parameters

GetClass takes no parameters.

# Return value

Type: spString

# IsA

Returns true if BinaryExporter is a or is a descendant of the class named as the type parameter. (Inherited from Object)

# Syntax

bool IsA( const char * type ) const;

# Parameters

Type Name Min Max Description
const char * type Name of the class to check if BinaryExporter is, or is a descendant of.

# Return value

Type: bool

# IsNull

Returns true if the BinaryExporter object is invalid. (Inherited from Object)

# Syntax

bool IsNull() const;

# Parameters

IsNull takes no parameters.

# Return value

Type: bool

# IsSameObjectAs

Returns true if the BinaryExporter object is valid. (Inherited from Object)

# Syntax

bool IsSameObjectAs( const spObject & object ) const;

# Parameters

Type Name Min Max Description
Object object Object to compare with.

# Return value

Type: bool

# NonNull

Returns true if the BinaryExporter object is valid. (Inherited from Object)

# Syntax

bool NonNull() const;

# Parameters

NonNull takes no parameters.

# Return value

Type: bool

# PrintInfo

Prints the content/info of the BinaryExporter object to the log. (Inherited from Object)

# Syntax

void PrintInfo() const;

# Parameters

PrintInfo takes no parameters.

# RemoveObserver

Removes a previously added observer object. (Inherited from Object)

# Syntax

void RemoveObserver( rid observerId ) const;

# Parameters

Type Name Min Max Description
rid observerId ObserverId is the id returned by AddObserver when the observer was added.

# Run

Runs the export. Note that all parameters must be setup before importing.

# Syntax

Simplygon::EErrorCodes Run() const;

# Parameters

Run takes no parameters.

# Return value

Type: EErrorCodes

Key Value Comment
NoError 0 No error, the initialization or process has finished, and with no errors
NoLicense -1 no license was found (or licence expired)
NotInitialized -2 the SDK is not initialized, or no process object has been loaded/created
AlreadyInitialized -3 the SDK is already initialized
DLLOrDependenciesNotFound -4 the specified file was not found. This might also mean that a .dll cannot be loaded because there is a missing dependency, such as the runtime environment.
InvalidInputParam -5 an invalid parameter was passed to the method
FailedTesting -6 the reduction failed post-testing
DLLAndHeaderFileIsNotMatching -7 the Simplygon DLL and header file interface versions do not match
DLLFailedToLoad -8 the Simplygon DLL failed loading, probably because of a missing dependency
LicenseNotForThisApplication -9 the license is not made for this application of Simplygon
LicenseNotForThisPlatform -10 the license is not made for this platform of Simplygon
LicenseNotForThisVersion -11 the license is not made for this version of Simplygon
FailedToCreatePipelineSerializer -12 failed to create pipeline serializer
FailedToRunPipeline -13 failed to run pipeline
UnhandledException -14 an unhandled exception was encountered
FileError -15 a file read/write failed.
InvalidPath -16 a path is invalid or a file/directory is missing.
DependencyMissing -17 a needed dependency is missing. see log for info on what is missing.
UnexpectedError -18 an unexpected error happened.
FailedToUploadFreeLicenseAsset -50 failed to upload free license asset
ExceptionalError -1000 An exceptional and fatal error occurred, and has been reported to the error handler. The library is placed in an exceptional state, and you should unload and reload the Simplygon library to avoid memory leaks.
FailedToResolveLicenseServerHostName -10001 cannot reach the licensing server, cant look up server, check DNS
FailedToConnectToLicenseServer -10002 cannot contact the licensing server, check firewall/proxy server
FailedToConnectToLicenseServerAndSendData -10003 Failed to connect to the license server. Please check that your internet connection is working and outgoing connections to license.simplygon.com port 443 are not blocked by a firewall or proxy.
FailedToConnectToLicenseServerAndReceiveData -10004 cannot receive data from the licensing server, check firewall/proxy server
DataFromLicenseServerIsCorrupt -10005 data from licensing server is corrupted, try again, check connection
LicenseHasExpired -10006 the license has expired
LicenseIsInvalid -10007 the license data is corrupted, please reinstall the license key
LicenseNotForThisProduct -10008 the license is not for this product, please contact licensing, and replace license key
NoNetworkCardFound -10009 no network card was found on the machine
LicenseDecodeFailed -10010 could not decode license, it is corrupted
LicenseLockNotMatchingMachine -10011 the license is locked to another machine
ConnectionToLicenseServerLost -10012 Connection to license server lost
LicenseHashDataCorrupt -10013 could not decode license, it is corrupted
LicenseExpired -10014 the license is invalid, please contact licensing
LicenseNotLockedForThisMachine -10020 the license is locked to another machine
YourLicenseRequiresLatestWindows10 -10024 your license requires latest Windows 10 version
LicenseServerReturnedBadRequest -10400 Bad license request. Please reach out to SimplygonSupport[at]microsoft.com for support
UnknownLicenseKey -10404 You are using an unknown license key. Please verify so you typed in the license key correctly and try again
LicenseIsNotActive -10410 You are using an inactive license key. Please reach out to SimplygonSales[at]microsoft.com for support
MaxNodesReachForThisLicense -10409 You have reached the maximum number of nodes for your license. After 48 hours of not using Simplygon on a machine the license will be released and can be installed on another machine
YourLicenseRequiresLatestSimplygon -10426 The license key you are using requires you to update to the latest version before you can use Simplygon
LicenseServerReturnServerError -10501 Bad license request. Please reach out to SimplygonSupport[at]microsoft.com for support
ProcessingValidationError -20001 The process was aborted, because of a validation error. Either the process settings or the input data was invalid, or a combination thereof. Use GetErrorMessages in the main Simplygon object to retrieve error messages, and see the log for details. Note that the library is not left in an exceptional state, and it is safe to continue processing other scenes.

# SetScene

The scene to export.

# Syntax

void SetScene( const spScene & scene ) const;

# Parameters

Type Name Min Max Description
Scene scene The desired scene object.

# SetSelectionSet

The selection set (of nodes from the scene) to export.

# Syntax

void SetSelectionSet( int exportSelectionSetID ) const;

# Parameters

Type Name Min Max Description
int exportSelectionSetID The desired selection set id to use.

# Static methods details

# IsClassA

Returns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)

# Syntax

static bool IsClassA( const char * type ) const;

# Parameters

Type Name Min Max Description
const char * type Name of the class to check if the class is, or is a descendant of.

# Return value

Type: bool

# SafeCast

SafeCast makes sure the input object is of a class that can be cast into spBinaryExporter, and if this is the case, returns the object cast into spBinaryExporter. (Inherited from Object)

# Syntax

static spBinaryExporter SafeCast( const spObject & object ) const;

# Parameters

Type Name Min Max Description
Object object Object to cast.

# Return value

Type: BinaryExporter