class DialNode

Bases: DataNode

This is the primary interface to infinite dial type devices associated with a ClientBase. This creates a node that connects to the named dial device, if it exists, and provides hooks to the user to read the state of any of the sequentially numbered dial controls associated with that device.

A dial is a rotating device that does not have stops–it can keep rotating any number of times. Therefore it does not have a specific position at any given time, unlike an AnalogDevice.

Inheritance diagram

Inheritance diagram of DialNode

explicit DialNode(ClientBase *client, std::string const &device_name)
DialNode(DialNode const&) = default
static TypeHandle get_class_type(void)
int get_num_dials(void) const

Returns the number of dial dials known to the DialNode. This number may change as more dials are discovered.

bool is_dial_known(int index) const

Returns true if the state of the indicated dial dial is known, or false if we have never heard anything about this particular dial.

bool is_valid(void) const

Returns true if the DialNode is valid and connected to a server, false otherwise.

double read_dial(int index)

Returns the number of complete revolutions of the dial since the last time read_dial() was called. This is a destructive operation; it is not possible to read the dial without resetting the counter.