This page has been translated automatically.
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
Engine-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
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.

Object Class

Inherits:Node

An object with a set of surfaces to represent geometry. Rendering materials are assigned per object surface. An object can be assigned a physical body.

Object Class

Members


Object cast(Node node)

Casts an Object out of the Node instance.

Arguments

  • Node node - Node instance.

Return value

Object instance.

Body getBody()

Returns a physical body assigned to the object.

Return value

Body assigned to the object or NULL (0), if no body is assigned.

BodyRigid getBodyRigid()

Returns a rigid body assigned to the object.

Return value

Rigid body assigned to the object or NULL (0), if no body is assigned or the body is not rigid.

BoundBox getBoundBox(int surface)

Returns the bounding box of a given surface.

Arguments

  • int surface - Surface number.

Return value

Bounding box.

BoundSphere getBoundSphere(int surface)

Returns the bounding sphere of a given surface.

Arguments

  • int surface - Surface number.

Return value

Bounding sphere.

void setCastShadow(int enabled, int surface)

Enables or disables casting shadows from non-world lights for a given surface.

Arguments

  • int enabled - 1 if shadows are to be cast by a given surface; otherwise, 0.
  • int surface - Surface number.

int getCastShadow(int surface)

Returns the surface cast shadow flag, which indicates if a given surface should cast shadows from non-world lights.

Arguments

  • int surface - Surface number.

Return value

Positive number if shadows are cast by a given surface; otherwise, 0.

void setCastWorldShadow(int enabled, int surface)

Enables or disables casting shadows from world lights for a given surface.

Arguments

  • int enabled - 1 if world shadows are to be cast by a given surface; otherwise, 0.
  • int surface - Surface number.

int getCastWorldShadow(int surface)

Returns the surface cast world shadow flag, which indicates if a given surface should cast shadows from world lights.

Arguments

  • int surface - Surface number.

Return value

Positive number if world shadows are cast by a given surface; otherwise, 0.

void setCollision(int enabled, int surface)

Enables or disables collisions with a given surface.

Arguments

  • int enabled - 1 if collisions are enabled for a given surface; otherwise, 0.
  • int surface - Surface number.

int getCollision(int surface)

Returns the surface collision flag, which indicates if collisions for a given surface are enabled.

Arguments

  • int surface - Surface number.

Return value

Positive number if collisions are enabled for a given surface; otherwise, 0.

void setCollisionMask(int mask, int surface)

Sets a collision mask for a given surface. Two objects collide, if they both have matching masks.

Arguments

  • int mask - Surface collision mask.
  • int surface - Surface number.

int getCollisionMask(int surface)

Returns the collision mask for a given surface.

Arguments

  • int surface - Surface number.

Return value

Surface collision mask.

void setEnabled(int enabled)

Enables or disables the node.

Arguments

  • int enabled - 1 to enable the node, 0 to disable it.

void setEnabled(int enabled, int surface)

Enables or disables a given surface.

Arguments

  • int enabled - 1 to enable the surface, 0 to disable it.
  • int surface - Surface number.

int isEnabled(int surface)

Returns a value indicating if a given surface is enabled.

Arguments

  • int surface - Surface number.

Return value

Positive number if the surface is enabled; otherwise, 0.

int isEnabled()

Returns a value indicating if the node and its parent nodes are enabled.

Return value

Positive number if the node and its parent nodes are enabled; otherwise, 0.

void setFolded(int folded, int surface)

Shows or minimizes surface's children in the surface hierarchy.

Arguments

  • int folded - 1 to minimize surface children, 0 to expand the hierarchy.
  • int surface - Surface number.

int isFolded(int surface)

Returns a value indicating if surface's children are displayed or minimized in the surface hierarchy.

Arguments

  • int surface - Surface number.

Return value

Positive number if surface's children are hidden in the surface hierarchy; otherwise, 0.

void setIntersection(int enabled, int surface)

Enables or disables intersections with a given surface.

Arguments

  • int enabled - 1 to enable intersections with a given surface, 0 to disable them.
  • int surface - Surface number.

int getIntersection(vec3 p0, vec3 p1, ObjectIntersectionTexCoord v, int surface)

