|
@@ -82,11 +82,6 @@ class NurbsCurve;
|
|
|
////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////
|
|
|
class EXPCL_PANDA ParametricCurve : public TypedWriteableReferenceCount,
|
|
class EXPCL_PANDA ParametricCurve : public TypedWriteableReferenceCount,
|
|
|
public Namable {
|
|
public Namable {
|
|
|
-
|
|
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
|
|
-// Member functions visible to Scheme
|
|
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
|
|
-
|
|
|
|
|
PUBLISHED:
|
|
PUBLISHED:
|
|
|
virtual bool is_valid() const;
|
|
virtual bool is_valid() const;
|
|
|
|
|
|
|
@@ -103,6 +98,7 @@ PUBLISHED:
|
|
|
double compute_t(double start_t, double length_offset, double guess,
|
|
double compute_t(double start_t, double length_offset, double guess,
|
|
|
double threshold) const;
|
|
double threshold) const;
|
|
|
|
|
|
|
|
|
|
+ bool convert_to_hermite(HermiteCurve &hc) const;
|
|
|
bool convert_to_nurbs(NurbsCurve &nc) const;
|
|
bool convert_to_nurbs(NurbsCurve &nc) const;
|
|
|
|
|
|
|
|
void ascii_draw() const;
|
|
void ascii_draw() const;
|
|
@@ -113,9 +109,6 @@ public:
|
|
|
virtual bool get_pt(double t, LVector3f &point, LVector3f &tangent) const=0;
|
|
virtual bool get_pt(double t, LVector3f &point, LVector3f &tangent) const=0;
|
|
|
virtual bool get_2ndtangent(double t, LVector3f &tangent2) const=0;
|
|
virtual bool get_2ndtangent(double t, LVector3f &tangent2) const=0;
|
|
|
|
|
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
|
|
-// Member functions not visible to Scheme
|
|
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
|
|
public:
|
|
public:
|
|
|
|
|
|
|
|
struct BezierSeg {
|
|
struct BezierSeg {
|
|
@@ -181,11 +174,6 @@ private:
|
|
|
// definable.
|
|
// definable.
|
|
|
////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////
|
|
|
class EXPCL_PANDA PiecewiseCurve : public ParametricCurve {
|
|
class EXPCL_PANDA PiecewiseCurve : public ParametricCurve {
|
|
|
-public:
|
|
|
|
|
-
|
|
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
|
|
-// Member functions visible to Scheme
|
|
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
|
|
PUBLISHED:
|
|
PUBLISHED:
|
|
|
virtual bool is_valid() const;
|
|
virtual bool is_valid() const;
|
|
|
virtual double get_max_t() const;
|
|
virtual double get_max_t() const;
|
|
@@ -203,9 +191,6 @@ PUBLISHED:
|
|
|
float px, float py, float pz,
|
|
float px, float py, float pz,
|
|
|
float tx, float ty, float tz);
|
|
float tx, float ty, float tz);
|
|
|
|
|
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
|
|
-// Member functions not visible to Scheme
|
|
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
|
|
public:
|
|
public:
|
|
|
PiecewiseCurve();
|
|
PiecewiseCurve();
|
|
|
|
|
|
|
@@ -302,20 +287,12 @@ private:
|
|
|
// in a subclass (for instance, HermiteCurve).
|
|
// in a subclass (for instance, HermiteCurve).
|
|
|
////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////
|
|
|
class EXPCL_PANDA CubicCurveseg : public ParametricCurve {
|
|
class EXPCL_PANDA CubicCurveseg : public ParametricCurve {
|
|
|
-
|
|
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
|
|
-// Member functions visible to Scheme
|
|
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
|
|
-
|
|
|
|
|
PUBLISHED:
|
|
PUBLISHED:
|
|
|
virtual bool get_point(double t, LVector3f &point) const;
|
|
virtual bool get_point(double t, LVector3f &point) const;
|
|
|
virtual bool get_tangent(double t, LVector3f &tangent) const;
|
|
virtual bool get_tangent(double t, LVector3f &tangent) const;
|
|
|
virtual bool get_pt(double t, LVector3f &point, LVector3f &tangent) const;
|
|
virtual bool get_pt(double t, LVector3f &point, LVector3f &tangent) const;
|
|
|
virtual bool get_2ndtangent(double t, LVector3f &tangent2) const;
|
|
virtual bool get_2ndtangent(double t, LVector3f &tangent2) const;
|
|
|
|
|
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
|
|
-// Member functions not visible to Scheme
|
|
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
|
|
public:
|
|
public:
|
|
|
CubicCurveseg();
|
|
CubicCurveseg();
|
|
|
CubicCurveseg(const LMatrix4f &basis);
|
|
CubicCurveseg(const LMatrix4f &basis);
|