Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

ParametricCurveCollection Class Reference

#include <parametricCurveCollection.h>

Inheritance diagram for ParametricCurveCollection:

ReferenceCount List of all members.

Public Member Functions

int r_add_curves (PandaNode *node)
void register_drawer (ParametricCurveDrawer *drawer)
void unregister_drawer (ParametricCurveDrawer *drawer)

Private Types

typedef pvector< PT(ParametricCurveParametricCurves )
typedef plist< ParametricCurveDrawer * > DrawerList

Private Member Functions

INLINE ~ParametricCurveCollection ()
void add_curve (ParametricCurve *curve)
void add_curve (ParametricCurve *curve, int index)
int add_curves (PandaNode *node)
bool remove_curve (ParametricCurve *curve)
void remove_curve (int index)
bool has_curve (ParametricCurve *curve) const
void clear ()
void clear_timewarps ()
INLINE int get_num_curves () const
INLINE ParametricCurveget_curve (int index) const
ParametricCurveget_xyz_curve () const
ParametricCurveget_hpr_curve () const
ParametricCurveget_default_curve () const
int get_num_timewarps () const
ParametricCurveget_timewarp_curve (int n) const
INLINE float get_max_t () const
void make_even (float max_t, float segments_per_unit)
void face_forward (float segments_per_unit)
void reset_max_t (float max_t)
bool evaluate (float t, LVecBase3f &xyz, LVecBase3f &hpr) const
bool evaluate (float t, LMatrix4f &result, CoordinateSystem cs=CS_default) const
float evaluate_t (float t) const
INLINE bool evaluate_xyz (float t, LVecBase3f &xyz) const
INLINE bool evaluate_hpr (float t, LVecBase3f &hpr) const
INLINE bool adjust_xyz (float t, float x, float y, float z)
bool adjust_xyz (float t, const LVecBase3f &xyz)
INLINE bool adjust_hpr (float t, float h, float p, float r)
bool adjust_hpr (float t, const LVecBase3f &xyz)
bool recompute ()
bool stitch (const ParametricCurveCollection *a, const ParametricCurveCollection *b)
void output (ostream &out) const
void write (ostream &out, int indent_level=0) const
bool write_egg (Filename filename, CoordinateSystem cs=CS_default)
bool write_egg (ostream &out, const Filename &filename, CoordinateSystem cs)
bool determine_hpr (float t, ParametricCurve *xyz_curve, LVecBase3f &hpr) const
void prepare_add_curve (ParametricCurve *curve)
void prepare_remove_curve (ParametricCurve *curve)
void redraw ()

Private Attributes

PUBLISHED __pad0__: ParametricCurveCollection()
ParametricCurves _curves
DrawerList _drawers

Member Typedef Documentation

typedef plist<ParametricCurveDrawer *> ParametricCurveCollection::DrawerList [private]
 

Definition at line 111 of file parametricCurveCollection.h.

typedef pvector< PT(ParametricCurve) ParametricCurveCollection::ParametricCurves) [private]
 

Definition at line 109 of file parametricCurveCollection.h.

Referenced by face_forward().


Constructor & Destructor Documentation

INLINE ParametricCurveCollection::~ParametricCurveCollection  )  [private]
 


Member Function Documentation

void ParametricCurveCollection::add_curve ParametricCurve curve,
int  index
[private]
 

Definition at line 58 of file parametricCurveCollection.cxx.

References _curves, index, prepare_add_curve(), and redraw().

void ParametricCurveCollection::add_curve ParametricCurve curve  )  [private]
 

Definition at line 45 of file parametricCurveCollection.cxx.

References _curves, prepare_add_curve(), and redraw().

Referenced by face_forward(), make_even(), reset_max_t(), and stitch().

int ParametricCurveCollection::add_curves PandaNode node  )  [private]
 

Definition at line 73 of file parametricCurveCollection.cxx.

References r_add_curves(), and redraw().

bool ParametricCurveCollection::adjust_hpr float  t,
const LVecBase3f &  xyz
[private]
 

Definition at line 634 of file parametricCurveCollection.cxx.

References ParametricCurve::adjust_point(), evaluate_t(), get_hpr_curve(), ParametricCurve::get_max_t(), NULL, and t.

INLINE bool ParametricCurveCollection::adjust_hpr float  t,
float  h,
float  p,
float  r
[private]
 

bool ParametricCurveCollection::adjust_xyz float  t,
const LVecBase3f &  xyz
[private]
 

Definition at line 612 of file parametricCurveCollection.cxx.

References ParametricCurve::adjust_point(), evaluate_t(), ParametricCurve::get_max_t(), get_xyz_curve(), NULL, and t.

INLINE bool ParametricCurveCollection::adjust_xyz float  t,
float  x,
float  y,
float  z
[private]
 

void ParametricCurveCollection::clear  )  [private]
 

Definition at line 147 of file parametricCurveCollection.cxx.

References _curves, prepare_remove_curve(), and redraw().

Referenced by stitch().

void ParametricCurveCollection::clear_timewarps  )  [private]
 

Definition at line 164 of file parametricCurveCollection.cxx.

References _curves, ParametricCurve::get_curve_type(), NULL, PCT_HPR, PCT_XYZ, prepare_remove_curve(), PT, and redraw().

Referenced by make_even().

bool ParametricCurveCollection::determine_hpr float  t,
ParametricCurve xyz_curve,
LVecBase3f &  hpr
const [private]
 

Definition at line 923 of file parametricCurveCollection.cxx.

References decompose_matrix(), evaluate_t(), ParametricCurve::get_tangent(), look_at(), scale, and t.

Referenced by face_forward().

bool ParametricCurveCollection::evaluate float  t,
LMatrix4f &  result,
CoordinateSystem  cs = CS_default
const [private]
 

Definition at line 563 of file parametricCurveCollection.cxx.

References compose_matrix(), cs, evaluate(), and t.

bool ParametricCurveCollection::evaluate float  t,
LVecBase3f &  xyz,
LVecBase3f &  hpr
const [private]
 

Definition at line 491 of file parametricCurveCollection.cxx.

References _curves, ParametricCurve::get_curve_type(), ParametricCurve::get_point(), NULL, PCT_HPR, PCT_NONE, PCT_T, PCT_XYZ, and t.

Referenced by evaluate(), and CurveFitter::sample().

INLINE bool ParametricCurveCollection::evaluate_hpr float  t,
LVecBase3f &  hpr
const [private]
 

float ParametricCurveCollection::evaluate_t float  t  )  const [private]
 

Definition at line 584 of file parametricCurveCollection.cxx.

References _curves, ParametricCurve::get_curve_type(), ParametricCurve::get_point(), PCT_T, and t.

Referenced by adjust_hpr(), adjust_xyz(), and determine_hpr().

INLINE bool ParametricCurveCollection::evaluate_xyz float  t,
LVecBase3f &  xyz
const [private]
 

void ParametricCurveCollection::face_forward float  segments_per_unit  )  [private]
 

Definition at line 395 of file parametricCurveCollection.cxx.

References _curves, add_curve(), CurveFitter::add_hpr(), cfloor(), CurveFitter::compute_tangents(), determine_hpr(), ParametricCurve::get_curve_type(), get_max_t(), get_xyz_curve(), NULL, ParametricCurves, PCT_HPR, PCT_XYZ, prepare_remove_curve(), PT, t, and CurveFitter::wrap_hpr().

INLINE ParametricCurve* ParametricCurveCollection::get_curve int  index  )  const [private]
 

ParametricCurve * ParametricCurveCollection::get_default_curve  )  const [private]
 

Definition at line 249 of file parametricCurveCollection.cxx.

References _curves, ParametricCurve::get_curve_type(), get_xyz_curve(), NULL, and PCT_NONE.

ParametricCurve * ParametricCurveCollection::get_hpr_curve  )  const [private]
 

Definition at line 229 of file parametricCurveCollection.cxx.

References _curves, ParametricCurve::get_curve_type(), NULL, and PCT_HPR.

Referenced by adjust_hpr(), and CurveFitter::sample().

INLINE float ParametricCurveCollection::get_max_t  )  const [private]
 

Referenced by face_forward(), reset_max_t(), and CurveFitter::sample().

INLINE int ParametricCurveCollection::get_num_curves  )  const [private]
 

Referenced by output().

int ParametricCurveCollection::get_num_timewarps  )  const [private]
 

Definition at line 272 of file parametricCurveCollection.cxx.

References _curves, count, ParametricCurve::get_curve_type(), and PCT_T.

ParametricCurve * ParametricCurveCollection::get_timewarp_curve int  n  )  const [private]
 

Definition at line 292 of file parametricCurveCollection.cxx.

References _curves, ParametricCurve::get_curve_type(), n, NULL, and PCT_T.

ParametricCurve * ParametricCurveCollection::get_xyz_curve  )  const [private]
 

Definition at line 211 of file parametricCurveCollection.cxx.

References _curves, ParametricCurve::get_curve_type(), NULL, and PCT_XYZ.

Referenced by adjust_xyz(), face_forward(), get_default_curve(), make_even(), and CurveFitter::sample().

bool ParametricCurveCollection::has_curve ParametricCurve curve  )  const [private]
 

Definition at line 131 of file parametricCurveCollection.cxx.

References _curves.

void ParametricCurveCollection::make_even float  max_t,
float  segments_per_unit
[private]
 

Definition at line 325 of file parametricCurveCollection.cxx.

References add_curve(), CurveFitter::add_xyz(), ParametricCurve::calc_length(), cfloor(), clear_timewarps(), CurveFitter::compute_tangents(), ParametricCurve::find_length(), ParametricCurve::get_max_t(), get_xyz_curve(), NULL, PCT_T, PT, and ParametricCurve::set_curve_type().

void ParametricCurveCollection::output ostream &  out  )  const [private]
 

Definition at line 718 of file parametricCurveCollection.cxx.

References get_num_curves().

Referenced by operator<<().

void ParametricCurveCollection::prepare_add_curve ParametricCurve curve  )  [private]
 

Definition at line 951 of file parametricCurveCollection.cxx.

References _drawers, and ParametricCurve::register_drawer().

Referenced by add_curve(), and r_add_curves().

void ParametricCurveCollection::prepare_remove_curve ParametricCurve curve  )  [private]
 

Definition at line 967 of file parametricCurveCollection.cxx.

References _drawers, and ParametricCurve::unregister_drawer().

Referenced by clear(), clear_timewarps(), face_forward(), and remove_curve().

int ParametricCurveCollection::r_add_curves PandaNode node  ) 
 

Definition at line 854 of file parametricCurveCollection.cxx.

References _curves, DCAST, PandaNode::get_child(), ParametricCurve::get_class_type(), PandaNode::get_num_children(), TypedObject::is_of_type(), and prepare_add_curve().

Referenced by add_curves().

bool ParametricCurveCollection::recompute  )  [private]
 

Definition at line 655 of file parametricCurveCollection.cxx.

References _curves, and ParametricCurve::recompute().

void ParametricCurveCollection::redraw  )  [private]
 

Definition at line 982 of file parametricCurveCollection.cxx.

References _drawers, and ParametricCurveDrawer::redraw().

Referenced by add_curve(), add_curves(), clear(), clear_timewarps(), and remove_curve().

void ParametricCurveCollection::register_drawer ParametricCurveDrawer drawer  ) 
 

Definition at line 886 of file parametricCurveCollection.cxx.

References _curves, _drawers, and ParametricCurve::register_drawer().

Referenced by ParametricCurveDrawer::set_curves().

void ParametricCurveCollection::remove_curve int  index  )  [private]
 

Definition at line 116 of file parametricCurveCollection.cxx.

References _curves, index, prepare_remove_curve(), PT, and redraw().

bool ParametricCurveCollection::remove_curve ParametricCurve curve  )  [private]
 

Definition at line 91 of file parametricCurveCollection.cxx.

References _curves.

void ParametricCurveCollection::reset_max_t float  max_t  )  [private]
 

Definition at line 461 of file parametricCurveCollection.cxx.

References add_curve(), get_max_t(), PCT_T, and PT.

bool ParametricCurveCollection::stitch const ParametricCurveCollection *  a,
const ParametricCurveCollection *  b
[private]
 

Definition at line 680 of file parametricCurveCollection.cxx.

References a, add_curve(), b, clear(), NULL, PCT_HPR, PCT_XYZ, and PT.

void ParametricCurveCollection::unregister_drawer ParametricCurveDrawer drawer  ) 
 

Definition at line 904 of file parametricCurveCollection.cxx.

References _curves, _drawers, and ParametricCurve::unregister_drawer().

void ParametricCurveCollection::write ostream &  out,
int  indent_level = 0
const [private]
 

Definition at line 733 of file parametricCurveCollection.cxx.

References _curves, and indent().

bool ParametricCurveCollection::write_egg ostream &  out,
const Filename &  filename,
CoordinateSystem  cs
[private]
 

Definition at line 769 of file parametricCurveCollection.cxx.

References _curves, cs, CS_default, CS_invalid, CS_yup_left, CS_yup_right, CS_zup_left, CS_zup_right, default_coordinate_system, format_string(), ParametricCurve::get_curve_type(), PCT_HPR, PCT_T, PCT_XYZ, and ParametricCurve::write_egg().

bool ParametricCurveCollection::write_egg Filename  filename,
CoordinateSystem  cs = CS_default
[private]
 

Definition at line 749 of file parametricCurveCollection.cxx.

References cs.


Member Data Documentation

PUBLISHED ParametricCurveCollection::__pad0__ [private]
 

Reimplemented from ReferenceCount.

Definition at line 47 of file parametricCurveCollection.h.

ParametricCurves ParametricCurveCollection::_curves [private]
 

Definition at line 110 of file parametricCurveCollection.h.

Referenced by add_curve(), clear(), clear_timewarps(), evaluate(), evaluate_t(), face_forward(), get_default_curve(), get_hpr_curve(), get_num_timewarps(), get_timewarp_curve(), get_xyz_curve(), has_curve(), r_add_curves(), recompute(), register_drawer(), remove_curve(), unregister_drawer(), write(), and write_egg().

DrawerList ParametricCurveCollection::_drawers [private]
 

Definition at line 112 of file parametricCurveCollection.h.

Referenced by prepare_add_curve(), prepare_remove_curve(), redraw(), register_drawer(), and unregister_drawer().


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 00:13:01 2003 for Panda by doxygen1.3