Programming
Fundamentals
Setting Up Development Environment
UnigineScript
High-Level Systems
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
Rendering-Related Classes

EnginePtr Class

Header:#include <UnigineEngine.h>

This class is an analogue of the C++ std::auto_ptr class template. It automatically destroys the engine instance when the function is destroyed.

Source code (C++)
Unigine::EnginePtr engine(...);
engine->main();

EnginePtr Class

Members


EnginePtr()

An EnginePtr constructor.

EnginePtr(const EnginePtr & ptr)

An EnginePtr constructor.

Arguments

  • const EnginePtr & ptr - Pointer to the EnginePtr instance.

EnginePtr(int version, int argc, char ** argv, const char * project = 0, const char * password = 0)

An EnginePtr constructor.

Arguments

  • int version - Engine version number (UNIGINE_VERSION).
  • int argc - Number of command line arguments.
  • char ** argv - Array of command line arguments values.
  • const char * project - Project name. If this parameter is set, it forces the engine to store rewritable data (such as log file, cache files, config files) in user profile rather than in a directory with binaries. Notice that only the project name is required to pass in for this parameter, not the full path to the project. If there is no need to change location of such files, pass the 0 value.
  • const char * password - Password for the filesystem archives. Notice that the specified password must be the same as for the project archive (if it exists). Pass the 0 value if you do not need to set a password.

EnginePtr(int version, int argc, wchar_t ** argv, const char * project = 0, const char * password = 0)

An EnginePtr constructor.

Arguments

  • int version - Engine version number (UNIGINE_VERSION).
  • int argc - Number of command line arguments.
  • wchar_t ** argv - Array of command line arguments values.
  • const char * project - Project name. If this parameter is set, it forces the engine to store rewritable data (such as log file, cache files, config files) in user profile rather than in a directory with binaries. Notice that only the project name is required to pass in for this parameter, not the full path to the project. If there is no need to change location of such files, pass the 0 value.
  • const char * password - Password for the filesystem archives. Notice that the specified password must be the same as for the project archive (if it exists). Pass the 0 value if you do not need to set a password.

EnginePtr(int version, App * app, int argc, char ** argv, const char * project, const char * password)

An EnginePtr constructor.

Arguments

  • int version - Engine version number (UNIGINE_VERSION).
  • App * app - Pointer to the graphics App class. Pass the 0 value to ignore this parameter.
  • int argc - Number of command line arguments.
  • char ** argv - Array of command line arguments values.
  • const char * project - Project name. If this parameter is set, it forces the engine to store rewritable data (such as log file, cache files, config files) in user profile rather than in a directory with binaries. Notice that only the project name is required to pass in for this parameter, not the full path to the project. If there is no need to change location of such files, pass the 0 value.
  • const char * password - Password for the filesystem archives. Notice that the specified password must be the same as for the project archive (if it exists). Pass the 0 value if you do not need to set a password.

EnginePtr(int version, App * app, int argc, wchar_t ** argv, const char * project, const char * password)

An EnginePtr constructor.

Arguments

  • int version - Engine version number (UNIGINE_VERSION).
  • App * app - Pointer to the graphics App class. Pass the 0 value to ignore this parameter.
  • int argc - Number of command line arguments.
  • wchar_t ** argv - Array of command line arguments values.
  • const char * project - Project name. If this parameter is set, it forces the engine to store rewritable data (such as log file, cache files, config files) in user profile rather than in a directory with binaries. Notice that only the project name is required to pass in for this parameter, not the full path to the project. If there is no need to change location of such files, pass the 0 value.
  • const char * password - Password for the filesystem archives. Notice that the specified password must be the same as for the project archive (if it exists). Pass the 0 value if you do not need to set a password.

EnginePtr(int version, App * app, const char * app_path, const char * home_path, int argc, char ** argv, const char * project, const char * password)

An EnginePtr constructor.

