SplineMapperInterface Class Reference

#include <splinemapper.h>

Detailed Description

This is the interface for the SplineMapper data type. The data is reference-counted and a copy will automatically be created if a non-const function is called.

Public Member Functions

MAXON_METHOD Vector2d GetPoint (Float positionX) const
MAXON_METHOD void GetRange (Vector2d &min, Vector2d &max) const
MAXON_METHOD void SetRange (const Vector2d &min, const Vector2d &max)
MAXON_METHOD void AdaptRange (const Vector2d &min, const Vector2d &max)
MAXON_METHOD Float GetTension () const
MAXON_METHOD void SetTension (Float tension)
MAXON_METHOD Int GetKnotCount () const
MAXON_METHOD SplineMapperKnotGetKnot (Int knotIndex)
MAXON_METHOD Bool SetKnot (Int knotIndex, const SplineMapperKnot &knot)
MAXON_METHOD Bool IsEqual (const SplineMapperInterface *other, EQUALITY equality) const
MAXON_METHOD HashInt GetHashCode () const
MAXON_METHOD Result< void > InsertKnot (Int knotIndex, const SplineMapperKnot &knot)
MAXON_METHOD Result< IntInsertKnot (Float x, Float y, SPLINEMAPPER_KNOT_FLAGS flags, Bool adaptTangents)
MAXON_METHOD Result< void > DeleteKnot (Int knotIndex)
MAXON_METHOD void DeleteAllKnots ()
MAXON_METHOD const BaseArray< SplineMapperKnot > & GetKnots () const
MAXON_METHOD BaseArray< SplineMapperKnot > * GetKnotsRW ()
MAXON_METHOD void SortKnots ()
MAXON_METHOD Vector2d ClampPosition (const Vector2d &position) const

Static Public Member Functions

static MAXON_METHOD Result< void > DescribeIO (const DataSerializeInterface &stream)

Private Member Functions

 MAXON_INTERFACE_NONVIRTUAL (SplineMapperInterface, MAXON_REFERENCE_COPY_ON_WRITE, "net.maxon.interface.splinemapper")

Member Function Documentation



◆ GetPoint()

MAXON_METHOD Vector2d GetPoint ( Float  positionX) const

Gets a point from its X coordinate. If out of range, the first or last spline knots will be returned.

Make sure knots are sorted before calling this (
See also
[in]positionXThe X coordinate.
The retrieved position.

◆ GetRange()

MAXON_METHOD void GetRange ( Vector2d min,
Vector2d max 
) const

◆ SetRange()

MAXON_METHOD void SetRange ( const Vector2d min,
const Vector2d max 

◆ AdaptRange()

MAXON_METHOD void AdaptRange ( const Vector2d min,
const Vector2d max 

◆ GetTension()

MAXON_METHOD Float GetTension ( ) const

◆ SetTension()

MAXON_METHOD void SetTension ( Float  tension)

◆ GetKnotCount()

MAXON_METHOD Int GetKnotCount ( ) const

◆ GetKnot()

MAXON_METHOD SplineMapperKnot* GetKnot ( Int  knotIndex)

◆ SetKnot()

MAXON_METHOD Bool SetKnot ( Int  knotIndex,
const SplineMapperKnot knot 

◆ IsEqual()

MAXON_METHOD Bool IsEqual ( const SplineMapperInterface other,
EQUALITY  equality 
) const

Compares this SplineMapper with another if both are identical.

[in]otherThe other SplineMapper to compare this object with.
True if the object is identical.

◆ GetHashCode()

MAXON_METHOD HashInt GetHashCode ( ) const

Returns a hash code for this SplineMapper which depends on the content.

Hash code for the SplineMapper.

◆ InsertKnot() [1/2]

MAXON_METHOD Result<void> InsertKnot ( Int  knotIndex,
const SplineMapperKnot knot 

Inserts a new knot at index position (0 <= position <= GetCount()).

[in]knotIndexInsert index (the internal array size will increase and if (0 <= position < GetCount()), the existing elements are moved, but if (position == GetCount()), then element is appended to the end).
[in]knotThe knot to insert

◆ InsertKnot() [2/2]

MAXON_METHOD Result<Int> InsertKnot ( Float  x,
Float  y,
Bool  adaptTangents 

◆ DeleteKnot()

MAXON_METHOD Result<void> DeleteKnot ( Int  knotIndex)

◆ DeleteAllKnots()

MAXON_METHOD void DeleteAllKnots ( )

◆ GetKnots()

MAXON_METHOD const BaseArray<SplineMapperKnot>& GetKnots ( ) const

Gets the internal array for read-only operations.

Reference to internal array.

◆ GetKnotsRW()

Gets the internal array for read/write operations.

Pointer to internal array. It's guaranteed to be valid.

◆ SortKnots()

MAXON_METHOD void SortKnots ( )

Sorts the knots by its position X. Call this when an new knot is added or if a knot postion X has been modified.

◆ ClampPosition()

MAXON_METHOD Vector2d ClampPosition ( const Vector2d position) const

Clamps a position to the defined range (

See also
GetRange(), SetRange()).
[in]positionThe position.
The clamped position.

◆ DescribeIO()

static MAXON_METHOD Result<void> DescribeIO ( const DataSerializeInterface stream)

Describe all elements of this class for I/O operations.

[in]streamThe stream that is used to register the class members.
OK on success.