35 #ifndef IECORE_CUBICBASIS_H
36 #define IECORE_CUBICBASIS_H
38 #include "OpenEXR/ImathMatrix.h"
52 typedef Imath::Matrix44<T> MatrixType;
60 inline void coefficients( S t, S &c0, S &c1, S &c2, S &c3 )
const;
62 inline void coefficients( S t, S c[4] )
const;
64 inline int numCoefficients()
const;
67 inline S operator() ( S t, S p0, S p1, S p2, S p3 )
const;
69 inline S operator() ( S t,
const S p[4] )
const;
71 inline S operator() (
typename S::BaseType t,
const S &p0,
const S &p1,
const S &p2,
const S &p3 )
const;
73 inline S operator() (
typename S::BaseType t,
const S p[4] )
const;
81 inline void derivativeCoefficients( S t, S &c0, S &c1, S &c2, S &c3 )
const;
83 inline void derivativeCoefficients( S t, S c[4] )
const;
86 inline S derivative( S t, S p0, S p1, S p2, S p3 )
const;
88 inline S derivative( S t,
const S p[4] )
const;
90 inline S derivative(
typename S::BaseType t,
const S &p0,
const S &p1,
const S &p2,
const S &p3 )
const;
92 inline S derivative(
typename S::BaseType t,
const S p[4] )
const;
100 inline void integralCoefficients( S t0, S t1, S &c0, S &c1, S &c2, S &c3 )
const;
102 inline void integralCoefficients( S t0, S t1, S c[4] )
const;
105 inline S integral( S t0, S t1, S p0, S p1, S p2, S p3 )
const;
107 inline S integral( S t0, S t1,
const S p[4] )
const;
109 inline S integral(
typename S::BaseType t0,
typename S::BaseType t1,
const S &p0,
const S &p1,
const S &p2,
const S &p3 )
const;
111 inline S integral(
typename S::BaseType t0,
typename S::BaseType t1,
const S p[4] )
const;
120 inline bool criticalPoints(
const S p[4], S &p0, S &p1 )
const;
123 bool operator==(
const CubicBasis &rhs )
const;
124 bool operator!=(
const CubicBasis &rhs )
const;
138 #include "IECore/CubicBasis.inl"
140 #endif // IECORE_CUBICBASIS_H
Definition: CubicBasis.h:46
This namespace contains all components of the core library.
Definition: AddSmoothSkinningInfluencesOp.h:43