Arguments

  • int version - Engine version number (UNIGINE_VERSION).
  • App * app - Pointer to the graphics App class. Pass the 0 value to ignore this parameter.
  • const char * app_path - Path to a directory where binary executable file is stored. Pass the 0 value to ignore this parameter.
  • const char * home_path - Path to the user's home directory.
  • int argc - Number of command line arguments.
  • char ** argv - Array of command line arguments values.
  • const char * project - Project name. If this parameter is set, it forces the engine to store rewritable data (such as log file, cache files, config files) in user profile rather than in a directory with binaries. Notice that only the project name is required to pass in for this parameter, not the full path to the project. If there is no need to change location of such files, pass the 0 value.
  • const char * password - Password for the filesystem archives. Notice that the specified password must be the same as for the project archive (if it exists). Pass the 0 value if you do not need to set a password.

EnginePtr(int version, App * app, const char * app_path, const char * home_path, int argc, wchar_t ** argv, const char * project, const char * password)

An EnginePtr constructor.

Arguments

  • int version - Engine version number (UNIGINE_VERSION).
  • App * app - Pointer to the graphics App class. Pass the 0 value to ignore this parameter.
  • const char * app_path - Path to a directory where binary executable file is stored. Pass the 0 value to ignore this parameter.
  • const char * home_path - Path to the user's home directory.
  • int argc - Number of command line arguments.
  • wchar_t ** argv - Array of command line arguments values.
  • const char * project - Project name. If this parameter is set, it forces the engine to store rewritable data (such as log file, cache files, config files) in user profile rather than in a directory with binaries. Notice that only the project name is required to pass in for this parameter, not the full path to the project. If there is no need to change location of such files, pass the 0 value.
  • const char * password - Password for the filesystem archives. Notice that the specified password must be the same as for the project archive (if it exists). Pass the 0 value if you do not need to set a password.

Engine * get()

Returns a pointer to the existing Engine instance.

Return value

Pointer to Engine.

int isOwner()

Returns the owner flag of the pointer. If the pointer is the owner, on its deletion the object also will be deleted.

Return value

Owner flag.

void grab()

Sets the owner flag to 1 for the Engine pointer.

void init(int version, App * app, const char * app_path, const char * home_path, int argc, char ** argv, const char * project = 0, const char * password = 0)

Initializes a new EnginePtr instance.

Arguments

  • int version - Version number (UNIGINE_VERSION).
  • App * app - Pointer to the graphics App class. Pass the 0 value to ignore this parameter.
  • const char * app_path - Path to a directory where binary executable file is stored. Pass the 0 value to ignore this parameter.
  • const char * home_path - Path to the user's home directory.
  • int argc - Number of command line arguments.
  • char ** argv - Array of values of command line arguments.
  • const char * project - Project name. If this parameter is set, it forces the engine to store rewritable data (such as log file, cache files, config files) in user profile rather than in a directory with binaries. Notice that only the project name is required to pass in for this parameter, not the full path to the project. If there is no need to change location of such files, pass the 0 value.
  • const char * password - Password for the filesystem archives. Notice that the specified password must be the same as for the project archive (if it exists). Pass the 0 value if you do not need to set a password. Notice that the specified password must be the same as for the project archive (if it exists). Pass the 0 value if you do not need to set a password.

void init(int version, int argc, char ** argv, const char * project = 0, const char * password = 0)

Initializes a new EnginePtr instance.

Arguments

  • int version - Version number (UNIGINE_VERSION).
  • int argc - Number of command line arguments.
  • char ** argv - Array of values of command line arguments.
  • const char * project - Project name. If this parameter is set, it forces the engine to store rewritable data (such as log file, cache files, config files) in user profile rather than in a directory with binaries. Notice that only the project name is required to pass in for this parameter, not the full path to the project. If there is no need to change location of such files, pass the 0 value.
  • const char * password - Password for the filesystem archives. Notice that the specified password must be the same as for the project archive (if it exists). Pass the 0 value if you do not need to set a password. Notice that the specified password must be the same as for the project archive (if it exists). Pass the 0 value if you do not need to set a password.

void init(int version, App * app, const char * app_path, const char * home_path, int argc, wchar_t ** argv, const char * project = 0, const char * password = 0)

