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

CubicCurveseg Class Reference

#include <cubicCurveseg.h>

Inheritance diagram for CubicCurveseg:

ParametricCurve PandaNode TypedWritable Namable BoundedObject ReferenceCount TypedObject List of all members.

Public Member Functions

 CubicCurveseg ()
 CubicCurveseg (const LMatrix4f &basis)
 CubicCurveseg (const BezierSeg &seg)
 CubicCurveseg (int order, const float knots[], const LVecBase4f cvs[])
virtual ~CubicCurveseg ()
void hermite_basis (const HermiteCurveCV &cv0, const HermiteCurveCV &cv1, float tlength=1.0f)
void bezier_basis (const BezierSeg &seg)
void nurbs_basis (int order, const float knots[], const LVecBase4f cvs[])
void evaluate_point (const LVecBase4f &tv, LVecBase3f &result) const
void evaluate_vector (const LVecBase4f &tv, LVecBase3f &result) const
virtual bool get_bezier_seg (BezierSeg &seg) const
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()

Static Public Member Functions

bool compute_seg (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, const LMatrix4f &B, const LMatrix4f &Bi, LMatrix4f &G)
void register_with_read_factory ()
TypeHandle get_class_type ()
void init_type ()

Public Attributes

LVecBase4f Bx
LVecBase4f By
LVecBase4f Bz
LVecBase4f Bw
bool rational

Protected Member Functions

virtual void write_datagram (BamWriter *manager, Datagram &me)
void fillin (DatagramIterator &scan, BamReader *manager)

Static Protected Member Functions

TypedWritablemake_CubicCurveseg (const FactoryParams &params)

Private Member Functions

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

Private Attributes

PUBLISHED __pad0__: virtual bool get_point(float t
PUBLISHED LVecBase3f &point const

Static Private Attributes

TypeHandle _type_handle

Constructor & Destructor Documentation

CubicCurveseg::CubicCurveseg  ) 
 

Definition at line 37 of file cubicCurveseg.cxx.

CubicCurveseg::CubicCurveseg const LMatrix4f &  basis  ) 
 

Definition at line 47 of file cubicCurveseg.cxx.

References Bw, Bx, By, Bz, and rational.

CubicCurveseg::CubicCurveseg const BezierSeg &  seg  ) 
 

Definition at line 62 of file cubicCurveseg.cxx.

References bezier_basis().

CubicCurveseg::CubicCurveseg int  order,
const float  knots[],
const LVecBase4f  cvs[]
 

Definition at line 74 of file cubicCurveseg.cxx.

References nurbs_basis().

CubicCurveseg::~CubicCurveseg  )  [virtual]
 

Definition at line 84 of file cubicCurveseg.cxx.


Member Function Documentation

void CubicCurveseg::bezier_basis const BezierSeg &  seg  ) 
 

Definition at line 179 of file cubicCurveseg.cxx.

References Bx, By, Bz, and rational.

Referenced by CubicCurveseg(), HermiteCurve::invalidate_cv(), and HermiteCurve::recompute_basis().

bool CubicCurveseg::compute_seg 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,
const LMatrix4f &  B,
const LMatrix4f &  Bi,
LMatrix4f &  G
[static]
 

Definition at line 510 of file cubicCurveseg.cxx.

References compute_seg_col(), invert, and RT_KEEP_ORIG.

Referenced by ClassicNurbsCurve::rebuild_curveseg().

void CubicCurveseg::evaluate_point const LVecBase4f &  tv,
LVecBase3f &  result
const [inline]
 

Definition at line 94 of file cubicCurveseg.h.

Referenced by get_pt().

void CubicCurveseg::evaluate_vector const LVecBase4f &  tv,
LVecBase3f &  result
const [inline]
 

Definition at line 101 of file cubicCurveseg.h.

Referenced by get_2ndtangent(), get_pt(), and get_tangent().

void CubicCurveseg::fillin DatagramIterator scan,
BamReader manager
[protected]
 

Reimplemented from ParametricCurve.

Definition at line 619 of file cubicCurveseg.cxx.

References Bw, Bx, By, Bz, ParametricCurve::fillin(), DatagramIterator::get_bool(), and rational.

Referenced by make_CubicCurveseg().

virtual TypeHandle CubicCurveseg::force_init_type void   )  [inline, virtual]
 

Reimplemented from ParametricCurve.

Definition at line 142 of file cubicCurveseg.h.

References ParametricCurve::get_class_type(), and ParametricCurve::init_type().

bool CubicCurveseg::get_2ndtangent float  t,
LVecBase3f &  tangent2
const [private, virtual]
 

Implements ParametricCurve.

Definition at line 135 of file cubicCurveseg.cxx.

References evaluate_vector(), and t.

bool CubicCurveseg::get_bezier_seg BezierSeg &  seg  )  const [virtual]
 

