scalar_extension.h File Reference

Classes

struct   MathFuncHelper< T, FUNC >
struct   MathFuncHelper< Vec2< T >, FUNC >
struct   MathFuncHelper< Vec3< T >, FUNC >
struct   MathFuncHelper< Vec4< T >, FUNC >
struct   MathFuncHelper< Col3< T >, FUNC >
struct   MathFuncHelper< Col4< T >, FUNC >

Namespaces

  maxon

Macros

#define  MATH_HELPER_INSTANTIATE (Func)

Typedefs

template<typename T >
using  enable_if_scalar = typename std::enable_if< STD_IS_REPLACEMENT (scalar, T), T >::type
template<typename T >
using  enable_if_not_scalar = typename std::enable_if<! STD_IS_REPLACEMENT (scalar, T), T >::type
template<typename T >
using  enable_if_float = typename std::enable_if< STD_IS_REPLACEMENT (floating_point, T), T >::type
template<typename T >
using  enable_if_not_float = typename std::enable_if<! STD_IS_REPLACEMENT (floating_point, T), T >::type
template<typename T >
using  enable_if_integral = typename std::enable_if< STD_IS_REPLACEMENT (integral, T), T >::type
template<typename T >
using  enable_if_not_integral = typename std::enable_if<! STD_IS_REPLACEMENT (integral, T), T >::type

Macro Definition Documentation

◆  MATH_HELPER_INSTANTIATE

#define MATH_HELPER_INSTANTIATE (   Func )

If you want to use your scalar function with any of the MathFuncHelper specializations: MATH_HELPER_INSTANTIATE(YourFunc) ; This will create a Function of the same name as the provided function "YourFunc" and can be used like e.g.

MATH_HELPER_INSTANTIATE ( SmoothStep ); template < typename T> class MyClass { Result<T> SomeFunc( const T& value, const T& lowerLimit, const T& upperLimit) { return SmoothStep (lowerLimit, upperLimit, value); // Note that T can be of any type we specialized for. } };
MATH_HELPER_INSTANTIATE
#define MATH_HELPER_INSTANTIATE(Func)
定义: scalar_extension.h:80
maxon::SmoothStep
Float32 SmoothStep(Float32 lowerLimit, Float32 upperLimit, Float32 x)
identical to Boxstep, but with a soft curve instead of linear behaviour in the range of [lowerLimit....
定义: general_math.h:124