This page has been translated automatically.
Video Tutorials
Interface
Essentials
Advanced
How To
Professional (SIM)
UnigineEditor
Interface Overview
Assets Workflow
Version Control
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Lighting
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
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
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::SplineSegment Class

Header: #include <UnigineWorlds.h>

This class is used to manage individual segments of the world spline graph.

SplineSegment Class

Members


void setStartPoint ( const Ptr<SplinePoint> & point ) #

Sets the specified spline point as a start point of the segment.

Arguments

Ptr<SplinePoint> getStartPoint ( ) const#

Returns the current start point of the segment.

Return value

Start point of the segment.

void setEndPoint ( const Ptr<SplinePoint> & point ) #

Sets the specified spline point as an end point of the segment.

Arguments

Ptr<SplinePoint> getEndPoint ( ) const#

Returns the current end point of the segment.

Return value

End point of the segment.

void setStartTangent ( const Math::vec3& tangent ) #

Sets the tangent coordinates for the start point of the spline segment.

Arguments

  • const Math::vec3& tangent - Start point tangent coordinates to be set.

Math::vec3 getStartTangent ( ) const#

Returns the current tangent coordinates for the start point of the spline segment.

Return value

Start point tangent coordinates.

void setStartUp ( const Math::vec3& up ) #

Sets the "up" vector coordinates for the start point of the segment.

Arguments

  • const Math::vec3& up - Start point "up" vector coordinates to be set.

Math::vec3 getStartUp ( ) const#

Returns the current "up" vector coordinates for the start point of the spline segment.

Return value

Start point "up" vector coordinates.

void setEndTangent ( const Math::vec3& tangent ) #

Sets the tangent coordinates for the end point of the spline segment.

Arguments

  • const Math::vec3& tangent - End point tangent coordinates to be set.

Math::vec3 getEndTangent ( ) const#

Returns the current tangent coordinates for the end point of the spline segment.

Return value

End point tangent coordinates.

void setEndUp ( const Math::vec3& up ) #

Sets the "up" vector coordinates for the end point of the segment.

Arguments

  • const Math::vec3& up - End point "up" vector coordinates.

Math::vec3 getEndUp ( ) const#

Returns the current "up" vector coordinates for the end point of the spline segment.

Return value

End point "up" vector coordinates to be set.

void setEnabled ( bool enable, bool with_points = 1 ) #

Sets a value indicating whether the spline segment is enabled.

Arguments

  • bool enable - true to enable the spline segment, false to disable.
  • bool with_points - Use true to enable all points that belong to it as well, false to enable the spline point only.

bool isEnabled ( ) const#

Returns a value indicating whether the spline segment is enabled.

Return value

true if the spline segment is enabled; otherwise, false.

Math::Vec3 calcPoint ( float t ) const#

Returns the coordinates of the point at the parametrically specified position on the segment (along the T axis).

Arguments

  • float t - Position of the point on the segment, specified parametrically along the T (times axis) in the [0.0f, 1.0f] range.

Return value

Coordinates of the point.

Math::vec3 calcTangent ( float t ) const#

Returns the tangent coordinates for the point at the parametrically specified position on the segment (along the T axis).

Arguments

  • float t - Position of the point on the segment, specified parametrically along the T (times axis) in the [0.0f, 1.0f] range.

Return value

Tangent coordinates for the point at the specified position on the segment.

Math::vec3 calcUpVector ( float t ) const#

Returns the "up" vector coordinates for the point at the parametrically specified position on the segment (along the T axis).

Arguments

  • float t - Position of the point on the segment, specified parametrically along the T (times axis) in the [0.0f, 1.0f] range.

Return value

Coordinates of the "up" vector for the point at the specified position on the segment.

float linearToParametric ( float l ) const#

Performs conversion of linear position in accordance with the spline segment's length to parametric position (along the T axis).

Arguments

  • float l - Linear position on the spline segment in the range [0.0f, 1.0f].

Return value

Parametric position of the point on the segment, along the T (times axis) in the [0.0f, 1.0f] range.

float getLength ( ) const#

Returns the length of the spline segment.

Return value

Length of the spline segment, in units.

void clearSources ( ) #

Clears the list of source nodes for the spline segment.

void assignSource ( const char * name, int forward_axis = 0 ) #

Assigns a source node with the given name to the spline segment and sets the specified forward axis for it.

Arguments

  • const char * name - Source node name.
  • int forward_axis - Forward axis to be set for the source node. One of the FORWARD_ variables. The X axis is used by default.

