20 #include "scene_description.h"
25 typedef float TimeStep;
33 mathfu::vec3 CurrentPosition()
const;
34 mathfu::vec3 CurrentVelocity()
const;
35 Quat CurrentOrientation()
const;
36 mathfu::vec4 CurrentTint()
const;
37 mathfu::vec3 CurrentScale()
const;
38 TimeStep DurationRemaining()
const;
40 void SetDurationRemaining(TimeStep duration);
42 mathfu::vec3 base_position()
const {
return base_position_; }
44 void set_base_position(
const mathfu::vec3& base_position) {
45 base_position_ = base_position;
48 mathfu::vec3 base_velocity()
const {
return base_velocity_; }
49 void set_base_velocity(
const mathfu::vec3& base_velocity) {
50 base_velocity_ = base_velocity;
53 mathfu::vec3 acceleration()
const {
return acceleration_; }
54 void set_acceleration(
const mathfu::vec3& acceleration) {
55 acceleration_ = acceleration;
58 mathfu::vec3 base_orientation()
const {
return base_orientation_; }
59 void set_base_orientation(
const mathfu::vec3& base_orientation) {
60 base_orientation_ = base_orientation;
63 mathfu::vec3 rotational_velocity()
const {
return rotational_velocity_; }
64 void set_rotational_velocity(
const mathfu::vec3& rotational_velocity) {
65 rotational_velocity_ = rotational_velocity;
68 mathfu::vec4 base_tint()
const {
return base_tint_; }
69 void set_base_tint(
const mathfu::vec4& base_tint) { base_tint_ = base_tint; }
71 mathfu::vec3 base_scale()
const {
return base_scale_; }
72 void set_base_scale(
const mathfu::vec3& base_scale) {
73 base_scale_ = base_scale;
76 TimeStep duration_of_fade_out()
const {
return duration_of_fade_out_; }
77 void set_duration_of_fade_out(TimeStep duration_of_fade_out) {
78 duration_of_fade_out_ = duration_of_fade_out;
81 TimeStep duration_of_shrink_out()
const {
return duration_of_shrink_out_; }
82 void set_duration_of_shrink_out(TimeStep duration_of_shrink_out) {
83 duration_of_shrink_out_ = duration_of_shrink_out;
86 uint16_t renderable_id()
const {
return renderable_id_; }
87 void set_renderable_id(uint16_t renderable_id) {
88 renderable_id_ = renderable_id;
91 TimeStep duration()
const {
return duration_; }
92 void set_duration(TimeStep duration) { duration_ = duration; }
94 TimeStep age()
const {
return age_; }
95 void set_age(TimeStep age) { age_ = age; }
98 mathfu::mat4 CalculateMatrix()
const;
100 void AdvanceFrame(TimeStep delta_time);
101 bool IsFinished()
const;
104 mathfu::vec3 base_position_;
105 mathfu::vec3 base_velocity_;
106 mathfu::vec3 acceleration_;
109 mathfu::vec3 base_orientation_;
110 mathfu::vec3 rotational_velocity_;
112 mathfu::vec3 base_scale_;
113 mathfu::vec4 base_tint_;
123 TimeStep duration_of_fade_out_;
124 TimeStep duration_of_shrink_out_;
127 uint16_t renderable_id_;
132 void AdvanceFrame(TimeStep delta_time);
134 const std::list<Particle*>& get_particle_list()
const {
135 return particle_list_;
146 void RemoveAllParticles();
149 std::list<Particle*> particle_list_;
150 std::list<Particle*> inactive_particle_list_;
155 #endif // PARTICLES_H
Definition: particles.h:27
Definition: particles.h:130