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.

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.

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

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

Arguments

  • const Ptr<Node> & node

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 Pathclass.

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.

int type()

Last update: 2017-07-03
Build: ()