Definition at line 332 of file cubicCurveseg.cxx.

References Bw, Bx, By, and Bz.

TypeHandle CubicCurveseg::get_class_type void   )  [inline, static]
 

Reimplemented from ParametricCurve.

Definition at line 131 of file cubicCurveseg.h.

Referenced by register_with_read_factory().

bool CubicCurveseg::get_pt float  t,
LVecBase3f &  point,
LVecBase3f &  tangent
const [private, virtual]
 

Implements ParametricCurve.

Definition at line 121 of file cubicCurveseg.cxx.

References evaluate_point(), evaluate_vector(), and t.

bool CubicCurveseg::get_tangent float  t,
LVecBase3f &  tangent
const [private, virtual]
 

Implements ParametricCurve.

Definition at line 109 of file cubicCurveseg.cxx.

References evaluate_vector(), and t.

virtual TypeHandle CubicCurveseg::get_type void   )  const [inline, virtual]
 

Reimplemented from ParametricCurve.

Definition at line 139 of file cubicCurveseg.h.

References ParametricCurve::get_class_type().

void CubicCurveseg::hermite_basis const HermiteCurveCV cv0,
const HermiteCurveCV cv1,
float  tlength = 1.0f
 

Definition at line 149 of file cubicCurveseg.cxx.

References HermiteCurveCV::_in, HermiteCurveCV::_out, HermiteCurveCV::_p, Bx, By, Bz, and rational.

Referenced by HermiteCurve::invalidate_cv(), and HermiteCurve::recompute_basis().

void CubicCurveseg::init_type void   )  [inline, static]
 

Reimplemented from ParametricCurve.

Definition at line 134 of file cubicCurveseg.h.

References ParametricCurve::get_class_type(), ParametricCurve::init_type(), and register_type().

Referenced by ConfigureFn().

TypedWritable * CubicCurveseg::make_CubicCurveseg const FactoryParams params  )  [static, protected]
 

Definition at line 583 of file cubicCurveseg.cxx.

References fillin(), params, and parse_params().

Referenced by register_with_read_factory().

void CubicCurveseg::nurbs_basis int  order,
const float  knots[],
const LVecBase4f  cvs[]
 

Definition at line 302 of file cubicCurveseg.cxx.

References Bw, Bx, By, Bz, c, compute_nurbs_basis(), and rational.

Referenced by CubicCurveseg().

void CubicCurveseg::register_with_read_factory  )  [static]
 

Reimplemented from PandaNode.

Definition at line 573 of file cubicCurveseg.cxx.

References get_class_type(), BamReader::get_factory(), make_CubicCurveseg(), and Factory< TypedWritable >::register_factory().

Referenced by ConfigureFn().

void CubicCurveseg::write_datagram BamWriter manager,
Datagram me
[protected, virtual]
 

Reimplemented from ParametricCurve.

Definition at line 600 of file cubicCurveseg.cxx.

References Datagram::add_bool(), Bw, Bx, By, Bz, rational, and ParametricCurve::write_datagram().


Member Data Documentation

PUBLISHED CubicCurveseg::__pad0__ [private]
 

Reimplemented from ParametricCurve.

Definition at line 64 of file cubicCurveseg.h.

TypeHandle CubicCurveseg::_type_handle [static, private]
 

Reimplemented from ParametricCurve.

Definition at line 29 of file cubicCurveseg.cxx.

LVecBase4f CubicCurveseg::Bw
 

Definition at line 117 of file cubicCurveseg.h.

Referenced by CubicCurveseg(), fillin(), get_bezier_seg(), nurbs_basis(), and write_datagram().

LVecBase4f CubicCurveseg::Bx
 

Definition at line 117 of file cubicCurveseg.h.

Referenced by bezier_basis(), CubicCurveseg(), fillin(), get_bezier_seg(), hermite_basis(), nurbs_basis(), and write_datagram().

LVecBase4f CubicCurveseg::By
 

Definition at line 117 of file cubicCurveseg.h.

Referenced by bezier_basis(), CubicCurveseg(), fillin(), get_bezier_seg(), hermite_basis(), nurbs_basis(), and write_datagram().

LVecBase4f CubicCurveseg::Bz
 

Definition at line 117 of file cubicCurveseg.h.

Referenced by bezier_basis(), CubicCurveseg(), fillin(), get_bezier_seg(), hermite_basis(), nurbs_basis(), and write_datagram().

PUBLISHED LVecBase3f& point CubicCurveseg::const [private]
 

Reimplemented from PandaNode.

Definition at line 64 of file cubicCurveseg.h.

bool CubicCurveseg::rational
 

Definition at line 118 of file cubicCurveseg.h.

Referenced by bezier_basis(), CubicCurveseg(), fillin(), hermite_basis(), nurbs_basis(), and write_datagram().


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