240 lines
8.5 KiB
Text
240 lines
8.5 KiB
Text
|
1565844326
|
||
|
3 3
|
||
|
16 libp3motiontrail 4 HtUQ 14 panda3d.direct
|
||
|
10
|
||
|
12 12 CMotionTrail 0 4 22 26 CMotionTrail::CMotionTrail 0 2 1 2 22
|
||
|
/**
|
||
|
* Constructor
|
||
|
*/
|
||
|
100
|
||
|
CMotionTrail::CMotionTrail(void);
|
||
|
inline CMotionTrail::CMotionTrail(CMotionTrail const &) = default;
|
||
|
|
||
|
13 5 reset 0 4 22 19 CMotionTrail::reset 0 1 3 42
|
||
|
/**
|
||
|
* Reset the frame sample history.
|
||
|
*/
|
||
|
31
|
||
|
void CMotionTrail::reset(void);
|
||
|
|
||
|
14 17 reset_vertex_list 0 4 22 31 CMotionTrail::reset_vertex_list 0 1 4 33
|
||
|
/**
|
||
|
* Reset the vertex list.
|
||
|
*/
|
||
|
43
|
||
|
void CMotionTrail::reset_vertex_list(void);
|
||
|
|
||
|
15 6 enable 0 4 22 20 CMotionTrail::enable 0 1 5 43
|
||
|
/**
|
||
|
* Enable/disable the motion trail.
|
||
|
*/
|
||
|
39
|
||
|
void CMotionTrail::enable(bool enable);
|
||
|
|
||
|
16 13 set_geom_node 0 4 22 27 CMotionTrail::set_geom_node 0 1 6 28
|
||
|
/**
|
||
|
* Set the GeomNode.
|
||
|
*/
|
||
|
54
|
||
|
void CMotionTrail::set_geom_node(GeomNode *geom_node);
|
||
|
|
||
|
17 10 add_vertex 0 4 22 24 CMotionTrail::add_vertex 0 1 7 24
|
||
|
/**
|
||
|
* Add a vertex.
|
||
|
*/
|
||
|
107
|
||
|
void CMotionTrail::add_vertex(LVector4 *vertex, LVector4 *start_color, LVector4 *end_color, PN_stdfloat v);
|
||
|
|
||
|
18 14 set_parameters 0 4 22 28 CMotionTrail::set_parameters 0 1 8 622
|
||
|
/**
|
||
|
* Set motion trail parameters.
|
||
|
*
|
||
|
* sampling_time = Can be used to specify a lower sampling rate than the frame
|
||
|
* rate. Use 0.0 with nurbs.
|
||
|
*
|
||
|
* time_window = a component for the "length" of the motion trail. The motion
|
||
|
* trail length = time_window * velocity of the object.
|
||
|
*
|
||
|
* use_texture = texture option on/off.
|
||
|
*
|
||
|
* calculate_relative_matrix = calculate relative matrix on/off.
|
||
|
*
|
||
|
* use_nurbs = nurbs option on/off
|
||
|
*
|
||
|
* resolution_distance = the distance used to determine the number of geometry
|
||
|
* samples. samples = motion trail length / resolution_distance. Applicable
|
||
|
* only if nurbs is on.
|
||
|
*/
|
||
|
185
|
||
|
void CMotionTrail::set_parameters(PN_stdfloat sampling_time, PN_stdfloat time_window, bool use_texture, bool calculate_relative_matrix, bool use_nurbs, PN_stdfloat resolution_distance);
|
||
|
|
||
|
19 16 check_for_update 0 4 22 30 CMotionTrail::check_for_update 0 1 9 46
|
||
|
/**
|
||
|
* Check if a sample can be submitted.
|
||
|
*/
|
||
|
61
|
||
|
int CMotionTrail::check_for_update(PN_stdfloat current_time);
|
||
|
|
||
|
20 19 update_motion_trail 0 4 22 33 CMotionTrail::update_motion_trail 0 1 10 37
|
||
|
/**
|
||
|
* See class header comments.
|
||
|
*/
|
||
|
86
|
||
|
void CMotionTrail::update_motion_trail(PN_stdfloat current_time, LMatrix4 *transform);
|
||
|
|
||
|
21 14 get_class_type 0 4 22 28 CMotionTrail::get_class_type 0 1 11 0
|
||
|
53
|
||
|
static TypeHandle CMotionTrail::get_class_type(void);
|
||
|
|
||
|
11
|
||
|
1 0 0 7 3 24 0 0 22 /**
|
||
|
* Constructor
|
||
|
*/ 0
|
||
|
2 0 0 7 3 24 0 0 0 1 6 param0 0 25
|
||
|
3 0 0 4 4 27 0 0 42 /**
|
||
|
* Reset the frame sample history.
|
||
|
*/ 1 4 this 3 24
|
||
|
4 0 0 4 5 27 0 0 33 /**
|
||
|
* Reset the vertex list.
|
||
|
*/ 1 4 this 3 24
|
||
|
5 0 0 4 6 27 0 0 43 /**
|
||
|
* Enable/disable the motion trail.
|
||
|
*/ 2 4 this 3 24 6 enable 1 28
|
||
|
6 0 0 4 7 27 0 0 28 /**
|
||
|
* Set the GeomNode.
|
||
|
*/ 2 4 this 3 24 9 geom_node 1 29
|
||
|
7 0 0 4 8 27 0 0 24 /**
|
||
|
* Add a vertex.
|
||
|
*/ 5 4 this 3 24 6 vertex 1 31 11 start_color 1 31 9 end_color 1 31 1 v 1 34
|
||
|
8 0 0 4 9 27 0 0 622 /**
|
||
|
* Set motion trail parameters.
|
||
|
*
|
||
|
* sampling_time = Can be used to specify a lower sampling rate than the frame
|
||
|
* rate. Use 0.0 with nurbs.
|
||
|
*
|
||
|
* time_window = a component for the "length" of the motion trail. The motion
|
||
|
* trail length = time_window * velocity of the object.
|
||
|
*
|
||
|
* use_texture = texture option on/off.
|
||
|
*
|
||
|
* calculate_relative_matrix = calculate relative matrix on/off.
|
||
|
*
|
||
|
* use_nurbs = nurbs option on/off
|
||
|
*
|
||
|
* resolution_distance = the distance used to determine the number of geometry
|
||
|
* samples. samples = motion trail length / resolution_distance. Applicable
|
||
|
* only if nurbs is on.
|
||
|
*/ 7 4 this 3 24 13 sampling_time 1 34 11 time_window 1 34 11 use_texture 1 28 25 calculate_relative_matrix 1 28 9 use_nurbs 1 28 19 resolution_distance 1 34
|
||
|
9 0 0 6 10 36 0 0 46 /**
|
||
|
* Check if a sample can be submitted.
|
||
|
*/ 2 4 this 3 24 12 current_time 1 34
|
||
|
10 0 0 4 11 27 0 0 37 /**
|
||
|
* See class header comments.
|
||
|
*/ 3 4 this 3 24 12 current_time 1 34 9 transform 1 37
|
||
|
11 0 0 7 12 41 0 0 0 0
|
||
|
20
|
||
|
22 12 CMotionTrail 0 75777 12 CMotionTrail 12 CMotionTrail 0 0 0 1 12 0 0 9 13 14 15 16 17 18 19 20 21 0 0 1 0 23 0 0 0 0 1527
|
||
|
/**
|
||
|
* The method used in creating the motion trail is based on taking samples of
|
||
|
* time and transformations (the position and orientation matrix) in real-
|
||
|
* time. The method also requires a number of vertices (positions) that
|
||
|
* determines "shape" of the motion trail (i.e. the edge of a blade). A
|
||
|
* start color and end color is also required for each vertex. The color is
|
||
|
* interpolated as function of time. The colors are typically used to fade
|
||
|
* the motion trail so the end color is typically black.
|
||
|
*
|
||
|
* The vertices are submitted via the "add_vertex" function. For each frame,
|
||
|
* a sample is submited via the "update_motion_trail" function. During the
|
||
|
* "update_motion_trail" function, the motion trail geometry is created
|
||
|
* dynamically from the sample history and the vertices.
|
||
|
*
|
||
|
* The user must specifiy a GeomNode via "set_geom_node".
|
||
|
*
|
||
|
* The duration of the sample history is specified by a time window. A larger
|
||
|
* time window creates longer motion trails (given constant speed). Samples
|
||
|
* that are no longer within the time window are automatically discarded.
|
||
|
*
|
||
|
* The nurbs option can be used to create smooth interpolated curves from the
|
||
|
* samples. The nurbs option is useful for animations that lack sampling to
|
||
|
* begin with, animations that move very quickly, or low frame rates.
|
||
|
*
|
||
|
* The texture option be used to create variation to the motion trail. The u
|
||
|
* coordinate of the texture corresponds to time and the v coordinate
|
||
|
* corresponds to the "shape" of the motion trail.
|
||
|
*/
|
||
|
|
||
|
23 19 TypedReferenceCount 0 2048 19 TypedReferenceCount 19 TypedReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 410
|
||
|
/**
|
||
|
* A base class for things which need to inherit from both TypedObject and
|
||
|
* from ReferenceCount. It's convenient to define this intermediate base
|
||
|
* class instead of multiply inheriting from the two classes each time they
|
||
|
* are needed, so that we can sensibly pass around pointers to things which
|
||
|
* are both TypedObjects and ReferenceCounters.
|
||
|
*
|
||
|
* See also TypedObject for detailed instructions.
|
||
|
*/
|
||
|
|
||
|
24 14 CMotionTrail * 0 8576 14 CMotionTrail * 14 CMotionTrail * 0 0 22 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
25 20 CMotionTrail const * 0 8576 20 CMotionTrail const * 20 CMotionTrail const * 0 0 26 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
26 18 CMotionTrail const 0 8832 18 CMotionTrail const 18 CMotionTrail const 0 0 22 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
27 4 void 0 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
28 4 bool 0 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
29 10 GeomNode * 0 8576 10 GeomNode * 10 GeomNode * 0 0 30 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
30 8 GeomNode 0 2048 8 GeomNode 8 GeomNode 0 0 0 0 0 0 0 0 0 0 0 0 208
|
||
|
/**
|
||
|
* A node that holds Geom objects, renderable pieces of geometry. This is the
|
||
|
* primary kind of leaf node in the scene graph; almost all visible objects
|
||
|
* will be contained in a GeomNode somewhere.
|
||
|
*/
|
||
|
|
||
|
31 10 LVector4 * 0 8576 10 LVector4 * 10 LVector4 * 0 0 32 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
32 8 LVector4 0 2105344 8 LVector4 8 LVector4 0 0 33 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
33 9 LVector4f 0 2048 9 LVector4f 9 LVector4f 0 0 0 0 0 0 0 0 0 0 0 0 52
|
||
|
/**
|
||
|
* This is a four-component vector distance.
|
||
|
*/
|
||
|
|
||
|
34 11 PN_stdfloat 0 2105344 11 PN_stdfloat 11 PN_stdfloat 0 0 35 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
35 5 float 0 8194 5 float 5 float 0 2 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
36 3 int 0 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
37 10 LMatrix4 * 0 8576 10 LMatrix4 * 10 LMatrix4 * 0 0 38 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
38 8 LMatrix4 0 2105344 8 LMatrix4 8 LMatrix4 0 0 39 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
39 9 LMatrix4f 0 2048 9 LMatrix4f 9 LMatrix4f 0 0 0 0 0 0 0 0 0 0 0 0 45
|
||
|
/**
|
||
|
* This is a 4-by-4 transform matrix.
|
||
|
*/
|
||
|
|
||
|
40 10 TypeHandle 0 16779264 10 TypeHandle 10 TypeHandle 0 0 0 0 0 0 0 0 0 0 0 0 732
|
||
|
/**
|
||
|
* TypeHandle is the identifier used to differentiate C++ class types. Any
|
||
|
* C++ classes that inherit from some base class, and must be differentiated
|
||
|
* at run time, should store a static TypeHandle object that can be queried
|
||
|
* through a static member function named get_class_type(). Most of the time,
|
||
|
* it is also desirable to inherit from TypedObject, which provides some
|
||
|
* virtual functions to return the TypeHandle for a particular instance.
|
||
|
*
|
||
|
* At its essence, a TypeHandle is simply a unique identifier that is assigned
|
||
|
* by the TypeRegistry. The TypeRegistry stores a tree of TypeHandles, so
|
||
|
* that ancestry of a particular type may be queried, and the type name may be
|
||
|
* retrieved for run-time display.
|
||
|
*/
|
||
|
|
||
|
41 12 TypeHandle * 0 8576 12 TypeHandle * 12 TypeHandle * 0 0 40 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
0
|
||
|
0
|
||
|
0
|