21 return _is_registered;
52 INLINE
size_t SliderTable::
53 get_num_sliders()
const {
54 return _sliders.size();
62 nassertr(n < _sliders.size(),
nullptr);
63 return _sliders[n]._slider;
71 nassertr(n < _sliders.size(), _empty_array);
72 return _sliders[n]._rows;
82 SlidersByName::const_iterator sni;
83 sni = _sliders_by_name.find(name);
84 if (sni != _sliders_by_name.end()) {
104 return _sliders.empty();
115 CDReader cdata(_cycler, current_thread);
116 return cdata->_modified;
123 INLINE
void SliderTable::
125 CDWriter cdata(_cycler,
true, current_thread);
126 cdata->_modified = modified;
132 INLINE SliderTable::CData::
139 INLINE SliderTable::CData::
140 CData(
const SliderTable::CData ©) :
141 _modified(copy._modified)
This class records a set of integers, where each integer is either present or not present in the set.
const SparseArray & get_slider_rows(size_t n) const
Returns the set of rows (vertices) governed by the nth slider in the table.
This is an abstract base class that retains some slider value, which is a linear value that typically...
bool has_slider(const InternalName *name) const
Returns true if the table has at least one slider by the indicated name, false otherwise.
Stores the total set of VertexSliders that the vertices in a particular GeomVertexData object might d...
const SparseArray & find_sliders(const InternalName *name) const
Returns a list of slider indices that represent the list of sliders with the indicated name,...
bool is_empty() const
Returns true if the table has no sliders, false if it has at least one.
Encodes a string name in a hash table, mapping it to a pointer.
bool is_registered() const
Returns true if this table has been registered.
A thread; that is, a lightweight process.
get_modified
Returns a sequence number that's guaranteed to change at least when any VertexSliders in the table ch...
CPT(SliderTable) SliderTable
Registers a SliderTable for use.
get_slider
Returns the nth slider in the table.
This is a sequence number that increments monotonically.