14 #ifndef CMOTIONTRAIL_H
15 #define CMOTIONTRAIL_H
31 LVecBase4 _start_color;
40 UnalignedLMatrix4 _transform;
78 void reset_vertex_list();
80 void enable(
bool enable);
82 void set_geom_node(
GeomNode *geom_node);
83 void add_vertex(LVector4 *vertex, LVector4 *start_color, LVector4 *end_color, PN_stdfloat v);
85 void set_parameters(PN_stdfloat sampling_time, PN_stdfloat time_window,
bool use_texture,
bool calculate_relative_matrix,
bool use_nurbs, PN_stdfloat resolution_distance);
87 int check_for_update(PN_stdfloat current_time);
88 void update_motion_trail(PN_stdfloat current_time, LMatrix4 *transform);
92 void begin_geometry();
93 void add_geometry_quad(LVector3 &v0, LVector3 &v1, LVector3 &v2, LVector3 &v3, LVector4 &c0, LVector4 &c1, LVector4 &c2, LVector4 &c3, LVector2 &t0, LVector2 &t1, LVector2 &t2, LVector2 &t3);
94 void add_geometry_quad(LVector4 &v0, LVector4 &v1, LVector4 &v2, LVector4 &v3, LVector4 &c0, LVector4 &c1, LVector4 &c2, LVector4 &c3, LVector2 &t0, LVector2 &t1, LVector2 &t2, LVector2 &t3);
101 PN_stdfloat _pause_time;
105 PN_stdfloat _fade_time;
106 PN_stdfloat _fade_start_time;
107 PN_stdfloat _fade_color_scale;
109 PN_stdfloat _last_update_time;
111 typedef epvector<CMotionTrailVertex> VertexList;
112 VertexList _vertex_list;
117 PN_stdfloat _color_scale;
118 PN_stdfloat _sampling_time;
119 PN_stdfloat _time_window;
122 int _calculate_relative_matrix;
126 PN_stdfloat _resolution_distance;
145 static void init_type() {
146 TypedReferenceCount::init_type();
148 TypedReferenceCount::get_class_type());
151 return get_class_type();
153 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}