add const-ness: Evaluating a curve does not change it.
Note that the ControlList's lock and cache are already mutable.
This commit is contained in:
parent
0c57199a6c
commit
c2cb60ea03
@ -33,17 +33,17 @@ class LIBEVORAL_API Curve : public boost::noncopyable
|
|||||||
public:
|
public:
|
||||||
Curve (const ControlList& cl);
|
Curve (const ControlList& cl);
|
||||||
|
|
||||||
bool rt_safe_get_vector (double x0, double x1, float *arg, int32_t veclen);
|
bool rt_safe_get_vector (double x0, double x1, float *arg, int32_t veclen) const;
|
||||||
void get_vector (double x0, double x1, float *arg, int32_t veclen);
|
void get_vector (double x0, double x1, float *arg, int32_t veclen) const;
|
||||||
|
|
||||||
void solve ();
|
void solve () const;
|
||||||
|
|
||||||
void mark_dirty() const { _dirty = true; }
|
void mark_dirty() const { _dirty = true; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
double multipoint_eval (double x);
|
double multipoint_eval (double x) const;
|
||||||
|
|
||||||
void _get_vector (double x0, double x1, float *arg, int32_t veclen);
|
void _get_vector (double x0, double x1, float *arg, int32_t veclen) const;
|
||||||
|
|
||||||
mutable bool _dirty;
|
mutable bool _dirty;
|
||||||
const ControlList& _list;
|
const ControlList& _list;
|
||||||
|
@ -42,7 +42,7 @@ Curve::Curve (const ControlList& cl)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Curve::solve ()
|
Curve::solve () const
|
||||||
{
|
{
|
||||||
uint32_t npoints;
|
uint32_t npoints;
|
||||||
|
|
||||||
@ -169,7 +169,7 @@ Curve::solve ()
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
Curve::rt_safe_get_vector (double x0, double x1, float *vec, int32_t veclen)
|
Curve::rt_safe_get_vector (double x0, double x1, float *vec, int32_t veclen) const
|
||||||
{
|
{
|
||||||
Glib::Threads::RWLock::ReaderLock lm(_list.lock(), Glib::Threads::TRY_LOCK);
|
Glib::Threads::RWLock::ReaderLock lm(_list.lock(), Glib::Threads::TRY_LOCK);
|
||||||
|
|
||||||
@ -182,14 +182,14 @@ Curve::rt_safe_get_vector (double x0, double x1, float *vec, int32_t veclen)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Curve::get_vector (double x0, double x1, float *vec, int32_t veclen)
|
Curve::get_vector (double x0, double x1, float *vec, int32_t veclen) const
|
||||||
{
|
{
|
||||||
Glib::Threads::RWLock::ReaderLock lm(_list.lock());
|
Glib::Threads::RWLock::ReaderLock lm(_list.lock());
|
||||||
_get_vector (x0, x1, vec, veclen);
|
_get_vector (x0, x1, vec, veclen);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Curve::_get_vector (double x0, double x1, float *vec, int32_t veclen)
|
Curve::_get_vector (double x0, double x1, float *vec, int32_t veclen) const
|
||||||
{
|
{
|
||||||
double rx, lx, hx, max_x, min_x;
|
double rx, lx, hx, max_x, min_x;
|
||||||
int32_t i;
|
int32_t i;
|
||||||
@ -329,7 +329,7 @@ Curve::_get_vector (double x0, double x1, float *vec, int32_t veclen)
|
|||||||
}
|
}
|
||||||
|
|
||||||
double
|
double
|
||||||
Curve::multipoint_eval (double x)
|
Curve::multipoint_eval (double x) const
|
||||||
{
|
{
|
||||||
pair<ControlList::EventList::const_iterator,ControlList::EventList::const_iterator> range;
|
pair<ControlList::EventList::const_iterator,ControlList::EventList::const_iterator> range;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user