Panda3D

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
ClientDialDevice Class Reference

A device, attached to the ClientBase by a DialNode, that records the data from a single named dial device. More...

`#include "clientDialDevice.h"`

Inheritance diagram for ClientDialDevice:

## Public Member Functions
virtual TypeHandle | force_init_type ()
int | get_num_dials () const
| Returns the number of dial dials known to the ClientDialDevice.
virtual TypeHandle | get_type () const
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.
void | push_dial (int index, double offset)
| Marks that the dial has been offset by the indicated amount.
double | read_dial (int index)
| Returns the number of complete revolutions of the dial since the last time read_dial() was called.
Public Member Functions inherited from ClientDevice
virtual | ~ClientDevice ()
| We don't actually call disconnect() at the ClientDevice level destructor, because by the time we get here we're already partly destructed.
void | disconnect ()
| Disconnects the ClientDevice from its ClientBase object.
virtual void | do_poll () final
| Causes the connected ClientBase to poll all of its clients, if necessary.
ClientBase * | get_client () const
| Returns the ClientBase this device is associated with.
TypeHandle | get_device_type () const
| Returns the type of device this is considered to be to the ClientBase: a ClientTrackerDevice, ClientAnalogDevice, or what have you.
virtual void | output (std::ostream &out) const
| Writes a one-line string describing the device.
virtual void | write (std::ostream &out, int indent_level=0) const
Public Member Functions inherited from InputDevice
| InputDevice (const InputDevice &copy)=delete
void | disable_pointer_events ()
| Disables the generation of mouse-movement events.
void | enable_pointer_events ()
| Enables the generation of mouse-movement events.
AxisState | find_axis (Axis axis) const
| Returns the first AnalogAxis found with the given axis, or throw an assert if the axis was not found in the list.
ButtonState | find_button (ButtonHandle handle) const
| Returns the first ButtonState found with the given axis, or throw an assert if the button handle was not found in the list.
AxisState | get_axis (size_t index) const
double | get_axis_value (size_t index) const
| Returns the current position of indicated analog axis (identified by its index number), or 0.0 if the axis is unknown.
BatteryData | get_battery () const
ButtonState | get_button (size_t index) const
ButtonHandle | get_button_map (size_t index) const
| Returns the ButtonHandle that was previously associated with the given index number by a call to map_button(), or ButtonHandle::none() if no button was associated.
DeviceClass | get_device_class () const
std::string | get_manufacturer () const
std::string | get_name () const
size_t | get_num_axes () const
size_t | get_num_buttons () const
unsigned short | get_product_id () const
std::string | get_serial_number () const
TrackerData | get_tracker () const
unsigned short | get_vendor_id () const
bool | has_battery () const
bool | has_button_event () const
| Returns true if this device has a pending button event (a mouse button or keyboard button down/up), false otherwise.
bool | has_feature (Feature feature) const
| Returns true if the device supports the indicated feature.
bool | has_keyboard () const
| Returns true if the device has a physical keyboard designed for text entry.
bool | has_pointer () const
| Returns true if this is a pointing device.
bool | has_pointer_event () const
| Returns true if this device has a pending pointer event (a mouse movement), or false otherwise.
bool | has_tracker () const
bool | has_vibration () const
| Returns true if the device has vibration motors that can be controlled by calling set_vibration().
bool | is_axis_known (size_t index) const
| Returns true if the state of the indicated analog axis is known, or false if we have never heard anything about this particular axis.
bool | is_button_known (size_t index) const
| Returns true if the state of the indicated button is known, or false if we have never heard anything about this particular button.
bool | is_button_pressed (size_t index) const
| Returns true if the indicated button (identified by its index number) is currently known to be down, or false if it is up or unknown.
bool | is_connected () const
void | map_axis (size_t index, Axis axis)
| Associates the indicated Axis with the axis of the indicated index number.
void | map_button (size_t index, ButtonHandle handle)
| Associates the indicated ButtonHandle with the button of the indicated index number.
InputDevice & | operator= (const InputDevice &copy)=delete
void | output_buttons (std::ostream &out) const
| Writes a one-line string of all of the current button states.
void | poll ()
| Polls the input device for new activity, to ensure it contains the latest events.
| PT (ButtonEventList) get_button_events()
| PT (PointerEventList) get_pointer_events()
void | set_connected (bool connected)
| Called to indicate that the device has been disconnected or connected from its host.
void | set_vibration (double strong, double weak)
| Sets the strength of the vibration effect, if supported.
void | write_axes (std::ostream &out, int indent_level) const
| Writes a multi-line description of the current analog axis states.
void | write_buttons (std::ostream &out, int indent_level) const
| Writes a multi-line description of the current button states.
Public Member Functions inherited from TypedReferenceCount
| TypedReferenceCount (const TypedReferenceCount &copy)
void | operator= (const TypedReferenceCount &copy)
Public Member Functions inherited from TypedObject
| TypedObject (const TypedObject &copy)=default
TypedObject * | as_typed_object ()
| Returns the object, upcast (if necessary) to a TypedObject pointer.
const TypedObject * | as_typed_object () const
| Returns the object, upcast (if necessary) to a TypedObject pointer.
int | get_best_parent_from_Set (const std::set< int > &) const
int | get_type_index () const
| Returns the internal index number associated with this object's TypeHandle, a unique number for each different type.
bool | is_exact_type (TypeHandle handle) const
| Returns true if the current object is the indicated type exactly.
bool | is_of_type (TypeHandle handle) const
| Returns true if the current object is or derives from the indicated type.
TypedObject & | operator= (const TypedObject &copy)=default
Public Member Functions inherited from MemoryBase
void | operator delete (void *, void *)
void | operator delete (void *ptr)
void | operator delete[] (void *, void *)
void | operator delete[] (void *ptr)
void * | operator new (size_t size)
void * | operator new (size_t size, void *ptr)
void * | operator new[] (size_t size)
void * | operator new[] (size_t size, void *ptr)
Public Member Functions inherited from ReferenceCount
int | get_ref_count () const
WeakReferenceList * | get_weak_list () const
| Returns the WeakReferenceList associated with this ReferenceCount object.
bool | has_weak_list () const
| Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise.
void | local_object ()
| This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack.
void | ref () const
| Explicitly increments the reference count.
bool | ref_if_nonzero () const
| Atomically increases the reference count of this object if it is not zero.
bool | test_ref_count_integrity () const
| Does some easy checks to make sure that the reference count isn't completely bogus.
bool | test_ref_count_nonzero () const
| Does some easy checks to make sure that the reference count isn't zero, or completely bogus.
virtual bool | unref () const
| Explicitly decrements the reference count.
bool | unref_if_one () const
| Atomically decreases the reference count of this object if it is one.
WeakReferenceList * | weak_ref ()
| Adds the indicated PointerToVoid as a weak reference to this object.
void | weak_unref ()
| Removes the indicated PointerToVoid as a weak reference to this object.

