8 #ifndef PXR_BASE_TS_KNOT_DATA_H
9 #define PXR_BASE_TS_KNOT_DATA_H
137 template <
typename T>
184 static std::unique_ptr<Ts_KnotDataProxy>
209 template <
typename T>
240 template <
typename T>
250 #define COMP(member) \
251 if (member != other.member) \
256 template <
typename T>
277 template <
typename T>
280 return (dualValued ? preValue :
value);
283 template <
typename T>
289 template <
typename T>
292 return -preTanWidth * preTanSlope;
295 template <
typename T>
301 template <
typename T>
304 return postTanWidth * postTanSlope;
310 template <
typename T>
317 template <
typename T>
323 template <
typename T>
329 template <
typename T>
332 return Ts_GetType<T>();
335 template <
typename T>
342 return *_data == *typedOther;
345 template <
typename T>
352 template <
typename T>
356 *valueOut =
VtValue(_data->value);
359 template <
typename T>
366 template <
typename T>
370 *valueOut =
VtValue(_data->preValue);
373 template <
typename T>
380 template <
typename T>
384 *slopeOut =
VtValue(_data->GetPreTanSlope());
387 template <
typename T>
394 template <
typename T>
398 *slopeOut =
VtValue(_data->GetPostTanSlope());
void SetValue(VtValue value) override
T const & UncheckedGet() const &
static Ts_KnotData * Create(TfType valueType)
GT_API const UT_StringHolder time
virtual void SetPreTanSlope(VtValue slope)=0
GLsizei const GLfloat * value
bool operator==(const Ts_TypedKnotData< T > &other) const
virtual void SetValue(VtValue value)=0
void GetPreTanSlope(VtValue *slopeOut) const override
void GetPostTanSlope(VtValue *slopeOut) const override
void SetPreTanSlope(VtValue slope) override
void SetPostTanWidth(const TsTime width)
void SetPreValue(VtValue value) override
TsTime GetPostTanWidth() const
Ts_TypedKnotDataProxy(Ts_TypedKnotData< T > *data)
bool operator==(const Ts_KnotData &other) const
void SetPreTanWidth(const TsTime width)
T GetPostTanSlope() const
virtual bool IsDataEqualTo(const Ts_KnotData &other) const =0
Ts_KnotData * CloneData() const override
virtual TfType GetValueType() const =0
virtual ~Ts_KnotDataProxy()
T GetPostTanHeight() const
TfType GetValueType() const override
virtual void GetValue(VtValue *valueOut) const =0
virtual Ts_KnotData * CloneData() const =0
static std::unique_ptr< Ts_KnotDataProxy > Create(Ts_KnotData *data, TfType valueType)
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
virtual void SetPostTanSlope(VtValue slope)=0
virtual void GetPreTanSlope(VtValue *slopeOut) const =0
TsTime GetPreTanWidth() const
bool IsDataEqualTo(const Ts_KnotData &other) const override
virtual void GetPreValue(VtValue *valueOut) const =0
#define PXR_NAMESPACE_CLOSE_SCOPE
void SetPostTanSlope(VtValue slope) override
virtual void SetPreValue(VtValue value)=0
virtual void DeleteData()=0
T GetPreTanHeight() const
void DeleteData() override
virtual void GetPostTanSlope(VtValue *slopeOut) const =0
void GetPreValue(VtValue *valueOut) const override
void GetValue(VtValue *valueOut) const override