Panda3D
Classes | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
ClientAnalogDevice Class Reference

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

#include "clientAnalogDevice.h"

Inheritance diagram for ClientAnalogDevice:
ClientDevice TypedReferenceCount TypedObject ReferenceCount MemoryBase MemoryBase VrpnAnalogDevice

List of all members.

Classes

class  AnalogState

Public Member Functions

virtual TypeHandle force_init_type ()
double get_control_state (int index) const
 Returns the current position of indicated analog control (identified by its index number), or 0.0 if the control is unknown.
int get_num_controls () const
 Returns the number of analog controls known to the ClientAnalogDevice.
virtual TypeHandle get_type () const
bool is_control_known (int index) const
 Returns true if the state of the indicated analog control is known, or false if we have never heard anything about this particular control.
void set_control_state (int index, double state)
 Sets the state of the indicated analog index.
virtual void write (ostream &out, int indent_level=0) const
void write_controls (ostream &out, int indent_level) const
 Writes a multi-line description of the current analog control states.

Static Public Member Functions

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.

Protected Types

typedef pvector< AnalogStateControls

Protected Member Functions

 ClientAnalogDevice (ClientBase *client, const string &device_name)

Protected Attributes

Controls _controls

Detailed Description

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

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

Each analog control returns a value ranging from -1 to 1, reflecting the current position of the control within its total range of motion.

Definition at line 34 of file clientAnalogDevice.h.


Member Function Documentation

double ClientAnalogDevice::get_control_state ( int  index) const [inline]

Returns the current position of indicated analog control (identified by its index number), or 0.0 if the control is unknown.

The normal range of a single control is -1.0 to 1.0.

Definition at line 77 of file clientAnalogDevice.I.

int ClientAnalogDevice::get_num_controls ( ) const [inline]

Returns the number of analog controls known to the ClientAnalogDevice.

This number may change as more controls are discovered.

Definition at line 47 of file clientAnalogDevice.I.

static void ClientAnalogDevice::init_type ( ) [inline, static]

This function is declared non-inline to work around a compiler bug in g++ 2.96.

Making it inline seems to cause problems in the optimizer.

Reimplemented from ClientDevice.

Reimplemented in VrpnAnalogDevice.

Definition at line 68 of file clientAnalogDevice.h.

References ClientDevice::init_type().

bool ClientAnalogDevice::is_control_known ( int  index) const [inline]

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

Definition at line 93 of file clientAnalogDevice.I.

void ClientAnalogDevice::set_control_state ( int  index,
double  state 
) [inline]

Sets the state of the indicated analog index.

The caller should ensure that acquire() is in effect while this call is made. This should be a number in the range -1.0 to 1.0, representing the current position of the control within its total range of movement.

Definition at line 61 of file clientAnalogDevice.I.

void ClientAnalogDevice::write_controls ( ostream &  out,
int  indent_level 
) const

Writes a multi-line description of the current analog control states.

Definition at line 59 of file clientAnalogDevice.cxx.


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations