UnigineEditor
界面概述
资产工作流程
设置和首选项
项目开发
调整节点参数
Setting Up Materials
Setting Up Properties
照明
Landscape Tool
Sandworm (Experimental)
使用编辑器工具执行特定任务
Extending Editor Functionality
编程
基本原理
搭建开发环境
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine Tools
GUI
双精度坐标
应用程序接口
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes

Unigine::ObjectExternBase Class

Header: #include <UnigineObjects.h>
Inherits: Base

The base class, from which the custom user-defined objects are inherited.

ObjectExternBase Class

Members


int getClassID ( ) #

Returns a unique class ID.

Return value

Unique class ID.

int getCollision ( const Math::Vec3 & p0, const Math::Vec3 & p1, Vector< int > & surfaces ) #

Spatial collision with the bounding box.

Arguments

  • const Math::Vec3 & p0 - Coordinates of the start point of the line.
  • const Math::Vec3 & p1 - Coordinates of the end point of the line.
  • Vector< int > & surfaces - Return array with surface numbers.

Return value

Returns 1 if the array of surfaces is not empty.

int getCollision ( const BoundBox & bb, Vector< int > & surfaces ) #

Spatial collision with the bounding box.

Arguments

  • const BoundBox & bb - Bounding box.
  • Vector< int > & surfaces - Return array with surface numbers.

Return value

Returns 1 if the array of surfaces is not empty.

int getIntersection ( const Math::Vec3 & p0, const Math::Vec3 & p1, Math::Vec3 * ret_point, Math::vec3 * ret_normal, Math::vec4 * ret_texcoord, int * ret_index, int * ret_instance, int surface ) #

Returns a value indicating that the line intersects the object surface.

Arguments

  • const Math::Vec3 & p0 - Coordinates of the start point of the line.
  • const Math::Vec3 & p1 - Coordinates of the end point of the line.
  • Math::Vec3 * ret_point - Intersection point coordinates. Pass NULL if this parameter is not required.
  • Math::vec3 * ret_normal - Intersection normal vector. Pass NULL if this parameter is not required.
  • Math::vec4 * ret_texcoord - Intersection texture coordinates. Pass NULL if this parameter is not required.
  • int * ret_index - Intersected triangle number. Pass NULL if this parameter is not required.
  • int * ret_instance - Intersected instance number. Pass NULL if this parameter is not required.
  • int surface - Surface number.

Return value

Returns 1 if the intersection occurs.

Ptr<Node> getNode ( ) const#

Returns the Node smart pointer.

Return value

Node smart pointer.

int getNumSurfaces ( ) #

Returns the number of object surfaces.

Return value

The number of object surfaces.

int getNumTriangles ( int surface ) #

Returns the number of triangles.

Arguments

  • int surface - Surface number.

Return value

Returns the number of triangles.

Ptr<Object> getObject ( ) const#

Returns the Object smart pointer.

Return value

Object smart pointer.

Ptr<ObjectExtern> getObjectExtern ( ) const#

Returns the ObjectExtern smart pointer.

Return value

ObjectExtern smart pointer.

int getOrder ( const Math::Vec3 & camera, int surface ) #

Returns the rendering order with respect to the camera position.

Arguments

  • const Math::Vec3 & camera - World camera position.
  • int surface - Surface number.

Return value

Surface rendering order.

int getRandomPoint ( Math::vec3 & ret_point, Math::vec3 & ret_normal, Math::vec3 & ret_velocity, int surface ) #

Returns a random point from a surface.

Arguments

  • Math::vec3 & ret_point - Random point coordinates.
  • Math::vec3 & ret_normal - Random normal vector.
  • Math::vec3 & ret_velocity - Random velocity vector.
  • int surface - Surface number.

Return value

Returns 1 if the random point is valid.

int getResource ( int surface ) #

Returns the unique render resource identifier.

Arguments

  • int surface - Surface number.

Return value

Surface resource identifier.

int getSequence ( const Math::Vec3 & camera, int surface ) #

Returns the rendering sequence with respect to the camera position.

Arguments

  • const Math::Vec3 & camera - World camera position.
  • int surface - Surface number.