## Static Public Member Functions
static TypeHandle | get_class_type ()
static void | init_type ()
Static Public Member Functions inherited from ClientDevice
static TypeHandle | get_class_type ()
static void | init_type ()
Static Public Member Functions inherited from InputDevice
static std::string | format_axis (Axis axis)
| Returns a string describing the given axis enumerant.
static std::string | format_device_class (DeviceClass dc)
| Returns a string describing the given device class enumerant.
static TypeHandle | get_class_type ()
static void | init_type ()
Static Public Member Functions inherited from TypedReferenceCount
static TypeHandle | get_class_type ()
static void | init_type ()
Static Public Member Functions inherited from TypedObject
static TypeHandle | get_class_type ()
static void | init_type ()
| This function is declared non-inline to work around a compiler bug in g++ 2.96.
Static Public Member Functions inherited from ReferenceCount
static TypeHandle | get_class_type ()
static void | init_type ()

## Additional Inherited Members
Public Types inherited from InputDevice
typedef pvector< AxisState > | Axes
enum class | Axis { none , x , y , z , yaw , pitch , roll , left_x , left_y , left_trigger , right_x , right_y , right_trigger , throttle , rudder , wheel , accelerator , brake , pressure }
typedef pvector< ButtonState > | Buttons
enum class | DeviceClass { unknown , virtual_device , keyboard , mouse , touch , gamepad , flight_stick , steering_wheel , dance_pad , hmd , spatial_mouse , digitizer }
enum class | Feature { pointer , keyboard , tracker , vibration , battery }
enum | State { S_unknown , S_up , S_down }
Public Attributes inherited from InputDevice
Axes | _axes
BatteryData | _battery_data
Buttons | _buttons
PointerData | _pointer_data
TrackerData | _tracker_data
| get_axis
| Returns the axis state that is set at the given index, or throw an assert if the index was not found in the list.
| get_battery
| Returns a rough indication of the battery level, ranging from 0 (completely empty battery) to the indicated max_level value.
| get_button
| Returns the ButtonState that is set at the given index, or throw an assert if the index was not found in the list.
| get_device_class
| Returns an identification of the general type of device.
| get_manufacturer
| Returns a string containing the manufacturer of the device, if this information is known.
| get_name
| Returns a human-readable name for the device.
| get_num_axes
| Returns the number of analog axes known to the InputDevice.
| get_num_buttons
| Returns the number of buttons known to the device.
| get_product_id
| Returns a string containing the USB product ID of the device, if this information is known.
| get_serial_number
| Returns a string containing the serial number of the device, if this information is known.
| get_tracker
| Returns the TrackerData associated with the input device's tracker.
| get_vendor_id
| Returns a string containing the USB vendor ID of the device, if this information is known.
| has_battery
| Returns true if the device may be able to provide information about its battery life.
| has_tracker
| Returns true if the device features a tracker that can track position and/or orientation in 3D space.
| is_connected
| Returns true if the device is still connected and able to receive data, false otherwise.
Public Attributes inherited from TypedObject
| get_type
Public Attributes inherited from ReferenceCount
| get_ref_count
| Returns the current reference count.

