7 #ifndef PXR_EXEC_VDF_INDEXED_WEIGHTS_OPERAND_H
8 #define PXR_EXEC_VDF_INDEXED_WEIGHTS_OPERAND_H
99 void PruneZeros(
const std::vector<This> &operands);
115 const std::vector<This> &operands,
117 bool nonZeroSetOperation);
280 This
min(
const This &
v)
const;
287 This
max(
const This &
v)
const;
293 This
min(
float min)
const;
299 This
max(
float max)
const;
313 float slope0=0,
float slope1=0)
const;
321 float shoulder0,
float shoulder1)
const;
328 This
lerp(
const This &
v,
float a)
const;
335 This
lerp(
const This &
v,
const This &
a)
const;
346 return _externalWeights;
359 This &operator+=(
const This &
v);
363 This &operator-=(
const This &
v);
367 This &operator*=(
const This &
v);
371 This &operator/=(
const This &
v);
375 This &operator+=(
double s);
379 This &operator-=(
double s);
383 This &operator*=(
double s);
387 This& operator/=(
double s);
401 template <
bool CheckForMathErrors,
typename ModifyFn>
402 This _ApplyFunctionToCopy(ModifyFn modify)
const;
407 void _CopyExternalWeights();
410 std::vector<int> &_GetWriteIndices() {
415 const std::vector<int> &_GetReadIndices()
const {
416 return _externalWeights
422 std::vector<float> &_GetWriteData() {
427 const std::vector<float> &_GetReadData()
const {
428 return _externalWeights
450 bool _mayHaveMathErrors;
469 #endif // #ifndef PXR_EXEC_VDF_INDEXED_WEIGHTS_OPERAND_H
Mat3< typename promote< S, T >::type > operator*(S scalar, const Mat3< T > &m)
Multiply each element of the given matrix by scalar and return the result.
VDF_API This operator>=(const This &v) const
VDF_API void PruneZeros(const std::vector< This > &operands)
VDF_API This operator<=(const This &v) const
VDF_API This acos() const
VDF_API void Fill(const std::vector< This > &operands, double fillWeight, bool nonZeroSetOperation)
#define PXR_NAMESPACE_OPEN_SCOPE
Mat3< typename promote< T0, T1 >::type > operator+(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Add corresponding elements of m0 and m1 and return the result.
This operator-(const This &v) const
VDF_API VdfIndexedWeightsOperand operator>=(double, const VdfIndexedWeightsOperand &)
VDF_API VdfIndexedWeightsOperand operator>(double, const VdfIndexedWeightsOperand &)
VDF_API This sinh() const
VDF_API This acosh() const
GLboolean GLboolean GLboolean GLboolean a
VDF_API This ceil() const
VDF_API This operator!=(const This &v) const
VDF_API This fabs() const
VDF_API VdfIndexedWeightsOperand(SetOperation setOperation, const VdfIndexedWeights *externalWeights=NULL)
VDF_API This asin() const
This operator+(double s) const
VDF_API This cosh() const
This operator/(double s) const
VDF_API This lerp(const This &v, float a) const
This operator*(double s) const
VDF_API This log10() const
VDF_API This sqrt() const
VDF_API VdfIndexedWeightsOperand operator/(double, const VdfIndexedWeightsOperand &)
VDF_API This clamp(float min, float max) const
Mat3< typename promote< T0, T1 >::type > operator-(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Subtract corresponding elements of m0 and m1 and return the result.
VDF_API This atan2(const This &v) const
VDF_API This max(const This &v) const
VDF_API This smoothstep(float min, float max, float slope0=0, float slope1=0) const
VDF_API This asinh() const
VDF_API void ClearMathErrors()
bool operator!=(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Inequality operator, does exact floating point comparisons.
VDF_API This smoothramp(float min, float max, float shoulder0, float shoulder1) const
VDF_API This operator<(const This &v) const
This operator*(const This &v) const
std::vector< T > & _GetWriteData()
VDF_API This atan() const
const std::vector< int > & _GetReadIndices() const
VDF_API This fmod(float denominator) const
This operator+(const This &v) const
VDF_API This min(const This &v) const
VDF_API VdfIndexedWeightsOperand operator<(double, const VdfIndexedWeightsOperand &)
VDF_API This pow(float exponent) const
VDF_API size_t GetNumMathErrors() const
#define PXR_NAMESPACE_CLOSE_SCOPE
This operator/(const This &v) const
VDF_API VdfIndexedWeightsOperand operator<=(double, const VdfIndexedWeightsOperand &)
VDF_API This floor() const
VDF_API This atanh() const
bool HasExternalWeights() const
VDF_API This operator==(const This &v) const
VDF_API void Swap(VdfIndexedWeights *v)
GLubyte GLubyte GLubyte GLubyte w
VDF_API This tanh() const
Used to perform math operations on VdfIndexedWeights.
bool operator==(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Equality operator, does exact floating point comparisons.
std::vector< int > & _GetWriteIndices()
This operator-(double s) const
VDF_API This operator>(const This &v) const
const std::vector< T > & _GetReadData() const