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.
explicit DialNode(ClientBase *client, std::string const &device_name)
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
DialNodeis 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.
- explicit DialNode(ClientBase *client, std::string const &device_name)