#include <piecewiseCurve.h>
Inheritance diagram for PiecewiseCurve:
Public Member Functions | |
virtual bool | is_valid () const |
virtual float | get_max_t () const |
virtual bool | get_point (float t, LVecBase3f &point) const |
virtual bool | get_tangent (float t, LVecBase3f &tangent) const |
virtual bool | get_pt (float t, LVecBase3f &point, LVecBase3f &tangent) const |
virtual bool | get_2ndtangent (float t, LVecBase3f &tangent2) const |
virtual bool | adjust_point (float t, float px, float py, float pz) |
virtual bool | adjust_tangent (float t, float tx, float ty, float tz) |
virtual bool | adjust_pt (float t, float px, float py, float pz, float tx, float ty, float tz) |
int | get_num_segs () const |
ParametricCurve * | get_curveseg (int ti) |
bool | insert_curveseg (int ti, ParametricCurve *seg, float tlength) |
bool | remove_curveseg (int ti) |
void | remove_all_curvesegs () |
float | get_tlength (int ti) const |
float | get_tstart (int ti) const |
float | get_tend (int ti) const |
bool | set_tlength (int ti, float tlength) |
void | make_nurbs (int order, int num_cvs, const float knots[], const LVecBase4f cvs[]) |
virtual bool | get_bezier_segs (BezierSegs &bz_segs) const |
virtual bool | rebuild_curveseg (int rtype0, float t0, const LVecBase4f &v0, int rtype1, float t1, const LVecBase4f &v1, int rtype2, float t2, const LVecBase4f &v2, int rtype3, float t3, const LVecBase4f &v3) |
virtual TypeHandle | get_type () const |
virtual TypeHandle | force_init_type () |
Static Public Member Functions | |
TypeHandle | get_class_type () |
void | init_type () |
Protected Member Functions | |
bool | find_curve (const ParametricCurve *&curve, float &t) const |
float | current_seg_range (float t) const |
virtual void | write_datagram (BamWriter *manager, Datagram &me) |
void | fillin (DatagramIterator &scan, BamReader *manager) |
virtual int | complete_pointers (TypedWritable **plist, BamReader *manager) |
Protected Attributes | |
pvector< Curveseg > | _segs |
int | _last_ti |
Private Member Functions | |
~PiecewiseCurve () | |
Private Attributes | |
PUBLISHED | __pad0__: PiecewiseCurve() |
Static Private Attributes | |
TypeHandle | _type_handle |
|
Definition at line 46 of file piecewiseCurve.cxx. References remove_all_curvesegs(). |
|
Reimplemented from ParametricCurve. Definition at line 134 of file piecewiseCurve.cxx. References find_curve(), rebuild_curveseg(), RT_CV, RT_KEEP_ORIG, RT_POINT, RT_TANGENT, and t. |
|
Reimplemented from ParametricCurve. Definition at line 189 of file piecewiseCurve.cxx. References find_curve(), rebuild_curveseg(), RT_CV, RT_KEEP_ORIG, RT_POINT, RT_TANGENT, t, ty, and tz. |
|
Reimplemented from ParametricCurve. Definition at line 165 of file piecewiseCurve.cxx. References find_curve(), rebuild_curveseg(), RT_CV, RT_KEEP_ORIG, RT_POINT, RT_TANGENT, t, ty, and tz. |
|
Reimplemented from TypedWritable. Definition at line 628 of file piecewiseCurve.cxx. References _segs, TypedWritable::complete_pointers(), and DCAST. |
|
Definition at line 560 of file piecewiseCurve.cxx. |
|
Reimplemented from ParametricCurve. Reimplemented in ClassicNurbsCurve, and HermiteCurve. Definition at line 605 of file piecewiseCurve.cxx. References _segs, PiecewiseCurve::Curveseg::_tend, ParametricCurve::fillin(), DatagramIterator::get_float64(), DatagramIterator::get_uint32(), NULL, and BamReader::read_pointer(). Referenced by HermiteCurve::fillin(), and ClassicNurbsCurve::fillin(). |
|
Definition at line 465 of file piecewiseCurve.cxx. References _last_ti, _segs, NULL, and t. Referenced by adjust_point(), adjust_pt(), adjust_tangent(), get_2ndtangent(), get_point(), get_pt(), and get_tangent(). |
|
Reimplemented from ParametricCurve. Reimplemented in ClassicNurbsCurve, and HermiteCurve. Definition at line 117 of file piecewiseCurve.h. References ParametricCurve::get_class_type(), and ParametricCurve::init_type(). |
|
Implements ParametricCurve. Definition at line 118 of file piecewiseCurve.cxx. References find_curve(), ParametricCurve::get_2ndtangent(), and t. |
|
Definition at line 419 of file piecewiseCurve.cxx. References _segs. |
|
Reimplemented from ParametricCurve. Reimplemented in ClassicNurbsCurve, and HermiteCurve. Definition at line 106 of file piecewiseCurve.h. Referenced by ClassicNurbsCurve::init_type(). |
|
Reimplemented in ClassicNurbsCurve, and HermiteCurve. Definition at line 242 of file piecewiseCurve.cxx. References _segs. Referenced by HermiteCurve::get_curveseg(). |
|
Reimplemented from ParametricCurve. Definition at line 71 of file piecewiseCurve.cxx. References _segs. Referenced by HermiteCurve::get_cv_tstart(), insert_curveseg(), HermiteCurve::insert_cv(), and HermiteCurve::invalidate_cv(). |
|
Definition at line 231 of file piecewiseCurve.cxx. References _segs. Referenced by make_nurbs(). |
|
Implements ParametricCurve. Definition at line 86 of file piecewiseCurve.cxx. References find_curve(), ParametricCurve::get_point(), and t. |
|
Implements ParametricCurve. Definition at line 215 of file piecewiseCurve.cxx. References find_curve(), ParametricCurve::get_pt(), and t. Referenced by HermiteCurve::insert_cv(). |
|
Implements ParametricCurve. Definition at line 102 of file piecewiseCurve.cxx. References find_curve(), ParametricCurve::get_tangent(), and t. |
|
Definition at line 352 of file piecewiseCurve.cxx. References _segs. |
|
Definition at line 328 of file piecewiseCurve.cxx. References _segs. Referenced by HermiteCurve::format_egg(), HermiteCurve::invalidate_cv(), HermiteCurve::recompute_basis(), remove_curveseg(), and set_tlength(). |
|
Definition at line 340 of file piecewiseCurve.cxx. References _segs. Referenced by HermiteCurve::get_cv_tstart(), and HermiteCurve::set_cv_tstart(). |
|
Reimplemented from ParametricCurve. Reimplemented in ClassicNurbsCurve, and HermiteCurve. Definition at line 114 of file piecewiseCurve.h. References ParametricCurve::get_class_type(). |
|
Reimplemented from ParametricCurve. Reimplemented in ClassicNurbsCurve, and HermiteCurve. Definition at line 109 of file piecewiseCurve.h. References ParametricCurve::get_class_type(), ParametricCurve::init_type(), and register_type(). Referenced by ConfigureFn(), and ClassicNurbsCurve::init_type(). |
|
Definition at line 262 of file piecewiseCurve.cxx. References _segs, and get_max_t(). Referenced by HermiteCurve::append_cv(), HermiteCurve::insert_cv(), make_nurbs(), and ClassicNurbsCurve::recompute(). |
|
Definition at line 59 of file piecewiseCurve.cxx. References _segs. Referenced by HermiteCurve::find_cv(), HermiteCurve::insert_cv(), and HermiteCurve::invalidate_cv(). |
|
Definition at line 393 of file piecewiseCurve.cxx. References get_num_segs(), insert_curveseg(), and remove_all_curvesegs(). |
|
Reimplemented in ClassicNurbsCurve, and HermiteCurve. Definition at line 444 of file piecewiseCurve.cxx. Referenced by adjust_point(), adjust_pt(), and adjust_tangent(). |
|
Definition at line 316 of file piecewiseCurve.cxx. References _last_ti, and _segs. Referenced by make_nurbs(), HermiteCurve::remove_all_cvs(), and ~PiecewiseCurve(). |
|
Definition at line 291 of file piecewiseCurve.cxx. References _last_ti, _segs, and get_tlength(). Referenced by HermiteCurve::remove_cv(). |
|
Definition at line 367 of file piecewiseCurve.cxx. References _segs, and get_tlength(). Referenced by HermiteCurve::set_cv_tstart(). |
|
Reimplemented from ParametricCurve. Reimplemented in ClassicNurbsCurve, and HermiteCurve. Definition at line 582 of file piecewiseCurve.cxx. References _last_ti, _segs, PiecewiseCurve::Curveseg::_tend, Datagram::add_float64(), Datagram::add_uint32(), ParametricCurve::write_datagram(), and BamWriter::write_pointer(). Referenced by HermiteCurve::write_datagram(), and ClassicNurbsCurve::write_datagram(). |
|
Reimplemented from ParametricCurve. Reimplemented in ClassicNurbsCurve, and HermiteCurve. Definition at line 36 of file piecewiseCurve.h. |
|
Definition at line 95 of file piecewiseCurve.h. Referenced by current_seg_range(), find_curve(), ClassicNurbsCurve::rebuild_curveseg(), remove_all_curvesegs(), remove_curveseg(), and write_datagram(). |
|
|
Reimplemented from ParametricCurve. Reimplemented in ClassicNurbsCurve, and HermiteCurve. Definition at line 28 of file piecewiseCurve.cxx. |