|
|
Unlike splines, knots have a fixed value type from the time they are constructed.
Knots are fairly small, so copying them is not particularly expensive. Move construction and assignment are supported, but this is only beneficial when there is custom data.
|
TS_API | TsKnot () |
| Default constructor creates a double-typed knot. More...
|
|
TS_API | TsKnot (TfType valueType, TsCurveType curveType=TsCurveTypeBezier) |
| Creates a knot with a specified value type. More...
|
|
TS_API | TsKnot (const TsKnot &other) |
| Default constructor creates a double-typed knot. More...
|
|
TS_API | TsKnot (TsKnot &&other) |
| Default constructor creates a double-typed knot. More...
|
|
TS_API | ~TsKnot () |
| Default constructor creates a double-typed knot. More...
|
|
TS_API TsKnot & | operator= (const TsKnot &other) |
| Default constructor creates a double-typed knot. More...
|
|
TS_API TsKnot & | operator= (TsKnot &&other) |
| Default constructor creates a double-typed knot. More...
|
|
TS_API bool | operator== (const TsKnot &other) const |
| Default constructor creates a double-typed knot. More...
|
|
TS_API bool | operator!= (const TsKnot &other) const |
| Default constructor creates a double-typed knot. More...
|
|
|
TS_API bool | SetTime (TsTime time) |
|
TS_API TsTime | GetTime () const |
|
|
TS_API bool | SetNextInterpolation (TsInterpMode mode) |
| Sets the interpolation mode of the spline segment following this knot. More...
|
|
TS_API TsInterpMode | GetNextInterpolation () const |
| Sets the interpolation mode of the spline segment following this knot. More...
|
|
|
TS_API TfType | GetValueType () const |
|
template<typename T > |
bool | IsHolding () const |
|
TS_API bool | SetValue (VtValue value) |
|
template<typename T > |
bool | SetValue (const T value) |
|
TS_API bool | GetValue (VtValue *valueOut) const |
|
template<typename T > |
bool | GetValue (T *valueOut) const |
|
|
TS_API bool | IsDualValued () const |
|
TS_API bool | SetPreValue (VtValue value) |
|
template<typename T > |
bool | SetPreValue (const T value) |
|
TS_API bool | GetPreValue (VtValue *valueOut) const |
|
template<typename T > |
bool | GetPreValue (T *valueOut) const |
|
TS_API bool | ClearPreValue () |
|
|
Each knot's curve type must match the curve type of the spline to which it belongs. Knot objects are Bezier by default.
In a Hermite spline, tangent widths are determined automatically. They are always one-third of the width of the segment to which they belong.
|
TS_API bool | SetCurveType (TsCurveType curveType) |
|
TS_API TsCurveType | GetCurveType () const |
|
|
Tangents are expressed as width and slope.
It is an error to read or write widths for Hermite knots.
- Note
- Note that Maya uses tangents in a different format. TsConvertFromStandardTangent is a utility function that can convert a standard width and slope to values expected by Maya.
|
TS_API bool | SetPreTanWidth (TsTime width) |
|
TS_API TsTime | GetPreTanWidth () const |
|
TS_API bool | SetPreTanSlope (VtValue slope) |
|
template<typename T > |
bool | SetPreTanSlope (T slope) |
|
TS_API bool | GetPreTanSlope (VtValue *slopeOut) const |
|
template<typename T > |
bool | GetPreTanSlope (T *slopeOut) const |
|
|
TS_API bool | SetPostTanWidth (TsTime width) |
|
TS_API TsTime | GetPostTanWidth () const |
|
TS_API bool | SetPostTanSlope (VtValue slope) |
|
template<typename T > |
bool | SetPostTanSlope (T slope) |
|
TS_API bool | GetPostTanSlope (VtValue *slopeOut) const |
|
template<typename T > |
bool | GetPostTanSlope (T *slopeOut) const |
|
|
Knots may have custom data: an arbitrary VtDictionary of key/value pairs.
Custom data does not affect evaluation. It is only for clients' use.
When knots are edited, Ts does not automatically alter any custom data. This means that, if splines are written out, edited by other clients that do not recognize a particular kind of custom data, and read back in, then that custom data may become outdated.
|
TS_API bool | SetCustomData (VtDictionary customData) |
|
TS_API VtDictionary | GetCustomData () const |
|
TS_API bool | SetCustomDataByKey (const std::string &keyPath, VtValue value) |
|
TS_API VtValue | GetCustomDataByKey (const std::string &keyPath) const |
|
|
TS_API bool | IsC0Continuous () const |
| Not yet implemented. More...
|
|
TS_API bool | IsG1Continuous () const |
| Not yet implemented. More...
|
|
TS_API bool | IsC1Continuous () const |
| Not yet implemented. More...
|
|
A knot belonging to a TsSpline.
This class is non-templated, but can hold data for varying value types (double, float, and half). All knots in a spline must have the same value type.
- See Also
- TsTypedKnot
Definition at line 39 of file knot.h.