void removeSource ( const char * name, int forward_axis = FORWARD_Y ) #

Removes the source node with the given name.

Arguments

  • const char * name - Name of the source node to be removed.
  • int forward_axis - Forward axis for the source node. One of the FORWARD_ variables. The Y axis is used by default.

void getSources ( Vector< String > & sources ) const#

Returns a list of source nodes assigned to the spline segment and puts it to the specified vector.

Arguments

  • Vector< String > & sources - List of source nodes assigned to the spline segment.

void setSegmentMode ( const char * name, int segment_mode = SEGMENT_TILING ) #

Sets the segment mode for the source node with the given name.

Arguments

int getSegmentMode ( const char * name ) const#

Returns the current segment mode for the source node with the given name.

Arguments

Return value

Mode for the source node with the given name. One of the SEGMENT_* variables. SEGMENT_STRETCH is used by default.

void setUVTiling ( const char * name, int enable_uv_tiling = 0 ) #

Sets a value indicating whether UV tiling for the material textures of the source node with the given name is enabled.

Arguments

  • const char * name - Source node name.
  • int enable_uv_tiling - 1 to enable UV tiling for the material textures of the source node, 0 - to stretch textures. The default value is 0.

int getUVTiling ( const char * name ) const#

Returns a value indicating whether UV tiling for the material textures of the source node with the given name is enabled.

Arguments

Return value

1 if UV tiling for the material textures of the source node is enabled; otherwise (textures are stretched), 0.

void setAdaptiveAngleThreshold ( const char * name, float adaptive_angle_threshold = 1.0f ) #

Sets the angle threshold value for splitting source node with the given name. If an angle between the tangents for the two subsequent parts of the spline segment exceeds this value, the node will be split.
Notice
This parameter is used only for the SEGMENT_ADAPTIVE mode.

Arguments

  • const char * name - Source node name.
  • float adaptive_angle_threshold - Angle threshold value for the source node with the given name, in degrees. The default value is 1.0f.

float getAdaptiveAngleThreshold ( const char * name ) const#

Returns the current angle threshold value for splitting source node with the given name. If an angle between the tangents for the two subsequent parts of the spline segment exceeds this value, the node will be split.
Notice
This parameter is used only for the SEGMENT_ADAPTIVE mode.

Arguments

Return value

Angle threshold value for the source node with the given name, in degrees. The default value is 1.0f.

void setGap ( const char * name, float gap = 0.0f ) #

Sets the size of the gap between the adjacent copies of the source node with the given name tiled along the spline segment.
Notice
This parameter is used only for the SEGMENT_TILING mode.

Arguments

  • const char * name - Source node name.
  • float gap - Gap size to be set, in units.

float getGap ( const char * name ) const#

Returns the current size of the gap between the adjacent copies of the source node with the given name tiled along the spline segment.
Notice
This parameter is used only for the SEGMENT_TILING mode.

Arguments

Return value

Current gap size, in units.

void copy ( const Ptr<SplineSegment> & src, int copy_endpoints_data = 1 ) #

Copies all parameters from the specified source spline segment.

Arguments

  • const Ptr<SplineSegment> & src - Source spline segment.
  • int copy_endpoints_data - Use 1 to copy all parameters of segment's endpoints as well, 0 to use default ones. The default value is 0.

Ptr<SplineSegment> clone ( int clone_points = 0 ) #

Returns a clone of the spline segment.

Arguments

  • int clone_points - Use 1 to copy all parameters of segment's endpoints as well, 0 to use default ones. The default value is 0.

Return value

Clone of the spline segment.

Ptr<WorldSplineGraph> getParent ( ) const#

Returns the WorldSplineGraph node to which the spline segment belongs.

Return value

WorldSplineGraph node to which the spline segment belongs.

int getNumSources ( ) const#

Returns the total number of source nodes assigned to this spline segment.

Return value

Total number of source nodes assigned to this spline segment.

int getNumNodes ( ) const#

Returns the total number of nodes placed along the spline segment.

Return value

Total number of nodes placed along the spline segment.

int getForwardAxis ( const char * name ) #

Returns the forward axis used for the source node with the specified name.

Arguments

Return value

Forward axis for the source node. One of the FORWARD_ variables.

Ptr<Node> getNode ( int index ) #

Returns a node assigned to the segment by its number.

Arguments

Return value

Node placed along the segment at the specified position (number).
Last update: 2023-06-23
Build: ()