14#ifndef CDISTRIBUTEDSMOOTHNODEBASE_H
15#define CDISTRIBUTEDSMOOTHNODEBASE_H
31class EXPCL_DIRECT_DISTRIBUTED CDistributedSmoothNodeBase {
33 CDistributedSmoothNodeBase();
34 ~CDistributedSmoothNodeBase();
38 bool is_ai, CHANNEL_TYPE ai_id);
42 set_clock_delta(PyObject *clock_delta);
58 INLINE
static bool only_changed(
int flags,
int compare);
60 INLINE
void d_setSmStop();
61 INLINE
void d_setSmH(PN_stdfloat h);
62 INLINE
void d_setSmZ(PN_stdfloat z);
63 INLINE
void d_setSmXY(PN_stdfloat x, PN_stdfloat y);
64 INLINE
void d_setSmXZ(PN_stdfloat x, PN_stdfloat z);
65 INLINE
void d_setSmPos(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
66 INLINE
void d_setSmHpr(PN_stdfloat h, PN_stdfloat p, PN_stdfloat r);
67 INLINE
void d_setSmXYH(PN_stdfloat x, PN_stdfloat y, PN_stdfloat h);
68 INLINE
void d_setSmXYZH(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z, PN_stdfloat h);
69 INLINE
void d_setSmPosHpr(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z, PN_stdfloat h, PN_stdfloat p, PN_stdfloat r);
70 INLINE
void d_setSmPosHprL(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z, PN_stdfloat h, PN_stdfloat p, PN_stdfloat r, uint64_t l);
72 void begin_send_update(
DCPacker &packer,
const std::string &field_name);
73 void finish_send_update(
DCPacker &packer);
92 PyObject *_clock_delta;
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This class implements the C++ side of the ConnectionRepository object.
void set_curr_l(uint64_t l)
Appends the timestamp and sends the update.
void initialize(const NodePath &node_path, DCClass *dclass, CHANNEL_TYPE do_id)
Initializes the internal structures from some constructs that are normally stored only in Python.
void send_everything()
Broadcasts the current pos/hpr in its complete form.
void broadcast_pos_hpr_xyh()
Examines only X, Y, and H of the pos/hpr information, and broadcasts the appropriate messages.
void broadcast_pos_hpr_full()
Examines the complete pos/hpr information to see which of the six elements have changed,...
void set_repository(CConnectionRepository *repository, bool is_ai, CHANNEL_TYPE ai_id)
Tells the C++ instance definition about the AI or Client repository, used for sending datagrams.
void broadcast_pos_hpr_xy()
Examines only X and Y of the pos/hpr information, and broadcasts the appropriate messages.
Defines a particular DistributedClass as read from an input .dc file.
This class can be used for packing a series of numeric and string data into a binary stream,...
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.