## Detailed Description

A device, attached to the ClientBase by a DialNode, that records the data from a single named dial device.

The named device can contain any number of dials, numbered in sequence beginning at zero.

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.

Definition at line 30 of file clientDialDevice.h.

## Member Function Documentation

## ◆ force_init_type()

virtual TypeHandle ClientDialDevice::force_init_type | ( |  | ) |
| inline virtual

Reimplemented from ClientDevice.

Definition at line 69 of file clientDialDevice.h.

## ◆ get_class_type()

static TypeHandle ClientDialDevice::get_class_type | ( |  | ) |
| inline static

Definition at line 58 of file clientDialDevice.h.

## ◆ get_num_dials()

int ClientDialDevice::get_num_dials | ( |  | ) | const
| inline

Returns the number of dial dials known to the ClientDialDevice.

This number may change as more dials are discovered.

Definition at line 37 of file clientDialDevice.I.

## ◆ get_type()

virtual TypeHandle ClientDialDevice::get_type | ( |  | ) | const
| inline virtual

Reimplemented from ClientDevice.

Definition at line 66 of file clientDialDevice.h.

## ◆ init_type()

static void ClientDialDevice::init_type | ( |  | ) |
| inline static

Definition at line 61 of file clientDialDevice.h.

## ◆ is_dial_known()

bool ClientDialDevice::is_dial_known | ( | int | index | ) | const
| inline

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

Definition at line 78 of file clientDialDevice.I.

## ◆ push_dial()

void ClientDialDevice::push_dial | ( | int | index,
|  | double | offset )
| inline

Marks that the dial has been offset by the indicated amount.

It is the user's responsibility to ensure that this call is protected within acquire().

Definition at line 47 of file clientDialDevice.I.

## ◆ read_dial()

double ClientDialDevice::read_dial | ( | int | index | ) |
| inline

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.

It is the user's responsibility to ensure that this call is protected within acquire().

Definition at line 63 of file clientDialDevice.I.

The documentation for this class was generated from the following files:

- panda/src/device/clientDialDevice.h
- panda/src/device/clientDialDevice.cxx
- panda/src/device/clientDialDevice.I