historical/toontown-classic.git/panda/pandac/input/libp3motiontrail.in
2024-01-16 11:20:27 -06:00

239 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