Initializes a new EnginePtr instance.

Arguments

  • int version - Version number (UNIGINE_VERSION).
  • App * app - Pointer to the graphics App class. Pass the 0 value to ignore this parameter.
  • const char * app_path - Path to a directory where binary executable file is stored. Pass the 0 value to ignore this parameter.
  • const char * home_path - Path to the user's home directory.
  • int argc - Number of command line arguments.
  • wchar_t ** argv - Array of values of command line arguments.
  • const char * project - Project name. If this parameter is set, it forces the engine to store rewritable data (such as log file, cache files, config files) in user profile rather than in a directory with binaries. Notice that only the project name is required to pass in for this parameter, not the full path to the project. If there is no need to change location of such files, pass the 0 value.
  • const char * password - Password for the filesystem archives. Notice that the specified password must be the same as for the project archive (if it exists). Pass the 0 value if you do not need to set a password. Notice that the specified password must be the same as for the project archive (if it exists). Pass the 0 value if you do not need to set a password.

void init(int version, App * app, int argc, wchar_t ** argv, const char * project = 0, const char * password = 0)

Initializes a new EnginePtr instance.

Arguments

  • int version - Version number (UNIGINE_VERSION).
  • App * app - Pointer to the graphics App class. Pass the 0 value to ignore this parameter.
  • int argc - Number of command line arguments.
  • wchar_t ** argv - Array of values of command line arguments.
  • const char * project - Project name. If this parameter is set, it forces the engine to store rewritable data (such as log file, cache files, config files) in user profile rather than in a directory with binaries. Notice that only the project name is required to pass in for this parameter, not the full path to the project. If there is no need to change location of such files, pass the 0 value.
  • const char * password - Password for the filesystem archives. Notice that the specified password must be the same as for the project archive (if it exists). Pass the 0 value if you do not need to set a password. Notice that the specified password must be the same as for the project archive (if it exists). Pass the 0 value if you do not need to set a password.

void init(int version, int argc, wchar_t ** argv, const char * project = 0, const char * password = 0)

Initializes a new EnginePtr instance.

Arguments

  • int version - Version number (UNIGINE_VERSION).
  • int argc - Number of command line arguments.
  • wchar_t ** argv - Array of values of command line arguments.
  • const char * project - Project name. If this parameter is set, it forces the engine to store rewritable data (such as log file, cache files, config files) in user profile rather than in a directory with binaries. Notice that only the project name is required to pass in for this parameter, not the full path to the project. If there is no need to change location of such files, pass the 0 value.
  • const char * password - Password for the filesystem archives. Notice that the specified password must be the same as for the project archive (if it exists). Pass the 0 value if you do not need to set a password. Notice that the specified password must be the same as for the project archive (if it exists). Pass the 0 value if you do not need to set a password.

void init()

void init(int version, App * app, int argc, char ** argv, const char * project = 0, const char * password = 0)

Initializes a new EnginePtr instance.

Arguments

  • int version - Version number (UNIGINE_VERSION).
  • App * app - Pointer to the graphics App class. Pass the 0 value to ignore this parameter.
  • int argc - Number of command line arguments.
  • char ** argv - Array of values of command line arguments.
  • const char * project - Project name. If this parameter is set, it forces the engine to store rewritable data (such as log file, cache files, config files) in user profile rather than in a directory with binaries. Notice that only the project name is required to pass in for this parameter, not the full path to the project. If there is no need to change location of such files, pass the 0 value.
  • const char * password - Password for the filesystem archives. Notice that the specified password must be the same as for the project archive (if it exists). Pass the 0 value if you do not need to set a password. Notice that the specified password must be the same as for the project archive (if it exists). Pass the 0 value if you do not need to set a password.

Engine * operator->()

Return value

Engine instance.

EnginePtr & operator=(const EnginePtr & ptr)

Arguments

  • const EnginePtr & ptr

Return value

EnginePtr instance.

void release()

void shutdown()

Last update: 2017-07-03