13 #ifndef __CL_SimpleChannel_h__ 
   14 #define __CL_SimpleChannel_h__ 
   55                                   bool clamp_slopes = 
true);
 
   69     void        splitAndFindSlopeLengths( 
fpreal t,
 
  109         return x0 + u*(x1 + u*(
x2 + u*x3));
 
  154     static void     getMonotoneSlopeSDDE2ViaConic
 
  161     void        display() 
const;
 
  289     bool   canEval() 
const;
 
  309     bool isAtHardKey(
fpreal gtime) 
const;
 
  311     int getSegmentIdx(
fpreal ltime) 
const;
 
  319             { mySegmentExpressions[
index] = expr; }
 
  322             { 
return mySegmentInSlopesAuto[
index]; }
 
  324             { 
return mySegmentOutSlopesAuto[
index]; }
 
  348     bool insertKeyFrame(
fpreal global_time, 
bool auto_slope = 
true);
 
  353     bool destroyKeyFrame(
fpreal global_time);
 
  358     bool destroyKeyFrames(
fpreal gtime_start, 
fpreal gtime_end);
 
  366     bool destroySegments(
int start_idx, 
int end_idx);
 
  402     bool setKeyAutoSlope(
fpreal gtime, 
bool auto_slope,
 
  406     bool setRawValues(
fpreal from,
 
  410                       bool auto_slope = 
true);
 
  443     void setTolerance(
fpreal tolerance) { myTolerance = tolerance; }
 
  497     void moveKeysWithDeltas(
 
  502     void smoothAutoSlopesForSegments(
 
  507     void smoothAutoSlopes(
bool force = 
false);
 
  511     void trimStart(
float gtime);
 
  514     void trimEnd(
float gtime);
 
  528     static void setAutoSplit(
bool onoff);
 
  533             { 
return theDefaultSegmentType; }
 
  536             { 
return theDefaultSplitSegmentType; }
 
  541     static fpreal theTolerance;
 
  542     static constexpr 
fpreal theDefaultAccelRatio = 1.0 / 3.0;
 
  545     static bool theAutoSplit;
 
  553                     return length * ratio * SYSsqrt( slope*slope + 1 );
 
  563                                             bool is_end_segment);
 
  567                                              bool is_end_segment);
 
  571     void splitSegment(
fpreal gtime, 
bool auto_slope = 
true);
 
  573     void changeSegmentLength(
int index,
 
  575                              bool scale_accels = 
true);
 
  586     void insertSegment(
int index,
 
  590     void removeSegment(
int index);
 
  595                               bool clamp_slopes = 
true);
 
  599     void removeSegments(
int start_index, 
int end_index);
 
  602     void recomputeBezierCoeffs(
int start_index = 0, 
int end_index = -1);
 
  610     void shiftKey(
int index, 
fpreal t, 
bool recompute_coeffs = 
true);
 
const UT_Array< CL_SimpleSegment > & getSegments() const 
 
fpreal getPostSlope() const 
 
GLsizei GLenum const void * indices
 
#define SYS_DEPRECATED(__V__)
 
GA_API const UT_StringHolder accel
 
imath_half_bits_t half
if we're in a C-only context, alias the half bits type to half 
 
const UT_Array< UT_StringHolder > & getSegmentExpressions() const 
 
CL_ChannelBehavior getPreType() const 
 
int getNSegments() const 
Returns the number of segments including the end segment. 
 
GLsizei const GLfloat * value
 
void setPostType(CL_ChannelBehavior type)
 
static CL_SimpleSegmentType getDefaultSegmentType()
 
GLboolean GLboolean GLboolean GLboolean a
 
GLuint GLsizei GLsizei * length
 
UT_StringHolder getSegmentExpression(int index) const 
 
void setPreType(CL_ChannelBehavior type)
 
GLfloat GLfloat GLfloat v2
 
GLfloat GLfloat GLfloat GLfloat v3
 
void setStart(fpreal start)
 
fpreal getEndValue() const 
 
constexpr auto in(type t, int set) -> bool
 
UT_SharedPtr< const CL_SimpleChannel > CL_SimpleChannelConstPtr
 
const CL_SimpleSegment & getSegment(int index) const 
 
void setType(CL_SimpleSegmentType type)
 
GLint GLint GLsizei GLint GLenum GLenum type
 
void setDefaultValue(fpreal value)
 
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr. 
 
int getSegmentInSlopeAuto(int index) const 
 
void setSegmentInSlopeAuto(int index, bool value)
 
void setSegmentOutSlopeAuto(int index, bool value)
 
void setSegmentExpression(int index, const UT_StringHolder &expr)
 
fpreal localTime(fpreal t) const 
 
fpreal getTolerance() const 
 
void setExtraData(int index, fpreal data)
 
void setPreSlope(fpreal slope)
 
HUSD_API bool eval(VtValue &val, T &ret_val)
 
GLboolean GLboolean GLboolean b
 
CL_SimpleSegmentType getType() const 
 
fpreal getDefaultValue() const 
 
void setPreValue(fpreal value)
 
UT_SharedPtr< CL_SimpleChannel > CL_SimpleChannelPtr
 
static CL_SimpleSegmentType getDefaultSegmentSplitType()
 
fpreal evalP(fpreal u) const 
 
SIM_API const UT_StringHolder force
 
GLenum GLsizei GLsizei GLint * values
 
static void setChannelTolerance(fpreal tol)
 
CL_ChannelBehavior getPostType() const 
 
fpreal getPreValue() const 
 
static fpreal getChannelTolerance()
 
LeafData & operator=(const LeafData &)=delete
 
void setPostSlope(fpreal slope)
 
fpreal globalTime(fpreal t) const 
 
int getSegmentOutSlopeAuto(int index) const 
 
fpreal getPreSlope() const 
 
void OIIO_UTIL_API split(string_view str, std::vector< string_view > &result, string_view sep=string_view(), int maxsplit=-1)
 
fpreal getPostValue() const 
 
static bool getAutoSplit()
 
CL_SimpleSegment & getSegment(int index)
 
void setPostValue(fpreal value)
 
fpreal getStartValue() const