Checks if there is an intersection between a line and a given surface. If the function returns 1 the data about the texture coordinates of the intersection point will be put to ObjectIntersectionTexCoord object.

Arguments

  • vec3 p0 - Line start point coordinates.
  • vec3 p1 - Line end point coordinates.
  • ObjectIntersectionTexCoord v - ObjectIntersectionTexCoord class instance to store corresponding intersection data.
  • int surface - Surface number.

Return value

1 if there is an intersection with a given surface; otherwise, 0.

int getIntersection(int surface)

Returns a surface intersection flag. This flag indicates if intersections with a given surface are enabled.

Arguments

  • int surface - Surface number.

Return value

1 if intersections with a given surface are enabled; otherwise, 0. Surface intersection flag.

int getIntersection(vec3 p0, vec3 p1, ObjectIntersectionNormal v, int surface)

Checks if there is an intersection between a line and a given surface. If the function returns 1 the data about the normal at the intersection point will be put to ObjectIntersectionNormal object.

Arguments

  • vec3 p0 - Line start point coordinates.
  • vec3 p1 - Line end point coordinates.
  • ObjectIntersectionNormal v - ObjectIntersectionNormal class instance to store corresponding intersection data.
  • int surface - Surface number.

Return value

1 if there is an intersection with a given surface; otherwise, 0.

int getIntersection(vec3 p0, vec3 p1, int mask, ObjectIntersection v, int * ret_surface)

Checks if there is an intersection between a line and a surface with a given intersection mask. If the function returns 1 the data about the intersection point will be put to ObjectIntersection object and the number of the first intersected surface will be put to the return array.

Arguments

  • vec3 p0 - Line start point coordinates.
  • vec3 p1 - Line end point coordinates.
  • int mask - Intersection mask.
  • ObjectIntersection v - ObjectIntersection class instance to store corresponding intersection data.
  • int * ret_surface - Return array.

Return value

1 if there is an intersection; otherwise, 0.

int getIntersection(vec3 p0, vec3 p1, ObjectIntersection v, int surface)

Checks if there is an intersection between a line and a given surface. If the function returns 1 the data about the intersection point will be put to ObjectIntersection object.

Arguments

  • vec3 p0 - Line start point coordinates.
  • vec3 p1 - Line end point coordinates.
  • ObjectIntersection v - ObjectIntersection class instance to store corresponding intersection data.
  • int surface - Surface number.

Return value

1 if there is an intersection with a given surface; otherwise, 0.

int getIntersection(vec3 p0, vec3 p1, int mask, ObjectIntersectionNormal v, int * ret_surface)

Checks if there is an intersection between a line and a surface with a given intersection mask. If the function returns 1 the data about the normal at the intersection point will be put to ObjectIntersectionNormal object and the number of the first intersected surface will be put to the return array.

Arguments

  • vec3 p0 - Line start point coordinates.
  • vec3 p1 - Line end point coordinates.
  • int mask - Intersection mask.
  • ObjectIntersectionNormal v - ObjectIntersectionNormal class instance to store corresponding intersection data.
  • int * ret_surface - Return array.

Return value

1 if there is an intersection; otherwise, 0.

int getIntersection(vec3 p0, vec3 p1, int mask, ObjectIntersectionTexCoord v, int * ret_surface)

Checks if there is an intersection between a line and a surface with a given intersection mask. If the function returns 1 the data about the texture coordinates of the intersection point will be put to ObjectIntersectionNormal object and the number of the first intersected surface will be put to the return array.

Arguments

  • vec3 p0 - Line start point coordinates.
  • vec3 p1 - Line end point coordinates.
  • int mask - Intersection mask.
  • ObjectIntersectionTexCoord v - ObjectIntersectionTexCoord class instance to store corresponding intersection data.
  • int * ret_surface - Return array.

Return value

1 if there is an intersection; otherwise, 0.

int getIntersection(vec3 p0, vec3 p1, int mask, vec3 * ret_point, vec3 * ret_normal, vec4 * ret_texcoord, int * ret_index, int * ret_surface)

Checks if there is an intersection between a line and a surface with a given intersection mask. If the function returns 1 the data about the intersection (point, normal and texture coordinates) and the number of the first intersected surface will be put to corresponding return arrays.

