15 #ifndef NODEPATHCOLLECTION_H
16 #define NODEPATHCOLLECTION_H
18 #include "pandabase.h"
20 #include "parametricCurve.h"
22 #include "referenceCount.h"
23 #include "pointerTo.h"
29 class ParametricCurveDrawer;
50 void remove_curve(
int index);
53 void clear_timewarps();
55 INLINE
int get_num_curves()
const;
57 MAKE_SEQ(get_curves, get_num_curves, get_curve);
62 int get_num_timewarps()
const;
64 MAKE_SEQ(get_timewarp_curves, get_num_timewarps, get_timewarp_curve);
66 INLINE PN_stdfloat get_max_t()
const;
68 void make_even(PN_stdfloat max_t, PN_stdfloat segments_per_unit);
69 void face_forward(PN_stdfloat segments_per_unit);
70 void reset_max_t(PN_stdfloat max_t);
73 bool evaluate(PN_stdfloat t,
LMatrix4 &result, CoordinateSystem cs = CS_default)
const;
75 PN_stdfloat evaluate_t(PN_stdfloat t)
const;
76 INLINE
bool evaluate_xyz(PN_stdfloat t,
LVecBase3 &xyz)
const;
77 INLINE
bool evaluate_hpr(PN_stdfloat t,
LVecBase3 &hpr)
const;
79 INLINE
bool adjust_xyz(PN_stdfloat t, PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
80 bool adjust_xyz(PN_stdfloat t,
const LVecBase3 &xyz);
81 INLINE
bool adjust_hpr(PN_stdfloat t, PN_stdfloat h, PN_stdfloat p, PN_stdfloat r);
82 bool adjust_hpr(PN_stdfloat t,
const LVecBase3 &xyz);
89 void output(ostream &out)
const;
90 void write(ostream &out,
int indent_level = 0)
const;
92 bool write_egg(
Filename filename, CoordinateSystem cs = CS_default);
93 bool write_egg(ostream &out,
const Filename &filename, CoordinateSystem cs);
97 void register_drawer(ParametricCurveDrawer *drawer);
98 void unregister_drawer(ParametricCurveDrawer *drawer);
119 #include "parametricCurveCollection.I"
A basic node of the scene graph or data graph.
This is the base class for all three-component vectors and points.
void output(ostream &out) const
Writes a brief one-line description of the ParametricCurveCollection to the indicated output stream...
A virtual base class for parametric curves.
This is a set of zero or more ParametricCurves, which may or may not be related.
The name of a file, such as a texture file or an Egg file.
This is a 4-by-4 transform matrix.
A base class for all things that want to be reference-counted.