Panda3D

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

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

`#include "clientButtonDevice.h"`

Inheritance diagram for ClientButtonDevice:

## Public Member Functions
virtual TypeHandle | force_init_type ()
virtual TypeHandle | get_type () const
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 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.
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 ButtonNode, that records the data from a single named button device.

The named device can contain any number of up/down style buttons, numbered in sequence beginning at zero; these are mapped by this class to a sequence of ButtonHandles specified by the user.

Definition at line 32 of file clientButtonDevice.h.

## Member Function Documentation

## ◆ force_init_type()

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

Reimplemented from ClientDevice.

Definition at line 52 of file clientButtonDevice.h.

## ◆ get_class_type()

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

Definition at line 41 of file clientButtonDevice.h.

## ◆ get_type()

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

Reimplemented from ClientDevice.

Definition at line 49 of file clientButtonDevice.h.

## ◆ init_type()

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

Definition at line 44 of file clientButtonDevice.h.

## ◆ output()

void ClientButtonDevice::output | ( | std::ostream & | out | ) | const
| virtual

Writes a one-line string describing the device.

Reimplemented from ClientDevice.

Definition at line 34 of file clientButtonDevice.cxx.

References InputDevice::get_name, and InputDevice::output_buttons().

## ◆ write()

void ClientButtonDevice::write | ( | std::ostream & | out,
|  | int | indent_level = 0 ) const
| virtual

Reimplemented from ClientDevice.

Definition at line 44 of file clientButtonDevice.cxx.

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

- panda/src/device/clientButtonDevice.h
- panda/src/device/clientButtonDevice.cxx