This page has been translated automatically.
Video Tutorials
Interface
Essentials
Advanced
How To
Professional (SIM)
UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Lighting
Landscape Tool
Sandworm
Using Editor Tools for Specific Tasks
Extending Editor Functionality
Built-in Node Types
Nodes
Objects
Effects
Decals
Light Sources
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
Materials and Shaders
Rebuilding the Engine Tools
GUI
Double Precision Coordinates
API
Containers
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
Content Creation
Content Optimization
Materials
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

Unigine::ExternClass Template

Header: #include <UnigineInterface.h>

Unigine ExternClass.

ExternClass Class

Members


SaveFuncType Definition

Description

Full declaration:
typedef void(* Unigine::ExternClass< Class >::SaveFunc)(const StreamPtr &stream, Class *object)

Functor for saving the object state.

Arguments

stream - Write stream for object serialization.
object - Pointer to the class object.

Return value

void(*

RestoreFuncType Definition

Description

Full declaration:
typedef Class*(* Unigine::ExternClass< Class >::RestoreFunc)(const StreamPtr &stream)

Functor for restoring the object state.

Arguments

stream - Read stream for object serialization.

Return value

Class *(* Pointer to the class object.

DestructorFuncType Definition

Description

Full declaration:
typedef void(* Unigine::ExternClass< Class >::DestructorFunc)(Class *object)

Functor for deleting the object.

Arguments

object - Pointer to the class object.

Return value

void(*

ExternClass ( SaveFunc save_state, RestoreFunc restore_state, SaveFunc save_pointer, RestoreFunc restore_pointer, DestructorFunc destructor ) #

Default constructor.

Arguments

  • SaveFunc save_state - Functor for saving the constructed object state.
  • RestoreFunc restore_state - Functor for restoring the constructed object state.
  • SaveFunc save_pointer - Functor for saving the external constructed object state.
  • RestoreFunc restore_pointer - Functor for restoring the external constructed object state.
  • DestructorFunc destructor - Functor for deleting the constructed object.

void setDestructor ( DestructorFunc destructor ) #

Set functor for deleting constructed objects.

Arguments

  • DestructorFunc destructor - Functor for deleting the constructed object.

void setSaveRestorePointer ( SaveFunc save, RestoreFunc restore ) #

Set functors for saving/restoring pointers.

Arguments

  • SaveFunc save - Functor for saving the external constructed object state.
  • RestoreFunc restore - Functor for restoring the external constructed object state.

void setSaveRestoreState ( SaveFunc save, RestoreFunc restore ) #

Set functors for saving/restoring state.

Arguments

  • SaveFunc save - Functor for saving the constructed object state.
  • RestoreFunc restore - Functor for restoring the constructed object state.

void addBaseClass ( ExternClassBase * base ) #

Adds a base class to an external class.

Arguments

  • ExternClassBase * base - Pointer to the base class.

void addConstructor ( const char * args ) #

Adds a constructor to an external class. The constructor can receive up to 9 arguments.

Arguments

  • const char * args - Default arguments.

void addConstructor ( Class *(*)() func, const char * args ) #

Adds a constructor to an external class. The constructor can receive up to 9 arguments.

Arguments

  • Class *(*)() func - Functor for creating the object.
  • const char * args - Default arguments.

void addFunction ( const char * name, Ret (Type::*)() __attribute__((thiscall)) func, const char * args ) #

Adds a member function to an external class. The function can receive up to 9 arguments and return void or value of any supported type. Constant member functions are also supported.

Arguments

  • const char * name - Name of the member function.
  • Ret (Type::*)() __attribute__((thiscall)) func - Pointer to the member function.
  • const char * args - Default arguments.

void addGetFunction ( const char * name, Type Class::* member ) #

Adds a getter function to an external class member.

Arguments

  • const char * name - Name of the getter function.
  • Type Class::* member - Class member.

void addSetFunction ( const char * name, Type Class::* member ) #

Adds a setter function to an external class member.

Arguments

  • const char * name - Name of the setter function.
  • Type Class::* member - Class member.
Last update: 2022-03-10
Build: ()