UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Landscape Tool
Using Editor Tools for Specific Tasks
FAQ
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
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
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
CIGI Client Plugin
Rendering-Related Classes

Unigine::WorldTransformPath Class

Header: #include <UnigineWorlds.h>
Inherits: Node

This class is used to create a frame-based succession of transformations from a loaded path. For other nodes to move along with these transformations, they should be assigned as WorldTransformPath children.

Notice
The path is a spline along which an object can be moved.

See Also#

  • UnigineScript API sample <UnigineSDK>/data/samples/worlds/path_00
  • UnigineScript API sample <UnigineSDK>/data/samples/physics/car_03

WorldTransformPath Class

Members


static WorldTransformPathPtr create ( const char * name, int unique = 0 ) #

Constructor. Creates a transformer defined by a path in world coordinates.

Arguments

  • const char * name - Path to the *.path file.
  • int unique - The dynamic flag:
    • 0 - If the path is changed in run-time, paths loaded from the same file will be also changed.
    • 1 - If the path is changed in run-time, paths loaded from the same file won't be changed

static Ptr<WorldTransformPath> cast ( const Ptr<Node> & node ) #

Casts a WorldTransformPath out of the Node instance.

Arguments

  • const Ptr<Node> & node - Pointer to Node.

Return value

Pointer to WorldTransformPath.

void setLoop ( int loop ) #

Sets a value indicating if the transformation defined by the path should be looped.

Arguments

  • int loop - 1 to loop the transformation defined by the path; 0 to play it only once.

int getLoop ( ) #

Returns a value indicating if the transformation defined by the path is looped.

Return value

1 if the transformation is looped; otherwise, 0.

void setOrientation ( int orientation ) #

Sets a value indicating if an object should be oriented along the path.

Arguments

  • int orientation - 1 to orient an object along the path; 0 to keep the initial orientation of the object.

int getOrientation ( ) #

Returns a value indicating if an object is oriented along the path.

Return value

1 if an object is oriented along the path; 0 if the object initial orientation is kept.

Ptr<Path> getPath ( ) #

Returns the path, by which the transformation is defined. By using this function, you can edit the current path or change velocity or transformation of the object moving along the path.

Return value

Instance of the Path class.

void setPathName ( const char * name, int unique = 0 ) #

Reloads the internal path transformation.

Arguments

  • const char * name - The path name to be set.
  • int unique - The dynamic flag:
    • 0 - If the reloaded path is changed, paths loaded from the same file will be also changed.
    • 1 - If the reloaded path is changed, paths loaded from the same file won't be changed.

const char * getPathName ( ) #

Returns the name of the path, by which the transformation is defined.

Return value

The path name.

int isPlaying ( ) #

Returns a value indicating if the transformation defined by the path is played.

Return value

1 if the transformation is played; otherwise, 0.

void setRadius ( float radius ) #

Sets the radius for applying the transformer defined by the path (valid only outside the view frustum). If the child object transformed according to the path gets outside the view frustum, but stays in the radius range, the playback of the transformation sequence does not stop.

Arguments

  • float radius - Radius of the sphere in units.

float getRadius ( ) #

Returns the radius of applying the transformer defined by the path (valid only outside the view frustum). If the child object transformed according to the path gets outside the view frustum, but stays in the radius range, the playback of the transformation sequence does not stop.

Return value

Radius in units.

void setSpeed ( float speed ) #

Sets the speed of playback of the transformation defined by the path.

Arguments

  • float speed - Speed of the transformation playback. Negative value controls reverse playback.

float getSpeed ( ) #

Returns the speed of playback of the transformation defined by the path.

Return value

The playback speed.

int isStopped ( ) #

Returns a value indicating if the transformation defined by the path is stopped.

Return value

1 if the transformation is stopped; otherwise, 0.

void setTime ( float time ) #

Sets the time, from which the playback of the transformation defined by the path starts. If the object is oriented along the path, its transformation will be correspond to the path transformation at the specified time. Otherwise, only position of the object will change.

Arguments

  • float time - The playback time to be set.

float getTime ( ) #

Returns the time from which the playback of the transformation defined by the path starts.

Return value

The playback time.

void play ( ) #

Continues playback of the transformation defined by the path, if it is paused, or starts playback if it is stopped.

void stop ( ) #

Stops playback of the transformation defined by the path. This function saves the playback position so that playing of the transformation defined by the path can be resumed from the same point.

static int type ( ) #

Returns the type of the node.

Return value

World type identifier.
Last update: 2019-11-28