38 typedef boost::optional<physics> optional_physics;
50 bool killed()
const override;
93 const physics& current_physics()
const;
94 physics& current_physics();
95 const physics& next_physics()
const;
96 physics& next_physics();
97 bool apply_physics(
double aElapsedTime,
const vec3& aForce);
101 mutable optional_physics iCurrentPhysics;
102 mutable optional_physics iNextPhysics;
106 uint32_t iCollisionUpdateId;
boost::optional< time_interval > optional_time_interval
scalar mass() const override
bool killed() const override
bool collidable() const override
void set_spin_radians(const vec3 &aSpin) override
void clear_aabb_cache() override
void set_angle_degrees(const vec3 &aAngle) override
void set_spin_degrees(const vec3 &aSpin) override
boost::optional< aabb > optional_aabb
const i_shape & as_shape() const override
const optional_time_interval & update_time() const override
void set_acceleration(const vec3 &aAcceleration) override
vec3 angle_degrees() const override
const i_physical_object & as_physical_object() const override
void set_mass(scalar aMass) override
const neogfx::aabb & saved_aabb() const override
vec3 spin_radians() const override
const i_collidable_object & as_collidable_object() const override
void set_collision_update_id(uint32_t aCollisionUpdateId) override
vec3 position() const override
bool update(const optional_time_interval &aNow, const vec3 &aForce) override
vec3 origin() const override
object_category category() const override
vec3 acceleration() const override
void collided(i_collidable_object &aOther) override
void set_origin(const vec3 &aOrigin) override
void set_velocity(const vec3 &aVelocity) override
const neogfx::aabb & aabb() const override
vec3 velocity() const override
void clear_vertices_cache() override
void save_aabb() override
virtual void set_spin_radians(const vec3 &aSpin)=0
uint32_t collision_update_id() const override
virtual void set_spin_degrees(const vec3 &aSpin)=0
void set_position(const vec3 &aPosition) override
void clear_saved_aabb() override
vec3 spin_degrees() const override
bool has_collided(const i_collidable_object &aOther) const override
void set_angle_radians(const vec3 &aAngle) override
vec3 angle_radians() const override
void set_update_time(const optional_time_interval &aLastUpdateTime) override