Arguments

  • vec3 p0 - Line start point coordinates.
  • vec3 p1 - Line end point coordinates.
  • int mask - Intersection mask.
  • vec3 * ret_point - Return array for the intersection point coordinates. Pass NULL if this parameter is not required.
  • vec3 * ret_normal - Return array for the coordinates of the normal vector to the intersection point. Pass NULL if this parameter is not required.
  • vec4 * ret_texcoord - Return array for the texture coordinates of the intersection point (vec4, where vec4.xy is for the first (0) UV channel, vec4.zw is for the second (1) UV channel). Pass NULL if this parameter is not required.
  • int * ret_index - Return array for the intersected triangle number. Pass NULL if this parameter is not required.
  • int * ret_surface - Return array for the intersected surface number. Pass NULL if this parameter is not required.

Return value

1 if there is an intersection; otherwise, 0.

int getIntersection(vec3 p0, vec3 p1, vec3 * ret_point, vec3 * ret_normal, vec4 * ret_texcoord, int * ret_index, int surface)

Checks if there is an intersection between a line and a given surface. If the function returns 1 the data about the intersection (point, normal and texture coordinates) will be put to corresponding return arrays.

Arguments

  • vec3 p0 - Line start point coordinates.
  • vec3 p1 - Line end point coordinates.
  • vec3 * ret_point - Return array for the intersection point coordinates. Pass NULL if this parameter is not required.
  • vec3 * ret_normal - Return array for the coordinates of the normal vector to the intersection point. Pass NULL if this parameter is not required.
  • vec4 * ret_texcoord - Return array for the texture coordinates of the intersection point (vec4, where vec4.xy is for the first (0) UV channel, vec4.zw is for the second (1) UV channel). Pass NULL if this parameter is not required.
  • int * ret_index - Return array for the intersected triangle number. Pass NULL if this parameter is not required.
  • int surface - Surface number.

Return value

1 if there is an intersection with a given surface; otherwise, 0.

void setIntersectionMask(int mask, int surface)

Sets an intersection mask for a given surface.

Arguments

  • int mask - Surface intersection mask.
  • int surface - Surface number.

int getIntersectionMask(int surface)

Returns the intersection mask for a given surface.

Arguments

  • int surface - Surface number.

Return value

Surface intersection mask.

void setLightMask(int mask, int surface)

Sets a shadow mask for a given surface. A surface casts shadow if its shadow mask and its material shadow mask match the shadow mask of the light source.

Arguments

  • int mask - Surface shadow mask.
  • int surface - Surface number.

int getLightMask(int surface)

Arguments

  • int surface - Surface number.

Return value

Surface shadow mask.

int setMaterial(string name, variable surface)

Sets a material for a specified surface.

Arguments

  • string name - Material name.
  • variable surface - ID number of the surface (int) or pattern (string with a regular expression), against which surface names will be matched.

Return value

1 if the material is set successfully; otherwise, 0.

Material getMaterial(int surface)

Returns a material used for a given surface.

Arguments

  • int surface - Surface number.

Return value

Material used for the surface.

Material getMaterialInherit(int surface)

Inherits the surface material (i.e. creates a material instance). Modifications made to a new material instance will not affect the source material.

Arguments

  • int surface - Surface number.

Return value

The inherited material.

int isMaterialInherited(int surface)

Returns the value indicating if a given surface material is inherited. Modifications made in a material instance do not affect the source material.

Arguments

  • int surface - Surface number.

Return value

Positive number if the material is inherited; otherwise, 0.

string getMaterialName(int surface)

Returns the name of the material applied to a given surface.

Arguments

  • int surface - Surface number.

Return value

Material name.

void setMaterialParameter(string name, vec4 parameter, int surface)

Sets the value of a given parameter of the surface material.

Arguments

  • string name - Parameter name.
  • vec4 parameter - Parameter value.
  • int surface - Surface number.

vec4 getMaterialParameter(string name, int surface)

Returns the value of a given parameter of the surface material.

Arguments

  • string name - Parameter name.
  • int surface - Surface number.

Return value

