From f450aa5edfa048d45266a60e4e5cfd1a42482bf7 Mon Sep 17 00:00:00 2001 From: rdb Date: Sun, 21 Mar 2021 14:40:10 +0100 Subject: [PATCH] physics: Add additional properties --- panda/src/physics/physical.h | 4 ++++ panda/src/physics/physicsObject.h | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/panda/src/physics/physical.h b/panda/src/physics/physical.h index fd3b9c343a..c101376a38 100644 --- a/panda/src/physics/physical.h +++ b/panda/src/physics/physical.h @@ -64,14 +64,18 @@ PUBLISHED: INLINE int get_num_linear_forces() const; INLINE PT(LinearForce) get_linear_force(int index) const; MAKE_SEQ(get_linear_forces, get_num_linear_forces, get_linear_force); + MAKE_SEQ_PROPERTY(linear_forces, get_num_linear_forces, get_linear_force); INLINE int get_num_angular_forces() const; INLINE PT(AngularForce) get_angular_force(int index) const; MAKE_SEQ(get_angular_forces, get_num_angular_forces, get_angular_force); + MAKE_SEQ_PROPERTY(angular_forces, get_num_angular_forces, get_angular_force); INLINE void set_viscosity(PN_stdfloat viscosity); INLINE PN_stdfloat get_viscosity() const; + MAKE_PROPERTY(viscosity, get_viscosity); const PhysicsObjectCollection get_objects() const; + MAKE_PROPERTY(objects, get_objects); virtual void output(std::ostream &out = std::cout) const; virtual void write_physics_objects( diff --git a/panda/src/physics/physicsObject.h b/panda/src/physics/physicsObject.h index a5b8c8897f..851430b1c5 100644 --- a/panda/src/physics/physicsObject.h +++ b/panda/src/physics/physicsObject.h @@ -99,6 +99,18 @@ PUBLISHED: virtual void output(std::ostream &out) const; virtual void write(std::ostream &out, int indent=0) const; +PUBLISHED: + MAKE_PROPERTY(active, get_active, set_active); + MAKE_PROPERTY(mass, get_mass, set_mass); + MAKE_PROPERTY(position, get_position, set_position); + MAKE_PROPERTY(last_position, get_last_position, set_last_position); + MAKE_PROPERTY(velocity, get_velocity, set_velocity); + MAKE_PROPERTY(implicit_velocity, get_implicit_velocity); + MAKE_PROPERTY(terminal_velocity, get_terminal_velocity, set_terminal_velocity); + MAKE_PROPERTY(oriented, get_oriented, set_oriented); + MAKE_PROPERTY(orientation, get_orientation, set_orientation); + MAKE_PROPERTY(rotation, get_rotation, set_rotation); + private: // physical LPoint3 _position; // aka _center_of_mass