Return value

Surface rendering sequence.

const char * getSurfaceName ( int surface ) #

Returns the object surface name.

Arguments

  • int surface - Surface number.

Return value

Surface name.

float getTransparentDistance ( const Math::Vec3 & camera, int surface ) #

Returns the transparent rendering distance.

Arguments

  • const Math::Vec3 & camera - World camera position.
  • int surface - Surface number.

Return value

Surface rendering distance.

void create ( int surface ) #

Renders a create function.

Arguments

  • int surface - Surface number.

int findSurface ( const char * name ) #

Returns the number of the object surface by its name.

Arguments

  • const char * name - Surface name.

Return value

Surface number.

int hasCreate ( ) #

Returns a value indicating that the object has a create function.

Return value

Returns 1 if the object has a create function.

int hasLods ( ) #

Returns a value indicating if the object has LODs.

Return value

Returns 1 if the object has surface LODs.

int hasRender ( ) #

Returns a value indicating that the object has a render function.

Return value

Returns 1 if the object has a render function.

int hasShadow ( ) #

Returns a value indicating that the object has a shadow function.

Return value

Returns 1 if the object has a shadow function.

int loadWorld ( const Ptr<Xml> & xml ) #

Loads an object state from the Xml.

Arguments

  • const Ptr<Xml> & xml - Xml smart pointer.

Return value

Returns 1 if the object state was successfully loaded; otherwise, 0 is returned.

void preRender ( float ifps ) #

Pre-render function, i.e. after the update() and before the render() function.

Arguments

  • float ifps - Inverse FPS value.

void render ( Render::PASS pass, int surface ) #

Renders the render function.

Arguments

  • Render::PASS pass - Rendering pass.
  • int surface - Surface number.

void renderHandler ( ) #

Renders the handler.

void renderShadow ( Render::PASS pass, int surface ) #

Renders render function.

Arguments

  • Render::PASS pass - Rendering pass.
  • int surface - Surface number.

void renderVisualizer ( ) #

Renders the visualizer.
Notice
You should enable the engine visualizer by the show_visualizer 1 console command.

void resizeSurfaces ( ) const#

Resizes all of the object surfaces.

int restoreState ( const Ptr<Stream> & stream ) #

Restores an object state from the stream.

Arguments

  • const Ptr<Stream> & stream - Stream smart pointer.

Return value

Returns 1 if the object state was successfully restored; otherwise, 0 is returned.

int saveState ( const Ptr<Stream> & stream ) #

Saves an object state into the stream.

Arguments

  • const Ptr<Stream> & stream - Stream smart pointer.

Return value

Returns 1 if the object state was successfully saved; otherwise, 0 is returned.

int saveWorld ( const Ptr<Xml> & xml ) #

Saves an object state into the Xml.

Arguments

  • const Ptr<Xml> & xml - Xml smart pointer.

Return value

Returns 1 if the object state was successfully saved; otherwise, 0 is returned.

void update ( float ifps ) #

Update function.

Arguments

  • float ifps - Inverse FPS value.

void updateEnabled ( ) #

Updates enabled.

void updateEnabled ( int surface ) #

Updates enabled.

Arguments

  • int surface - Surface number.

void updatePosition ( ) #

Updates a position.

void updateSurfaces ( ) const#

Updates all of the object surfaces.

void updateTransform ( ) #

Updates transformation.

void setUpdateDistanceLimit ( float distance ) #

Sets the distance from the camera within which the object should be updated.

Arguments

  • float distance - Distance from the camera within which the object should be updated (in units).

float getUpdateDistanceLimit ( ) #

Returns the distance from the camera within which the object should be updated.

Return value

Distance from the camera within which the object should be updated (in units).

void setForceUpdate ( bool enabled ) #

Sets a value indicating if the object should be constantly updated each frame, regardless of the update distance.

Arguments

  • bool enabled - true to enable forced updating for the object; false - to disable forced updating and take the update distance into account.

bool isForceUpdate ( ) #

Returns a value indicating if the object should be constantly updated each frame, regardless of the update distance.

Return value

true if the object is constantly updated each frame; otherwise, false
Last update: 2020-08-06