Parameter value.

void setMaterialState(string name, int state, int surface)

Sets the state value for a given surface material.

Arguments

  • string name - Material state name.
  • int state - State value.
  • int surface - Surface number.

int getMaterialState(string name, int surface)

Returns the state value of a given surface material.

Arguments

  • string name - Material state name.
  • int surface - Surface number.

Return value

State value.

void setMaterialTexture(string name, string texture, int surface)

Sets the path to a given texture of a given surface material.

Arguments

  • string name - Material texture name.
  • string texture - Path to the texture file.
  • int surface - Surface number.

string getMaterialTexture(string name, int surface)

Returns the path to a given texture of a given surface material.

Arguments

  • string name - Material texture name.
  • int surface - Surface number.

Return value

Path to the texture file.

void setMaxFadeDistance(float distance, int surface)

Updates the maximum fade-out distance of a given surface. Over this distance the surface smoothly becomes invisible due to alpha fading. It is counted off starting from the maximum visibility distance.

Arguments

  • float distance - Maximum fade-out distance, in units. If a negative value is provided, 0 will be used instead. The default value is 0.
  • int surface - Surface number.

float getMaxFadeDistance(int surface)

Returns the maximum fade-out distance. Over this distance the surface smoothly becomes invisible due to alpha fading. It is counted starting from the maximum visibility distance.

Arguments

  • int surface - Surface number.

Return value

Maximum fade-out distance, in units.

void setMaxParent(int parent, int surface)

Updates the number of hierarchy levels up to the reference object, which is used to measure the maximum visibility distance from.:
  • 0 is the current surface
  • 1 is the object to which the surface belongs
  • higher values are to move higher up the hierarchy to node parents

Arguments

  • int parent - Number of hierarchy levels. If a negative value is provided, 0 will be used instead.
  • int surface - Surface number.

int getMaxParent(int surface)

Returns the number of hierarchy levels up to the reference object, which is used to measure the maximum visibility distance from.:
  • 0 is the current surface
  • 1 is the object to which the surface belongs
  • higher values are to move higher up the hierarchy to node parents

Arguments

  • int surface - Surface number.

Return value

Number of hierarchy levels.

void setMaxVisibleDistance(float distance, int surface)

Updates the maximum visibility distance of a given surface. It is the distance, starting from which the surface begins to fade out until it becomes completely invisible.

Arguments

  • float distance - Maximum visibility distance, in units. If a negative value is provided, 0 will be used instead. The default value is inf.
  • int surface - Surface number.

float getMaxVisibleDistance(int surface)

Returns the maximum visibility distance of a given surface. It is the distance, starting from which the surface begins to fade out until it becomes completely invisible.

Arguments

  • int surface - Surface number.

Return value

Maximum visibility distance, in units.

void setMinFadeDistance(float distance, int surface)

Updates the minimum fade-in distance of a given surface. Over this distance the surface smoothly becomes visible due to alpha fading. It is counted starting from the minimum visibility distance.

Arguments

  • float distance - Minimum fade-in distance, in units. If a negative value is provided, 0 will be used instead. The default value is 0.
  • int surface - Surface number.

float getMinFadeDistance(int surface)

Returns the minimum fade-in distance of a given surface. Over this distance the surface smoothly becomes visible due to alpha fading. It is counted starting from the minimum visibility distance.

Arguments

  • int surface - Surface number.

Return value

Minimum fade-in distance, in units.

void setMinParent(int parent, int surface)

Updates the number of hierarchy levels up to the reference object, which is used to measure the minimum visible distance from.:
  • 0 is the current surface
  • 1 is the object to which the surface belongs
  • higher values are to move higher up the hierarchy to node parents

Arguments

  • int parent - Number of hierarchy levels. If a negative value is provided, 0 will be used instead.
  • int surface - Surface number.

int getMinParent(int surface)

Returns the number of hierarchy levels up to the reference object, which is used to measure the minimum visible distance from.:
  • 0 is the current surface
  • 1 is the object to which the surface belongs
  • higher values are to move higher up the hierarchy to node parents

Arguments

  • int surface - Surface number.

Return value

Number of hierarchy levels.

