mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-12-25 04:32:33 -06:00
1313 lines
67 KiB
Text
1313 lines
67 KiB
Text
1412103239
|
|
2 2
|
|
11 libp3device 4 k0F5 12 panda3d.core
|
|
57
|
|
57 24 fork_asynchronous_thread 0 4 114 36 ClientBase::fork_asynchronous_thread 0 1 1 612
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: ClientBase::fork_asynchronous_thread
|
|
// Access: Public
|
|
// Description: Forks a separate thread to do all the polling of
|
|
// connected devices. The forked thread will poll after
|
|
// every poll_time seconds has elapsed. Returns true if
|
|
// the fork was successful, or false otherwise (for
|
|
// instance, because we were already forked, or because
|
|
// asynchronous threads are disabled).
|
|
////////////////////////////////////////////////////////////////////
|
|
60
|
|
bool ClientBase::fork_asynchronous_thread(double poll_time);
|
|
|
|
58 9 is_forked 0 4 114 21 ClientBase::is_forked 0 1 2 854
|
|
// Filename: clientBase.I
|
|
// Created by: drose (25Jan01)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PANDA 3D SOFTWARE
|
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
|
//
|
|
// All use of this software is subject to the terms of the revised BSD
|
|
// license. You should have received a copy of this license along
|
|
// with this source code in a file named "LICENSE."
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: ClientBase::is_forked
|
|
// Access: Public
|
|
// Description: Returns true if the ClientBase has been forked (and,
|
|
// therefore, poll() does not need to be called), false
|
|
// otherwise.
|
|
////////////////////////////////////////////////////////////////////
|
|
46
|
|
inline bool ClientBase::is_forked(void) const;
|
|
|
|
59 4 poll 0 4 114 16 ClientBase::poll 0 1 3 429
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: ClientBase::poll
|
|
// Access: Public
|
|
// Description: Initiates a poll of the client devices, if we are not
|
|
// forked and if we have not already polled this frame.
|
|
// Returns true if the poll occurred, or false if it did
|
|
// not.
|
|
////////////////////////////////////////////////////////////////////
|
|
35
|
|
inline bool ClientBase::poll(void);
|
|
|
|
60 18 get_last_poll_time 0 4 114 30 ClientBase::get_last_poll_time 0 1 4 365
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: ClientBase::get_last_poll_time
|
|
// Access: Public
|
|
// Description: Returns the time (according to the global
|
|
// ClockObject's get_real_time() method) of the last
|
|
// device poll.
|
|
////////////////////////////////////////////////////////////////////
|
|
57
|
|
inline double ClientBase::get_last_poll_time(void) const;
|
|
|
|
61 21 set_coordinate_system 0 4 114 33 ClientBase::set_coordinate_system 0 1 5 390
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: ClientBase::set_coordinate_system
|
|
// Access: Published
|
|
// Description: Specifies the coordinate system that all devices
|
|
// associated with this client will operate in.
|
|
// Normally, this is CS_default.
|
|
////////////////////////////////////////////////////////////////////
|
|
67
|
|
inline void ClientBase::set_coordinate_system(CoordinateSystem cs);
|
|
|
|
62 21 get_coordinate_system 0 4 114 33 ClientBase::get_coordinate_system 0 1 6 388
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: ClientBase::get_coordinate_system
|
|
// Access: Published
|
|
// Description: Returns the coordinate system that all devices
|
|
// associated with this client will operate in.
|
|
// Normally, this is CS_default.
|
|
////////////////////////////////////////////////////////////////////
|
|
70
|
|
inline CoordinateSystem ClientBase::get_coordinate_system(void) const;
|
|
|
|
63 14 get_class_type 0 4 114 26 ClientBase::get_class_type 0 1 7 0
|
|
51
|
|
static TypeHandle ClientBase::get_class_type(void);
|
|
|
|
64 10 AnalogNode 0 4 116 22 AnalogNode::AnalogNode 0 1 8 219
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: AnalogNode::Constructor
|
|
// Access: Public
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
84
|
|
AnalogNode::AnalogNode(ClientBase *client, basic_string< char > const &device_name);
|
|
|
|
65 8 is_valid 0 4 116 20 AnalogNode::is_valid 0 1 9 317
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: AnalogNode::is_valid
|
|
// Access: Public
|
|
// Description: Returns true if the AnalogNode is valid and
|
|
// connected to a server, false otherwise.
|
|
////////////////////////////////////////////////////////////////////
|
|
45
|
|
inline bool AnalogNode::is_valid(void) const;
|
|
|
|
66 16 get_num_controls 0 4 116 28 AnalogNode::get_num_controls 0 1 10 378
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: AnalogNode::get_num_controls
|
|
// Access: Public
|
|
// Description: Returns the number of analog controls known to the
|
|
// AnalogNode. This number may change as more controls
|
|
// are discovered.
|
|
////////////////////////////////////////////////////////////////////
|
|
52
|
|
inline int AnalogNode::get_num_controls(void) const;
|
|
|
|
67 17 get_control_state 0 4 116 29 AnalogNode::get_control_state 0 1 11 453
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: AnalogNode::get_control_state
|
|
// Access: Public
|
|
// Description: 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
61
|
|
inline double AnalogNode::get_control_state(int index) const;
|
|
|
|
68 16 is_control_known 0 4 116 28 AnalogNode::is_control_known 0 1 12 398
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: AnalogNode::is_control_known
|
|
// Access: Public
|
|
// Description: Returns true if the state of the indicated analog
|
|
// control is known, or false if we have never heard
|
|
// anything about this particular control.
|
|
////////////////////////////////////////////////////////////////////
|
|
58
|
|
inline bool AnalogNode::is_control_known(int index) const;
|
|
|
|
69 10 set_output 0 4 116 22 AnalogNode::set_output 0 1 13 598
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: AnalogNode::set_output
|
|
// Access: Public
|
|
// Description: Causes a particular analog control to be placed in
|
|
// the data graph for the indicated channel. Normally,
|
|
// a mouse uses channels 0 and 1 for the X and Y
|
|
// information, respectively; channels 0, 1, and 2 are
|
|
// available. If flip is true, the analog control value
|
|
// will be reversed before outputting it.
|
|
////////////////////////////////////////////////////////////////////
|
|
70
|
|
inline void AnalogNode::set_output(int channel, int index, bool flip);
|
|
|
|
70 12 clear_output 0 4 116 24 AnalogNode::clear_output 0 1 14 332
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: AnalogNode::clear_output
|
|
// Access: Public
|
|
// Description: Removes the output to the data graph associated with
|
|
// the indicated channel. See set_output().
|
|
////////////////////////////////////////////////////////////////////
|
|
50
|
|
inline void AnalogNode::clear_output(int channel);
|
|
|
|
71 10 get_output 0 4 116 22 AnalogNode::get_output 0 1 15 410
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: AnalogNode::get_output
|
|
// Access: Public
|
|
// Description: Returns the analog control index that is output to
|
|
// the data graph on the indicated channel, or -1 if no
|
|
// control is output on that channel. See set_output().
|
|
////////////////////////////////////////////////////////////////////
|
|
53
|
|
inline int AnalogNode::get_output(int channel) const;
|
|
|
|
72 17 is_output_flipped 0 4 116 29 AnalogNode::is_output_flipped 0 1 16 389
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: AnalogNode::is_output_flipped
|
|
// Access: Public
|
|
// Description: Returns true if the analog control index that is
|
|
// output to the data graph on the indicated channel is
|
|
// flipped. See set_output().
|
|
////////////////////////////////////////////////////////////////////
|
|
61
|
|
inline bool AnalogNode::is_output_flipped(int channel) const;
|
|
|
|
73 14 get_class_type 0 4 116 26 AnalogNode::get_class_type 0 1 17 0
|
|
51
|
|
static TypeHandle AnalogNode::get_class_type(void);
|
|
|
|
74 10 ButtonNode 0 4 118 22 ButtonNode::ButtonNode 0 1 18 219
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: ButtonNode::Constructor
|
|
// Access: Public
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
84
|
|
ButtonNode::ButtonNode(ClientBase *client, basic_string< char > const &device_name);
|
|
|
|
75 8 is_valid 0 4 118 20 ButtonNode::is_valid 0 1 19 803
|
|
// Filename: buttonNode.I
|
|
// Created by: drose (12Mar02)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PANDA 3D SOFTWARE
|
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
|
//
|
|
// All use of this software is subject to the terms of the revised BSD
|
|
// license. You should have received a copy of this license along
|
|
// with this source code in a file named "LICENSE."
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: ButtonNode::is_valid
|
|
// Access: Public
|
|
// Description: Returns true if the ButtonNode is valid and
|
|
// connected to a server, false otherwise.
|
|
////////////////////////////////////////////////////////////////////
|
|
45
|
|
inline bool ButtonNode::is_valid(void) const;
|
|
|
|
76 15 get_num_buttons 0 4 118 27 ButtonNode::get_num_buttons 0 1 20 572
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: ButtonNode::get_num_buttons
|
|
// Access: Public
|
|
// Description: Returns the number of buttons known to the
|
|
// ButtonNode. This includes those buttons whose state
|
|
// has been seen, as well as buttons that have been
|
|
// associated with a ButtonHandle even if their state is
|
|
// unknown. This number may change as more buttons are
|
|
// discovered.
|
|
////////////////////////////////////////////////////////////////////
|
|
51
|
|
inline int ButtonNode::get_num_buttons(void) const;
|
|
|
|
77 14 set_button_map 0 4 118 26 ButtonNode::set_button_map 0 1 21 820
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: ButtonNode::set_button_map
|
|
// Access: Public
|
|
// Description: Associates the indicated ButtonHandle with the button
|
|
// of the indicated index number. When the given button
|
|
// index changes state, a corresponding ButtonEvent will
|
|
// be generated with the given ButtonHandle. Pass
|
|
// ButtonHandle::none() to turn off any association.
|
|
//
|
|
// It is not necessary to call this if you simply want
|
|
// to query the state of the various buttons by index
|
|
// number; this is only necessary in order to generate
|
|
// ButtonEvents when the buttons change state.
|
|
////////////////////////////////////////////////////////////////////
|
|
71
|
|
inline void ButtonNode::set_button_map(int index, ButtonHandle button);
|
|
|
|
78 14 get_button_map 0 4 118 26 ButtonNode::get_button_map 0 1 22 441
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: ButtonNode::get_button_map
|
|
// Access: Public
|
|
// Description: Returns the ButtonHandle that was previously
|
|
// associated with the given index number by
|
|
// a call to set_button_map(), or ButtonHandle::none()
|
|
// if no button was associated.
|
|
////////////////////////////////////////////////////////////////////
|
|
64
|
|
inline ButtonHandle ButtonNode::get_button_map(int index) const;
|
|
|
|
79 16 get_button_state 0 4 118 28 ButtonNode::get_button_state 0 1 23 392
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: ButtonNode::get_button_state
|
|
// Access: Public
|
|
// Description: 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
58
|
|
inline bool ButtonNode::get_button_state(int index) const;
|
|
|
|
80 15 is_button_known 0 4 118 27 ButtonNode::is_button_known 0 1 24 388
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: ButtonNode::is_button_known
|
|
// Access: Public
|
|
// Description: Returns true if the state of the indicated button is
|
|
// known, or false if we have never heard anything about
|
|
// this particular button.
|
|
////////////////////////////////////////////////////////////////////
|
|
57
|
|
inline bool ButtonNode::is_button_known(int index) const;
|
|
|
|
81 14 get_class_type 0 4 118 26 ButtonNode::get_class_type 0 1 25 0
|
|
51
|
|
static TypeHandle ButtonNode::get_class_type(void);
|
|
|
|
82 8 DialNode 0 4 119 18 DialNode::DialNode 0 1 26 217
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: DialNode::Constructor
|
|
// Access: Public
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
80
|
|
DialNode::DialNode(ClientBase *client, basic_string< char > const &device_name);
|
|
|
|
83 8 is_valid 0 4 119 18 DialNode::is_valid 0 1 27 797
|
|
// Filename: dialNode.I
|
|
// Created by: drose (12Mar02)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PANDA 3D SOFTWARE
|
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
|
//
|
|
// All use of this software is subject to the terms of the revised BSD
|
|
// license. You should have received a copy of this license along
|
|
// with this source code in a file named "LICENSE."
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: DialNode::is_valid
|
|
// Access: Public
|
|
// Description: Returns true if the DialNode is valid and
|
|
// connected to a server, false otherwise.
|
|
////////////////////////////////////////////////////////////////////
|
|
43
|
|
inline bool DialNode::is_valid(void) const;
|
|
|
|
84 13 get_num_dials 0 4 119 23 DialNode::get_num_dials 0 1 28 363
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: DialNode::get_num_dials
|
|
// Access: Public
|
|
// Description: Returns the number of dial dials known to the
|
|
// DialNode. This number may change as more dials
|
|
// are discovered.
|
|
////////////////////////////////////////////////////////////////////
|
|
47
|
|
inline int DialNode::get_num_dials(void) const;
|
|
|
|
85 9 read_dial 0 4 119 19 DialNode::read_dial 0 1 29 465
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: DialNode::read_dial
|
|
// Access: Public
|
|
// Description: 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
45
|
|
inline double DialNode::read_dial(int index);
|
|
|
|
86 13 is_dial_known 0 4 119 23 DialNode::is_dial_known 0 1 30 385
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: DialNode::is_dial_known
|
|
// Access: Public
|
|
// Description: Returns true if the state of the indicated dial
|
|
// dial is known, or false if we have never heard
|
|
// anything about this particular dial.
|
|
////////////////////////////////////////////////////////////////////
|
|
53
|
|
inline bool DialNode::is_dial_known(int index) const;
|
|
|
|
87 14 get_class_type 0 4 119 24 DialNode::get_class_type 0 1 31 0
|
|
49
|
|
static TypeHandle DialNode::get_class_type(void);
|
|
|
|
88 16 MouseAndKeyboard 0 4 120 34 MouseAndKeyboard::MouseAndKeyboard 0 1 32 228
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MouseAndKeyboard::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
105
|
|
MouseAndKeyboard::MouseAndKeyboard(GraphicsWindow *window, int device, basic_string< char > const &name);
|
|
|
|
89 10 set_source 0 4 120 28 MouseAndKeyboard::set_source 0 1 33 382
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MouseAndKeyboard::set_source
|
|
// Access: Published
|
|
// Description: Redirects the class to get the data from the mouse
|
|
// and keyboard associated with a different window
|
|
// and/or device number.
|
|
////////////////////////////////////////////////////////////////////
|
|
70
|
|
void MouseAndKeyboard::set_source(GraphicsWindow *window, int device);
|
|
|
|
90 17 get_source_window 0 4 120 35 MouseAndKeyboard::get_source_window 0 1 34 272
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MouseAndKeyboard::get_source_window
|
|
// Access: Published
|
|
// Description: Returns the associated source window.
|
|
////////////////////////////////////////////////////////////////////
|
|
76
|
|
PointerTo< GraphicsWindow > MouseAndKeyboard::get_source_window(void) const;
|
|
|
|
91 17 get_source_device 0 4 120 35 MouseAndKeyboard::get_source_device 0 1 35 272
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: MouseAndKeyboard::get_source_device
|
|
// Access: Published
|
|
// Description: Returns the associated source device.
|
|
////////////////////////////////////////////////////////////////////
|
|
52
|
|
int MouseAndKeyboard::get_source_device(void) const;
|
|
|
|
92 14 get_class_type 0 4 120 32 MouseAndKeyboard::get_class_type 0 1 36 0
|
|
57
|
|
static TypeHandle MouseAndKeyboard::get_class_type(void);
|
|
|
|
93 17 ~MouseAndKeyboard 0 4 120 35 MouseAndKeyboard::~MouseAndKeyboard 0 0 0
|
|
42
|
|
MouseAndKeyboard::~MouseAndKeyboard(void);
|
|
|
|
94 11 TrackerNode 0 4 121 24 TrackerNode::TrackerNode 0 2 37 38 442
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::Constructor
|
|
// Access: Public
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::Constructor
|
|
// Access: Public
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
141
|
|
TrackerNode::TrackerNode(ClientBase *client, basic_string< char > const &device_name);
|
|
TrackerNode::TrackerNode(ClientTrackerDevice *device);
|
|
|
|
95 8 is_valid 0 4 121 21 TrackerNode::is_valid 0 1 39 806
|
|
// Filename: trackerNode.I
|
|
// Created by: drose (12Mar02)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PANDA 3D SOFTWARE
|
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
|
//
|
|
// All use of this software is subject to the terms of the revised BSD
|
|
// license. You should have received a copy of this license along
|
|
// with this source code in a file named "LICENSE."
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::is_valid
|
|
// Access: Public
|
|
// Description: Returns true if the TrackerNode is valid and
|
|
// connected to a server, false otherwise.
|
|
////////////////////////////////////////////////////////////////////
|
|
46
|
|
inline bool TrackerNode::is_valid(void) const;
|
|
|
|
96 7 get_pos 0 4 121 20 TrackerNode::get_pos 0 1 40 298
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::get_pos
|
|
// Access: Public
|
|
// Description: Returns the current position of the tracker, if it is
|
|
// available.
|
|
////////////////////////////////////////////////////////////////////
|
|
56
|
|
inline LPoint3f const &TrackerNode::get_pos(void) const;
|
|
|
|
97 10 get_orient 0 4 121 23 TrackerNode::get_orient 0 1 41 304
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::get_orient
|
|
// Access: Public
|
|
// Description: Returns the current orientation of the tracker, if it
|
|
// is available.
|
|
////////////////////////////////////////////////////////////////////
|
|
64
|
|
inline LOrientationf const &TrackerNode::get_orient(void) const;
|
|
|
|
98 13 get_transform 0 4 121 26 TrackerNode::get_transform 0 1 42 322
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::get_transform
|
|
// Access: Public
|
|
// Description: Returns the current position and orientation of the
|
|
// tracker, as a combined matrix.
|
|
////////////////////////////////////////////////////////////////////
|
|
63
|
|
inline LMatrix4f const &TrackerNode::get_transform(void) const;
|
|
|
|
99 8 get_time 0 4 121 21 TrackerNode::get_time 0 1 43 264
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::get_time
|
|
// Access: Public
|
|
// Description: Returns the time of the tracker's last update.
|
|
////////////////////////////////////////////////////////////////////
|
|
48
|
|
inline double TrackerNode::get_time(void) const;
|
|
|
|
100 8 has_time 0 4 121 21 TrackerNode::has_time 0 1 44 258
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::has_time
|
|
// Access: Public
|
|
// Description: True if this data comes with timestamps.
|
|
////////////////////////////////////////////////////////////////////
|
|
46
|
|
inline bool TrackerNode::has_time(void) const;
|
|
|
|
101 29 set_tracker_coordinate_system 0 4 121 42 TrackerNode::set_tracker_coordinate_system 0 1 45 547
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::set_tracker_coordinate_system
|
|
// Access: Published
|
|
// Description: Specifies the coordinate system that the tracker
|
|
// associated with this node will operate in. Normally,
|
|
// this is set from the ClientBase that's used to create
|
|
// the TrackerNode, so it should not need to be set on
|
|
// an individual tracker basis.
|
|
////////////////////////////////////////////////////////////////////
|
|
76
|
|
inline void TrackerNode::set_tracker_coordinate_system(CoordinateSystem cs);
|
|
|
|
102 29 get_tracker_coordinate_system 0 4 121 42 TrackerNode::get_tracker_coordinate_system 0 1 46 348
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::get_tracker_coordinate_system
|
|
// Access: Published
|
|
// Description: Returns the coordinate system that the tracker
|
|
// associated with this node will operate in.
|
|
////////////////////////////////////////////////////////////////////
|
|
79
|
|
inline CoordinateSystem TrackerNode::get_tracker_coordinate_system(void) const;
|
|
|
|
103 27 set_graph_coordinate_system 0 4 121 40 TrackerNode::set_graph_coordinate_system 0 1 47 422
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::set_graph_coordinate_system
|
|
// Access: Published
|
|
// Description: Specifies the coordinate system that the TrackerNode
|
|
// will convert its transform into for passing down the
|
|
// data graph. Normally, this is CS_default.
|
|
////////////////////////////////////////////////////////////////////
|
|
74
|
|
inline void TrackerNode::set_graph_coordinate_system(CoordinateSystem cs);
|
|
|
|
104 27 get_graph_coordinate_system 0 4 121 40 TrackerNode::get_graph_coordinate_system 0 1 48 420
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::get_graph_coordinate_system
|
|
// Access: Published
|
|
// Description: Returns the coordinate system that the TrackerNode
|
|
// will convert its transform into for passing down the
|
|
// data graph. Normally, this is CS_default.
|
|
////////////////////////////////////////////////////////////////////
|
|
77
|
|
inline CoordinateSystem TrackerNode::get_graph_coordinate_system(void) const;
|
|
|
|
105 14 get_class_type 0 4 121 27 TrackerNode::get_class_type 0 1 49 0
|
|
52
|
|
static TypeHandle TrackerNode::get_class_type(void);
|
|
|
|
106 12 VirtualMouse 0 4 122 26 VirtualMouse::VirtualMouse 0 1 50 224
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: VirtualMouse::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
////////////////////////////////////////////////////////////////////
|
|
61
|
|
VirtualMouse::VirtualMouse(basic_string< char > const &name);
|
|
|
|
107 13 set_mouse_pos 0 4 122 27 VirtualMouse::set_mouse_pos 0 1 51 402
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: VirtualMouse::set_mouse_pos
|
|
// Access: Published
|
|
// Description: Sets the current mouse pixel location, where (0,0) is
|
|
// the upper left, and (width-1, height-1) is the lower
|
|
// right pixel of the virtual window.
|
|
////////////////////////////////////////////////////////////////////
|
|
47
|
|
void VirtualMouse::set_mouse_pos(int x, int y);
|
|
|
|
108 15 set_window_size 0 4 122 29 VirtualMouse::set_window_size 0 1 52 385
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: VirtualMouse::set_window_size
|
|
// Access: Published
|
|
// Description: Sets the size of the "window" in which the mouse
|
|
// rolls. This changes the meaning of the values passed
|
|
// to set_mouse_pos().
|
|
////////////////////////////////////////////////////////////////////
|
|
58
|
|
void VirtualMouse::set_window_size(int width, int height);
|
|
|
|
109 12 set_mouse_on 0 4 122 26 VirtualMouse::set_mouse_on 0 1 53 477
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: VirtualMouse::set_mouse_on
|
|
// Access: Published
|
|
// Description: Sets whether the mouse should appear to be within the
|
|
// window or not. If this is true, the mouse is within
|
|
// the window; if false, the mouse is not within the
|
|
// window (and set_mouse_pos() means nothing).
|
|
////////////////////////////////////////////////////////////////////
|
|
43
|
|
void VirtualMouse::set_mouse_on(bool flag);
|
|
|
|
110 12 press_button 0 4 122 26 VirtualMouse::press_button 0 1 54 426
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: VirtualMouse::press_button
|
|
// Access: Published
|
|
// Description: Simulates a mouse or keyboard button being depressed.
|
|
// This should be followed up by a call to
|
|
// release_button() sometime later (possibly
|
|
// immediately).
|
|
////////////////////////////////////////////////////////////////////
|
|
53
|
|
void VirtualMouse::press_button(ButtonHandle button);
|
|
|
|
111 14 release_button 0 4 122 28 VirtualMouse::release_button 0 1 55 336
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: VirtualMouse::release_button
|
|
// Access: Published
|
|
// Description: Simulates the button being released. This should
|
|
// follow a previous call to press_button().
|
|
////////////////////////////////////////////////////////////////////
|
|
55
|
|
void VirtualMouse::release_button(ButtonHandle button);
|
|
|
|
112 14 get_class_type 0 4 122 28 VirtualMouse::get_class_type 0 1 56 0
|
|
53
|
|
static TypeHandle VirtualMouse::get_class_type(void);
|
|
|
|
113 13 ~VirtualMouse 0 4 122 27 VirtualMouse::~VirtualMouse 0 0 0
|
|
34
|
|
VirtualMouse::~VirtualMouse(void);
|
|
|
|
56
|
|
1 14 Dtool_k0F5_6xH 0 6 3 125 0 14 Dtool_k0F5_6xH 612 ////////////////////////////////////////////////////////////////////
|
|
// Function: ClientBase::fork_asynchronous_thread
|
|
// Access: Public
|
|
// Description: Forks a separate thread to do all the polling of
|
|
// connected devices. The forked thread will poll after
|
|
// every poll_time seconds has elapsed. Returns true if
|
|
// the fork was successful, or false otherwise (for
|
|
// instance, because we were already forked, or because
|
|
// asynchronous threads are disabled).
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 123 9 poll_time 1 124
|
|
2 14 Dtool_k0F5pe_A 0 6 4 125 0 14 Dtool_k0F5pe_A 854 // Filename: clientBase.I
|
|
// Created by: drose (25Jan01)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PANDA 3D SOFTWARE
|
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
|
//
|
|
// All use of this software is subject to the terms of the revised BSD
|
|
// license. You should have received a copy of this license along
|
|
// with this source code in a file named "LICENSE."
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: ClientBase::is_forked
|
|
// Access: Public
|
|
// Description: Returns true if the ClientBase has been forked (and,
|
|
// therefore, poll() does not need to be called), false
|
|
// otherwise.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 126
|
|
3 14 Dtool_k0F50HyU 0 6 5 125 0 14 Dtool_k0F50HyU 429 ////////////////////////////////////////////////////////////////////
|
|
// Function: ClientBase::poll
|
|
// Access: Public
|
|
// Description: Initiates a poll of the client devices, if we are not
|
|
// forked and if we have not already polled this frame.
|
|
// Returns true if the poll occurred, or false if it did
|
|
// not.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 123
|
|
4 14 Dtool_k0F5kkN3 0 6 6 124 0 14 Dtool_k0F5kkN3 365 ////////////////////////////////////////////////////////////////////
|
|
// Function: ClientBase::get_last_poll_time
|
|
// Access: Public
|
|
// Description: Returns the time (according to the global
|
|
// ClockObject's get_real_time() method) of the last
|
|
// device poll.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 126
|
|
5 14 Dtool_k0F5HNkp 0 4 7 129 0 14 Dtool_k0F5HNkp 390 ////////////////////////////////////////////////////////////////////
|
|
// Function: ClientBase::set_coordinate_system
|
|
// Access: Published
|
|
// Description: Specifies the coordinate system that all devices
|
|
// associated with this client will operate in.
|
|
// Normally, this is CS_default.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 123 2 cs 1 128
|
|
6 14 Dtool_k0F5wXH8 0 6 8 128 0 14 Dtool_k0F5wXH8 388 ////////////////////////////////////////////////////////////////////
|
|
// Function: ClientBase::get_coordinate_system
|
|
// Access: Published
|
|
// Description: Returns the coordinate system that all devices
|
|
// associated with this client will operate in.
|
|
// Normally, this is CS_default.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 126
|
|
7 14 Dtool_k0F5Xw0P 0 7 9 131 0 14 Dtool_k0F5Xw0P 0 0
|
|
8 14 Dtool_k0F5r0Vk 0 7 12 133 0 14 Dtool_k0F5r0Vk 219 ////////////////////////////////////////////////////////////////////
|
|
// Function: AnalogNode::Constructor
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 6 client 1 123 11 device_name 1 132
|
|
9 14 Dtool_k0F5ljF9 0 6 13 125 0 14 Dtool_k0F5ljF9 317 ////////////////////////////////////////////////////////////////////
|
|
// Function: AnalogNode::is_valid
|
|
// Access: Public
|
|
// Description: Returns true if the AnalogNode is valid and
|
|
// connected to a server, false otherwise.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 134
|
|
10 14 Dtool_k0F5OfB0 0 6 14 136 0 14 Dtool_k0F5OfB0 378 ////////////////////////////////////////////////////////////////////
|
|
// Function: AnalogNode::get_num_controls
|
|
// Access: Public
|
|
// Description: Returns the number of analog controls known to the
|
|
// AnalogNode. This number may change as more controls
|
|
// are discovered.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 134
|
|
11 14 Dtool_k0F5VK5b 0 6 15 124 0 14 Dtool_k0F5VK5b 453 ////////////////////////////////////////////////////////////////////
|
|
// Function: AnalogNode::get_control_state
|
|
// Access: Public
|
|
// Description: 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.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 134 5 index 1 136
|
|
12 14 Dtool_k0F5_d_i 0 6 16 125 0 14 Dtool_k0F5_d_i 398 ////////////////////////////////////////////////////////////////////
|
|
// Function: AnalogNode::is_control_known
|
|
// Access: Public
|
|
// Description: Returns true if the state of the indicated analog
|
|
// control is known, or false if we have never heard
|
|
// anything about this particular control.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 134 5 index 1 136
|
|
13 14 Dtool_k0F5Dna3 0 4 17 129 0 14 Dtool_k0F5Dna3 598 ////////////////////////////////////////////////////////////////////
|
|
// Function: AnalogNode::set_output
|
|
// Access: Public
|
|
// Description: Causes a particular analog control to be placed in
|
|
// the data graph for the indicated channel. Normally,
|
|
// a mouse uses channels 0 and 1 for the X and Y
|
|
// information, respectively; channels 0, 1, and 2 are
|
|
// available. If flip is true, the analog control value
|
|
// will be reversed before outputting it.
|
|
//////////////////////////////////////////////////////////////////// 4 4 this 3 133 7 channel 1 136 5 index 1 136 4 flip 1 125
|
|
14 14 Dtool_k0F50Apo 0 4 18 129 0 14 Dtool_k0F50Apo 332 ////////////////////////////////////////////////////////////////////
|
|
// Function: AnalogNode::clear_output
|
|
// Access: Public
|
|
// Description: Removes the output to the data graph associated with
|
|
// the indicated channel. See set_output().
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 133 7 channel 1 136
|
|
15 14 Dtool_k0F5_dLB 0 6 19 136 0 14 Dtool_k0F5_dLB 410 ////////////////////////////////////////////////////////////////////
|
|
// Function: AnalogNode::get_output
|
|
// Access: Public
|
|
// Description: Returns the analog control index that is output to
|
|
// the data graph on the indicated channel, or -1 if no
|
|
// control is output on that channel. See set_output().
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 134 7 channel 1 136
|
|
16 14 Dtool_k0F5yrW_ 0 6 20 125 0 14 Dtool_k0F5yrW_ 389 ////////////////////////////////////////////////////////////////////
|
|
// Function: AnalogNode::is_output_flipped
|
|
// Access: Public
|
|
// Description: Returns true if the analog control index that is
|
|
// output to the data graph on the indicated channel is
|
|
// flipped. See set_output().
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 134 7 channel 1 136
|
|
17 14 Dtool_k0F5JCld 0 7 21 131 0 14 Dtool_k0F5JCld 0 0
|
|
18 14 Dtool_k0F5N3Xg 0 7 23 137 0 14 Dtool_k0F5N3Xg 219 ////////////////////////////////////////////////////////////////////
|
|
// Function: ButtonNode::Constructor
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 6 client 1 123 11 device_name 1 132
|
|
19 14 Dtool_k0F5Woo7 0 6 24 125 0 14 Dtool_k0F5Woo7 803 // Filename: buttonNode.I
|
|
// Created by: drose (12Mar02)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PANDA 3D SOFTWARE
|
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
|
//
|
|
// All use of this software is subject to the terms of the revised BSD
|
|
// license. You should have received a copy of this license along
|
|
// with this source code in a file named "LICENSE."
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: ButtonNode::is_valid
|
|
// Access: Public
|
|
// Description: Returns true if the ButtonNode is valid and
|
|
// connected to a server, false otherwise.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 138
|
|
20 14 Dtool_k0F50MKT 0 6 25 136 0 14 Dtool_k0F50MKT 572 ////////////////////////////////////////////////////////////////////
|
|
// Function: ButtonNode::get_num_buttons
|
|
// Access: Public
|
|
// Description: Returns the number of buttons known to the
|
|
// ButtonNode. This includes those buttons whose state
|
|
// has been seen, as well as buttons that have been
|
|
// associated with a ButtonHandle even if their state is
|
|
// unknown. This number may change as more buttons are
|
|
// discovered.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 138
|
|
21 14 Dtool_k0F5gucs 0 4 26 129 0 14 Dtool_k0F5gucs 820 ////////////////////////////////////////////////////////////////////
|
|
// Function: ButtonNode::set_button_map
|
|
// Access: Public
|
|
// Description: Associates the indicated ButtonHandle with the button
|
|
// of the indicated index number. When the given button
|
|
// index changes state, a corresponding ButtonEvent will
|
|
// be generated with the given ButtonHandle. Pass
|
|
// ButtonHandle::none() to turn off any association.
|
|
//
|
|
// It is not necessary to call this if you simply want
|
|
// to query the state of the various buttons by index
|
|
// number; this is only necessary in order to generate
|
|
// ButtonEvents when the buttons change state.
|
|
//////////////////////////////////////////////////////////////////// 3 4 this 3 137 5 index 1 136 6 button 1 140
|
|
22 14 Dtool_k0F5Q5W8 0 7 27 140 0 14 Dtool_k0F5Q5W8 441 ////////////////////////////////////////////////////////////////////
|
|
// Function: ButtonNode::get_button_map
|
|
// Access: Public
|
|
// Description: Returns the ButtonHandle that was previously
|
|
// associated with the given index number by
|
|
// a call to set_button_map(), or ButtonHandle::none()
|
|
// if no button was associated.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 138 5 index 1 136
|
|
23 14 Dtool_k0F5GekS 0 6 28 125 0 14 Dtool_k0F5GekS 392 ////////////////////////////////////////////////////////////////////
|
|
// Function: ButtonNode::get_button_state
|
|
// Access: Public
|
|
// Description: 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.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 138 5 index 1 136
|
|
24 14 Dtool_k0F5IiuC 0 6 29 125 0 14 Dtool_k0F5IiuC 388 ////////////////////////////////////////////////////////////////////
|
|
// Function: ButtonNode::is_button_known
|
|
// Access: Public
|
|
// Description: Returns true if the state of the indicated button is
|
|
// known, or false if we have never heard anything about
|
|
// this particular button.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 138 5 index 1 136
|
|
25 14 Dtool_k0F5O7Jc 0 7 30 131 0 14 Dtool_k0F5O7Jc 0 0
|
|
26 14 Dtool_k0F5n9Tp 0 7 32 142 0 14 Dtool_k0F5n9Tp 217 ////////////////////////////////////////////////////////////////////
|
|
// Function: DialNode::Constructor
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 6 client 1 123 11 device_name 1 132
|
|
27 14 Dtool_k0F5onZa 0 6 33 125 0 14 Dtool_k0F5onZa 797 // Filename: dialNode.I
|
|
// Created by: drose (12Mar02)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PANDA 3D SOFTWARE
|
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
|
//
|
|
// All use of this software is subject to the terms of the revised BSD
|
|
// license. You should have received a copy of this license along
|
|
// with this source code in a file named "LICENSE."
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: DialNode::is_valid
|
|
// Access: Public
|
|
// Description: Returns true if the DialNode is valid and
|
|
// connected to a server, false otherwise.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 143
|
|
28 14 Dtool_k0F5pBgJ 0 6 34 136 0 14 Dtool_k0F5pBgJ 363 ////////////////////////////////////////////////////////////////////
|
|
// Function: DialNode::get_num_dials
|
|
// Access: Public
|
|
// Description: Returns the number of dial dials known to the
|
|
// DialNode. This number may change as more dials
|
|
// are discovered.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 143
|
|
29 14 Dtool_k0F5TlFp 0 6 35 124 0 14 Dtool_k0F5TlFp 465 ////////////////////////////////////////////////////////////////////
|
|
// Function: DialNode::read_dial
|
|
// Access: Public
|
|
// Description: 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.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 142 5 index 1 136
|
|
30 14 Dtool_k0F5dP5l 0 6 36 125 0 14 Dtool_k0F5dP5l 385 ////////////////////////////////////////////////////////////////////
|
|
// Function: DialNode::is_dial_known
|
|
// Access: Public
|
|
// Description: Returns true if the state of the indicated dial
|
|
// dial is known, or false if we have never heard
|
|
// anything about this particular dial.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 143 5 index 1 136
|
|
31 14 Dtool_k0F50JS5 0 7 37 131 0 14 Dtool_k0F50JS5 0 0
|
|
32 14 Dtool_k0F5iwVV 0 7 39 147 93 14 Dtool_k0F5iwVV 228 ////////////////////////////////////////////////////////////////////
|
|
// Function: MouseAndKeyboard::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 3 6 window 1 145 6 device 1 136 4 name 1 132
|
|
33 14 Dtool_k0F5Hs56 0 4 40 129 0 14 Dtool_k0F5Hs56 382 ////////////////////////////////////////////////////////////////////
|
|
// Function: MouseAndKeyboard::set_source
|
|
// Access: Published
|
|
// Description: Redirects the class to get the data from the mouse
|
|
// and keyboard associated with a different window
|
|
// and/or device number.
|
|
//////////////////////////////////////////////////////////////////// 3 4 this 3 147 6 window 1 145 6 device 1 136
|
|
34 14 Dtool_k0F5d9gp 0 7 41 145 0 14 Dtool_k0F5d9gp 272 ////////////////////////////////////////////////////////////////////
|
|
// Function: MouseAndKeyboard::get_source_window
|
|
// Access: Published
|
|
// Description: Returns the associated source window.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 148
|
|
35 14 Dtool_k0F5zRsj 0 6 42 136 0 14 Dtool_k0F5zRsj 272 ////////////////////////////////////////////////////////////////////
|
|
// Function: MouseAndKeyboard::get_source_device
|
|
// Access: Published
|
|
// Description: Returns the associated source device.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 148
|
|
36 14 Dtool_k0F5wQKX 0 7 43 131 0 14 Dtool_k0F5wQKX 0 0
|
|
37 14 Dtool_k0F5HyCC 0 7 46 150 0 14 Dtool_k0F5HyCC 220 ////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::Constructor
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 2 6 client 1 123 11 device_name 1 132
|
|
38 14 Dtool_k0F5uJ5o 0 7 46 150 0 14 Dtool_k0F5uJ5o 220 ////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::Constructor
|
|
// Access: Public
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 6 device 1 151
|
|
39 14 Dtool_k0F5DEoZ 0 6 47 125 0 14 Dtool_k0F5DEoZ 806 // Filename: trackerNode.I
|
|
// Created by: drose (12Mar02)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PANDA 3D SOFTWARE
|
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
|
//
|
|
// All use of this software is subject to the terms of the revised BSD
|
|
// license. You should have received a copy of this license along
|
|
// with this source code in a file named "LICENSE."
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::is_valid
|
|
// Access: Public
|
|
// Description: Returns true if the TrackerNode is valid and
|
|
// connected to a server, false otherwise.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 153
|
|
40 14 Dtool_k0F5fpbJ 0 6 48 155 0 14 Dtool_k0F5fpbJ 298 ////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::get_pos
|
|
// Access: Public
|
|
// Description: Returns the current position of the tracker, if it is
|
|
// available.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 153
|
|
41 14 Dtool_k0F5c1d9 0 6 49 158 0 14 Dtool_k0F5c1d9 304 ////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::get_orient
|
|
// Access: Public
|
|
// Description: Returns the current orientation of the tracker, if it
|
|
// is available.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 153
|
|
42 14 Dtool_k0F5zbsf 0 6 50 161 0 14 Dtool_k0F5zbsf 322 ////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::get_transform
|
|
// Access: Public
|
|
// Description: Returns the current position and orientation of the
|
|
// tracker, as a combined matrix.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 153
|
|
43 14 Dtool_k0F5Kr_I 0 6 51 124 0 14 Dtool_k0F5Kr_I 264 ////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::get_time
|
|
// Access: Public
|
|
// Description: Returns the time of the tracker's last update.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 153
|
|
44 14 Dtool_k0F5gtUM 0 6 52 125 0 14 Dtool_k0F5gtUM 258 ////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::has_time
|
|
// Access: Public
|
|
// Description: True if this data comes with timestamps.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 153
|
|
45 14 Dtool_k0F5Sq_7 0 4 53 129 0 14 Dtool_k0F5Sq_7 547 ////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::set_tracker_coordinate_system
|
|
// Access: Published
|
|
// Description: Specifies the coordinate system that the tracker
|
|
// associated with this node will operate in. Normally,
|
|
// this is set from the ClientBase that's used to create
|
|
// the TrackerNode, so it should not need to be set on
|
|
// an individual tracker basis.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 150 2 cs 1 128
|
|
46 14 Dtool_k0F5Otgh 0 6 54 128 0 14 Dtool_k0F5Otgh 348 ////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::get_tracker_coordinate_system
|
|
// Access: Published
|
|
// Description: Returns the coordinate system that the tracker
|
|
// associated with this node will operate in.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 153
|
|
47 14 Dtool_k0F5gH95 0 4 55 129 0 14 Dtool_k0F5gH95 422 ////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::set_graph_coordinate_system
|
|
// Access: Published
|
|
// Description: Specifies the coordinate system that the TrackerNode
|
|
// will convert its transform into for passing down the
|
|
// data graph. Normally, this is CS_default.
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 150 2 cs 1 128
|
|
48 14 Dtool_k0F5_MOP 0 6 56 128 0 14 Dtool_k0F5_MOP 420 ////////////////////////////////////////////////////////////////////
|
|
// Function: TrackerNode::get_graph_coordinate_system
|
|
// Access: Published
|
|
// Description: Returns the coordinate system that the TrackerNode
|
|
// will convert its transform into for passing down the
|
|
// data graph. Normally, this is CS_default.
|
|
//////////////////////////////////////////////////////////////////// 1 4 this 3 153
|
|
49 14 Dtool_k0F5bA7p 0 7 57 131 0 14 Dtool_k0F5bA7p 0 0
|
|
50 14 Dtool_k0F5Zip_ 0 7 59 164 113 14 Dtool_k0F5Zip_ 224 ////////////////////////////////////////////////////////////////////
|
|
// Function: VirtualMouse::Constructor
|
|
// Access: Published
|
|
// Description:
|
|
//////////////////////////////////////////////////////////////////// 1 4 name 1 132
|
|
51 14 Dtool_k0F5OTQU 0 4 60 129 0 14 Dtool_k0F5OTQU 402 ////////////////////////////////////////////////////////////////////
|
|
// Function: VirtualMouse::set_mouse_pos
|
|
// Access: Published
|
|
// Description: Sets the current mouse pixel location, where (0,0) is
|
|
// the upper left, and (width-1, height-1) is the lower
|
|
// right pixel of the virtual window.
|
|
//////////////////////////////////////////////////////////////////// 3 4 this 3 164 1 x 1 136 1 y 1 136
|
|
52 14 Dtool_k0F5az5v 0 4 61 129 0 14 Dtool_k0F5az5v 385 ////////////////////////////////////////////////////////////////////
|
|
// Function: VirtualMouse::set_window_size
|
|
// Access: Published
|
|
// Description: Sets the size of the "window" in which the mouse
|
|
// rolls. This changes the meaning of the values passed
|
|
// to set_mouse_pos().
|
|
//////////////////////////////////////////////////////////////////// 3 4 this 3 164 5 width 1 136 6 height 1 136
|
|
53 14 Dtool_k0F5i_qA 0 4 62 129 0 14 Dtool_k0F5i_qA 477 ////////////////////////////////////////////////////////////////////
|
|
// Function: VirtualMouse::set_mouse_on
|
|
// Access: Published
|
|
// Description: Sets whether the mouse should appear to be within the
|
|
// window or not. If this is true, the mouse is within
|
|
// the window; if false, the mouse is not within the
|
|
// window (and set_mouse_pos() means nothing).
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 164 4 flag 1 125
|
|
54 14 Dtool_k0F5e3_V 0 4 63 129 0 14 Dtool_k0F5e3_V 426 ////////////////////////////////////////////////////////////////////
|
|
// Function: VirtualMouse::press_button
|
|
// Access: Published
|
|
// Description: Simulates a mouse or keyboard button being depressed.
|
|
// This should be followed up by a call to
|
|
// release_button() sometime later (possibly
|
|
// immediately).
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 164 6 button 1 140
|
|
55 14 Dtool_k0F5gbfY 0 4 64 129 0 14 Dtool_k0F5gbfY 336 ////////////////////////////////////////////////////////////////////
|
|
// Function: VirtualMouse::release_button
|
|
// Access: Published
|
|
// Description: Simulates the button being released. This should
|
|
// follow a previous call to press_button().
|
|
//////////////////////////////////////////////////////////////////// 2 4 this 3 164 6 button 1 140
|
|
56 14 Dtool_k0F52nN2 0 7 65 131 0 14 Dtool_k0F52nN2 0 0
|
|
51
|
|
114 10 ClientBase 0 75777 10 ClientBase 10 ClientBase 0 0 0 0 0 0 7 57 58 59 60 61 62 63 0 0 1 0 115 0 0 0 0 568
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : ClientBase
|
|
// Description : An abstract base class for a family of client
|
|
// device interfaces--including trackers, buttons,
|
|
// dials, and other analog inputs.
|
|
//
|
|
// This provides a common interface to connect to such
|
|
// devices and extract their data; it is used by
|
|
// TrackerNode etc. to put these devices in the data
|
|
// graph.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
115 19 TypedReferenceCount 0 2049 19 TypedReferenceCount 19 TypedReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 710
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : TypedReferenceCount
|
|
// Description : A base class for things which need to inherit from
|
|
// both TypedObject and from ReferenceCount. It's
|
|
// convenient to define this intermediate base class
|
|
// instead of multiply inheriting from the two classes
|
|
// each time they are needed, so that we can sensibly
|
|
// pass around pointers to things which are both
|
|
// TypedObjects and ReferenceCounters.
|
|
//
|
|
// See also TypedObject for detailed instructions.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
116 10 AnalogNode 0 75777 10 AnalogNode 10 AnalogNode 0 0 0 1 64 0 0 9 65 66 67 68 69 70 71 72 73 0 0 1 0 117 0 0 0 0 1077
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : AnalogNode
|
|
// Description : This is the primary interface to analog controls like
|
|
// sliders and joysticks associated with a ClientBase.
|
|
// This creates a node that connects to the named analog
|
|
// device, if it exists, and provides hooks to the user
|
|
// to read the state of any of the sequentially numbered
|
|
// controls associated with that device.
|
|
//
|
|
// Each control can return a value ranging from -1 to 1,
|
|
// reflecting the current position of the control within
|
|
// its total range of motion.
|
|
//
|
|
// The user may choose up to two analog controls to
|
|
// place on the data graph as the two channels of an
|
|
// xy datagram, similarly to the way a mouse places its
|
|
// position data. In this way, an AnalogNode may be
|
|
// used in place of a mouse.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
117 8 DataNode 0 2049 8 DataNode 8 DataNode 0 0 0 0 0 0 0 0 0 0 0 0 695
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : DataNode
|
|
// Description : The fundamental type of node for the data graph. The
|
|
// DataNode class is itself primarily intended as an
|
|
// abstract class; it defines no inputs and no outputs.
|
|
// Most kinds of data nodes will derive from this to
|
|
// specify the inputs and outputs in the constructor.
|
|
//
|
|
// DataNode does not attempt to cycle its data with a
|
|
// PipelineCycler. The data graph is intended to be
|
|
// used only within a single thread.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
118 10 ButtonNode 0 75777 10 ButtonNode 10 ButtonNode 0 0 0 1 74 0 0 7 75 76 77 78 79 80 81 0 0 1 0 117 0 0 0 0 851
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : ButtonNode
|
|
// Description : This is the primary interface to on/off button
|
|
// devices associated with a ClientBase. This creates a
|
|
// node that connects to the named button device, if it
|
|
// exists, and provides hooks to the user to read the
|
|
// state of any of the sequentially numbered buttons
|
|
// associated with that device.
|
|
//
|
|
// It also can associate an arbitrary ButtonHandle with
|
|
// each button; when buttons are associated with
|
|
// ButtonHandles, this node will put appropriate up and
|
|
// down events on the data graph for each button state
|
|
// change.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
119 8 DialNode 0 75777 8 DialNode 8 DialNode 0 0 0 1 82 0 0 5 83 84 85 86 87 0 0 1 0 117 0 0 0 0 815
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : DialNode
|
|
// Description : 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
120 16 MouseAndKeyboard 0 141313 16 MouseAndKeyboard 16 MouseAndKeyboard 0 0 0 1 88 93 0 4 89 90 91 92 0 0 1 0 117 0 0 0 0 1158
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : MouseAndKeyboard
|
|
// Description : Reads the mouse and/or keyboard data sent from a
|
|
// GraphicsWindow, and transmits it down the data graph.
|
|
//
|
|
// The mouse and keyboard devices are bundled together
|
|
// into one device here, because they interrelate so
|
|
// much. A mouse might be constrained by the holding
|
|
// down of the shift key, for instance, or the clicking
|
|
// of the mouse button might be handled in much the same
|
|
// way as a keyboard key.
|
|
//
|
|
// Mouse data is sent down the data graph as an x,y
|
|
// position as well as the set of buttons currently
|
|
// being held down; keyboard data is sent down as a set
|
|
// of keypress events in an EventDataTransition. To
|
|
// throw these events to the system, you must attach an
|
|
// EventThrower to the MouseAndKeyboard object;
|
|
// otherwise, the events will be discarded.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
121 11 TrackerNode 0 75777 11 TrackerNode 11 TrackerNode 0 0 0 1 94 0 0 11 95 96 97 98 99 100 101 102 103 104 105 0 0 1 0 117 0 0 0 0 461
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : TrackerNode
|
|
// Description : This is the primary interface to a Tracker object
|
|
// associated with a ClientBase. It reads the position
|
|
// and orientation information from the tracker and
|
|
// makes it available as a transformation on the data
|
|
// graph.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
122 12 VirtualMouse 0 141313 12 VirtualMouse 12 VirtualMouse 0 0 0 1 106 113 0 6 107 108 109 110 111 112 0 0 1 0 117 0 0 0 0 541
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : VirtualMouse
|
|
// Description : Poses as a MouseAndKeyboard object in the datagraph,
|
|
// but accepts input from user calls, rather than
|
|
// reading the actual mouse and keyboard from an input
|
|
// device. The user can write high-level code to put
|
|
// the mouse wherever he/she wants, and to insert
|
|
// keypresses on demand.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
123 12 ClientBase * 0 8576 12 ClientBase * 12 ClientBase * 0 0 114 0 0 0 0 0 0 0 0 0 0
|
|
|
|
124 6 double 0 8194 6 double 6 double 0 3 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
125 4 bool 0 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
126 18 ClientBase const * 0 8576 18 ClientBase const * 18 ClientBase const * 0 0 127 0 0 0 0 0 0 0 0 0 0
|
|
|
|
127 16 ClientBase const 0 8832 16 ClientBase const 16 ClientBase const 0 0 114 0 0 0 0 0 0 0 0 0 0
|
|
|
|
128 16 CoordinateSystem 0 532480 16 CoordinateSystem 16 CoordinateSystem 0 0 0 0 0 0 0 0 0 0 6 10 CS_default 10 CS_default 0 12 CS_zup_right 12 CS_zup_right 1 12 CS_yup_right 12 CS_yup_right 2 11 CS_zup_left 11 CS_zup_left 3 11 CS_yup_left 11 CS_yup_left 4 10 CS_invalid 10 CS_invalid 5 0 0
|
|
|
|
129 4 void 0 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
130 10 TypeHandle 0 2048 10 TypeHandle 10 TypeHandle 0 0 0 0 0 0 0 0 0 0 0 0 1098
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : TypeHandle
|
|
// Description : TypeHandle is the identifier used to differentiate
|
|
// C++ class types. Any C++ classes that inherit from
|
|
// some base class, and must be differentiated at run
|
|
// time, should store a static TypeHandle object that
|
|
// can be queried through a static member function
|
|
// named get_class_type(). Most of the time, it is also
|
|
// desirable to inherit from TypedObject, which provides
|
|
// some virtual functions to return the TypeHandle for a
|
|
// particular instance.
|
|
//
|
|
// At its essence, a TypeHandle is simply a unique
|
|
// identifier that is assigned by the TypeRegistry. The
|
|
// TypeRegistry stores a tree of TypeHandles, so that
|
|
// ancestry of a particular type may be queried, and the
|
|
// type name may be retrieved for run-time display.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
131 12 TypeHandle * 0 8576 12 TypeHandle * 12 TypeHandle * 0 0 130 0 0 0 0 0 0 0 0 0 0
|
|
|
|
132 13 atomic string 0 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
133 12 AnalogNode * 0 8576 12 AnalogNode * 12 AnalogNode * 0 0 116 0 0 0 0 0 0 0 0 0 0
|
|
|
|
134 18 AnalogNode const * 0 8576 18 AnalogNode const * 18 AnalogNode const * 0 0 135 0 0 0 0 0 0 0 0 0 0
|
|
|
|
135 16 AnalogNode const 0 8832 16 AnalogNode const 16 AnalogNode const 0 0 116 0 0 0 0 0 0 0 0 0 0
|
|
|
|
136 3 int 0 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
137 12 ButtonNode * 0 8576 12 ButtonNode * 12 ButtonNode * 0 0 118 0 0 0 0 0 0 0 0 0 0
|
|
|
|
138 18 ButtonNode const * 0 8576 18 ButtonNode const * 18 ButtonNode const * 0 0 139 0 0 0 0 0 0 0 0 0 0
|
|
|
|
139 16 ButtonNode const 0 8832 16 ButtonNode const 16 ButtonNode const 0 0 118 0 0 0 0 0 0 0 0 0 0
|
|
|
|
140 14 ButtonHandle * 0 8576 14 ButtonHandle * 14 ButtonHandle * 0 0 141 0 0 0 0 0 0 0 0 0 0
|
|
|
|
141 12 ButtonHandle 0 2048 12 ButtonHandle 12 ButtonHandle 0 0 0 0 0 0 0 0 0 0 0 0 364
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : ButtonHandle
|
|
// Description : A ButtonHandle represents a single button from any
|
|
// device, including keyboard buttons and mouse buttons
|
|
// (but see KeyboardButton and MouseButton).
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
142 10 DialNode * 0 8576 10 DialNode * 10 DialNode * 0 0 119 0 0 0 0 0 0 0 0 0 0
|
|
|
|
143 16 DialNode const * 0 8576 16 DialNode const * 16 DialNode const * 0 0 144 0 0 0 0 0 0 0 0 0 0
|
|
|
|
144 14 DialNode const 0 8832 14 DialNode const 14 DialNode const 0 0 119 0 0 0 0 0 0 0 0 0 0
|
|
|
|
145 16 GraphicsWindow * 0 8576 16 GraphicsWindow * 16 GraphicsWindow * 0 0 146 0 0 0 0 0 0 0 0 0 0
|
|
|
|
146 14 GraphicsWindow 0 2048 14 GraphicsWindow 14 GraphicsWindow 0 0 0 0 0 0 0 1 165 0 0 0 0 329
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : GraphicsWindow
|
|
// Description : A window, fullscreen or on a desktop, into which a
|
|
// graphics device sends its output for interactive
|
|
// display.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
147 18 MouseAndKeyboard * 0 8576 18 MouseAndKeyboard * 18 MouseAndKeyboard * 0 0 120 0 0 0 0 0 0 0 0 0 0
|
|
|
|
148 24 MouseAndKeyboard const * 0 8576 24 MouseAndKeyboard const * 24 MouseAndKeyboard const * 0 0 149 0 0 0 0 0 0 0 0 0 0
|
|
|
|
149 22 MouseAndKeyboard const 0 8832 22 MouseAndKeyboard const 22 MouseAndKeyboard const 0 0 120 0 0 0 0 0 0 0 0 0 0
|
|
|
|
150 13 TrackerNode * 0 8576 13 TrackerNode * 13 TrackerNode * 0 0 121 0 0 0 0 0 0 0 0 0 0
|
|
|
|
151 21 ClientTrackerDevice * 0 8576 21 ClientTrackerDevice * 21 ClientTrackerDevice * 0 0 152 0 0 0 0 0 0 0 0 0 0
|
|
|
|
152 19 ClientTrackerDevice 0 1050624 19 ClientTrackerDevice 19 ClientTrackerDevice 0 0 0 0 0 0 0 0 0 0 0 0 332
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : ClientTrackerDevice
|
|
// Description : A device, attached to the ClientBase by a
|
|
// TrackerNode, that records the data from a single
|
|
// tracker device.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
153 19 TrackerNode const * 0 8576 19 TrackerNode const * 19 TrackerNode const * 0 0 154 0 0 0 0 0 0 0 0 0 0
|
|
|
|
154 17 TrackerNode const 0 8832 17 TrackerNode const 17 TrackerNode const 0 0 121 0 0 0 0 0 0 0 0 0 0
|
|
|
|
155 16 LPoint3f const * 0 8576 16 LPoint3f const * 16 LPoint3f const * 0 0 156 0 0 0 0 0 0 0 0 0 0
|
|
|
|
156 14 LPoint3f const 0 8832 14 LPoint3f const 14 LPoint3f const 0 0 157 0 0 0 0 0 0 0 0 0 0
|
|
|
|
157 8 LPoint3f 0 2048 8 LPoint3f 8 LPoint3f 0 0 0 0 0 0 0 0 0 0 0 0 1083
|
|
// Filename: lpoint3_src.h
|
|
// Created by: drose (25Sep99)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PANDA 3D SOFTWARE
|
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
|
//
|
|
// All use of this software is subject to the terms of the revised BSD
|
|
// license. You should have received a copy of this license along
|
|
// with this source code in a file named "LICENSE."
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : LPoint3
|
|
// Description : This is a three-component point in space (as opposed
|
|
// to a three-component vector, which represents a
|
|
// direction and a distance). Some of the methods are
|
|
// slightly different between LPoint3 and LVector3; in
|
|
// particular, subtraction of two points yields a
|
|
// vector, while addition of a vector and a point yields
|
|
// a point.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
158 21 LOrientationf const * 0 8576 21 LOrientationf const * 21 LOrientationf const * 0 0 159 0 0 0 0 0 0 0 0 0 0
|
|
|
|
159 19 LOrientationf const 0 8832 19 LOrientationf const 19 LOrientationf const 0 0 160 0 0 0 0 0 0 0 0 0 0
|
|
|
|
160 13 LOrientationf 0 2048 13 LOrientationf 13 LOrientationf 0 0 0 0 0 0 0 0 0 0 0 0 247
|
|
////////////////////////////////////////////////////////////////////////
|
|
// Class : LOrientation
|
|
// Description : This is a unit quaternion representing an orientation.
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
161 17 LMatrix4f const * 0 8576 17 LMatrix4f const * 17 LMatrix4f const * 0 0 162 0 0 0 0 0 0 0 0 0 0
|
|
|
|
162 15 LMatrix4f const 0 8832 15 LMatrix4f const 15 LMatrix4f const 0 0 163 0 0 0 0 0 0 0 0 0 0
|
|
|
|
163 9 LMatrix4f 0 2048 9 LMatrix4f 9 LMatrix4f 0 0 0 0 0 0 0 3 166 167 168 0 0 0 0 215
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : LMatrix4
|
|
// Description : This is a 4-by-4 transform matrix.
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
164 14 VirtualMouse * 0 8576 14 VirtualMouse * 14 VirtualMouse * 0 0 122 0 0 0 0 0 0 0 0 0 0
|
|
|
|
0
|
|
0
|
|
4
|
|
165 0 0 122 22 get_input_device_names 21 get_num_input_devices 21 get_input_device_name
|
|
166 0 0 149 8 get_rows 4 size 7 get_row
|
|
167 0 0 149 8 get_cols 4 size 7 get_col
|
|
168 0 0 149 9 get_row3s 4 size 8 get_row3
|