18 #include "pandabase.h"
20 #include "mouseInterfaceNode.h"
22 #include "modifierButtons.h"
24 #include "transformState.h"
47 PN_stdfloat get_forward_scale()
const;
48 void set_forward_scale(PN_stdfloat fwdscale);
53 PN_stdfloat get_x()
const;
54 PN_stdfloat get_y()
const;
55 PN_stdfloat get_z()
const;
57 void set_pos(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
58 void set_x(PN_stdfloat x);
59 void set_y(PN_stdfloat y);
60 void set_z(PN_stdfloat z);
65 PN_stdfloat get_h()
const;
66 PN_stdfloat get_p()
const;
67 PN_stdfloat get_r()
const;
69 void set_hpr(PN_stdfloat h, PN_stdfloat p, PN_stdfloat r);
70 void set_h(PN_stdfloat h);
71 void set_p(PN_stdfloat p);
72 void set_r(PN_stdfloat r);
76 void reset_origin_here();
77 void move_origin(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
92 void set_control_mode(ControlMode control_mode);
93 ControlMode get_control_mode()
const;
95 void set_invert(
bool flag);
96 bool get_invert()
const;
98 void set_rel_to(
const NodePath &rel_to);
101 void set_coordinate_system(CoordinateSystem cs);
102 CoordinateSystem get_coordinate_system()
const;
106 const LMatrix4 &get_trans_mat()
const;
110 void apply(
double x,
double y,
int button);
116 PN_stdfloat _lastx, _lasty;
118 PN_stdfloat _rotscale;
119 PN_stdfloat _fwdscale;
126 CoordinateSystem _cs;
127 ControlMode _control_mode;
140 int _transform_output;
142 CPT(TransformState) _transform;
148 static void init_type() {
149 MouseInterfaceNode::init_type();
150 register_type(_type_handle,
"Trackball",
151 MouseInterfaceNode::get_class_type());
154 return get_class_type();
156 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
This is the base class for all three-component vectors and points.
Trackball acts like Performer in trackball mode.
This is a three-component point in space (as opposed to a three-component vector, which represents a ...
ControlMode
**** Misc ****
This is a 4-by-4 transform matrix.
This is the base class for some classes that monitor the mouse and keyboard input and perform some ac...
TypeHandle is the identifier used to differentiate C++ class types.
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
Encapsulates the data generated from (or sent into) any particular DataNode.
This object supervises the traversal of the data graph and the moving of data from one DataNode to it...