void setMinVisibleDistance(float distance, int surface)

Updates the minimum visibility distance of a given surface. It is the distance, starting from which the surface begins to fade in until it becomes completely visible.

Arguments

  • float distance - Minimum visibility distance, in units. If a negative value is provided, 0 will be used instead. The default value is -inf.
  • int surface - Surface number.

float getMinVisibleDistance(int surface)

Returns minimum visibility distance of a given surface. It is the distance, starting from which the surface begins to fade in until it becomes completely visible.

Arguments

  • int surface - Surface number.

Return value

Minimum visibility distance, in units.

int getNumSurfaces()

Returns the number of surfaces of the object.

Return value

Number of surfaces.

int getNumTriangles(int surface)

Returns the number of triangles comprising a given surface.

Arguments

  • int surface - Surface number.

Return value

Number of triangles.

Object getObject()

Returns an object pointer.

Return value

Object pointer.

void setParent(int parent, int surface)

Sets or clears the parent surface for a given surface.

Arguments

  • int parent - Number of the parent surface or -1 to clear the parent.
  • int surface - Surface number.

int getParent(int surface)

Returns the number of the parent surface for a given surface.

Arguments

  • int surface - Surface number.

Return value

Parent surface number. If -1 is returned, the parent surface is not specified for a given surface.

int setProperty(string name, variable surface)

Sets a new property for a given surface.

Arguments

  • string name - Name of the new property.
  • variable surface - Number of the surface (int) or pattern (string with a regular expression), against which surface names will be matched.

Return value

1 if the property is set successfully; otherwise, 0.

Property getProperty(int surface)

Returns the property defined for a given surface.

Arguments

  • int surface - Surface number.

Return value

Property used for the surface.

Property getPropertyInherit(int surface)

Inherits the property for the specific object. All changes of the inherited property will not affect the reference one.

Arguments

  • int surface - Surface number.

Return value

The inherited property.

int isPropertyInherited(int surface)

Returns a value indicating if a given property is inherited.

Arguments

  • int surface - Surface number.

Return value

Positive number if the surface property is inherited; otherwise, 0.

string getPropertyName(int surface)

Returns the name of the property of a given surface.

Arguments

  • int surface - Surface number.

Return value

Property name.

void setPropertyState(string name, int state, int surface)

Sets the state value for a given surface property.

Arguments

  • string name - Property state name.
  • int state - State value.
  • int surface - Surface number.

int getPropertyState(string name, int surface)

Returns the state value of a given surface property.

Arguments

  • string name - Material state name.
  • int surface - Surface number.

Return value

State value.

string getSurfaceName(int surface)

Returns the name of a given surface.

Arguments

  • int surface - Surface number.

Return value

Surface name.

void getSurfacePrefabPropertyNames(Vector<String> & property_names)

Arguments

  • Vector<String> & property_names

int isSurfacePrefabPropertyOverridden(string property_name, int surface)

Arguments

  • string property_name
  • int surface

void setViewportMask(int mask, int surface)

Sets a viewport mask for a given surface. The object surface is rendered, if its mask matches the player (camera), light source and material masks.

Arguments

  • int mask - Surface viewport mask.
  • int surface - Surface number.

int getViewportMask(int surface)

Returns a viewport mask for a given surface. The object surface is rendered, if its mask matches the player (camera), light source and material masks.

Arguments

  • int surface - Surface number.

Return value

Surface viewport mask.

WorldBoundBox getWorldBoundBox(int surface)

Returns the world bounding box of a given surface.

Arguments

  • int surface - Surface number.

Return value

Bounding box (in world coordinates).

WorldBoundSphere getWorldBoundSphere(int surface)

Returns the world bounding sphere of a given surface.

Arguments

  • int surface - Surface number.

Return value

Bounding sphere (in world coordinates).

int findSurface(string name)

Searches for a surface with a given name.

Arguments

  • string name - Surface name.

Return value

Surface number if it exists; otherwise, -1.

void flushBodyTransform()

Forces to set the transformations of the body for the node.

int revertSurfacePrefabProperty(string property_name, int surface)

Arguments

  • string property_name
  • int surface
Last update: 2017-07-03
Build: ()