14 #ifndef NURBSCURVERESULT_H 15 #define NURBSCURVERESULT_H 44 INLINE PN_stdfloat get_start_t()
const;
45 INLINE PN_stdfloat get_end_t()
const;
47 INLINE
bool eval_point(PN_stdfloat t, LVecBase3 &point);
48 INLINE
bool eval_tangent(PN_stdfloat t, LVecBase3 &tangent);
49 INLINE PN_stdfloat eval_extended_point(PN_stdfloat t,
int d);
50 INLINE
bool eval_extended_points(PN_stdfloat t,
int d,
51 PN_stdfloat result[],
int num_values);
53 INLINE
int get_num_segments()
const;
54 void eval_segment_point(
int segment, PN_stdfloat t, LVecBase3 &point)
const;
55 void eval_segment_tangent(
int segment, PN_stdfloat t, LVecBase3 &tangent)
const;
56 PN_stdfloat eval_segment_extended_point(
int segment, PN_stdfloat t,
int d)
const;
57 void eval_segment_extended_points(
int segment, PN_stdfloat t,
int d,
58 PN_stdfloat result[],
int num_values)
const;
59 INLINE PN_stdfloat get_segment_t(
int segment, PN_stdfloat t)
const;
61 void adaptive_sample(PN_stdfloat tolerance);
62 INLINE
int get_num_samples()
const;
63 INLINE PN_stdfloat get_sample_t(
int n)
const;
64 INLINE
const LPoint3 &get_sample_point(
int n)
const;
65 MAKE_SEQ(get_sample_ts, get_num_samples, get_sample_t);
66 MAKE_SEQ(get_sample_points, get_num_samples, get_sample_point);
69 int find_segment(PN_stdfloat t);
70 int r_find_segment(PN_stdfloat t,
int top,
int bot)
const;
72 void r_adaptive_sample(
int segment, PN_stdfloat t0,
const LPoint3 &p0,
73 PN_stdfloat t1,
const LPoint3 &p1, PN_stdfloat tolerance_2);
74 static PN_stdfloat sqr_dist_to_line(
const LPoint3 &point,
const LPoint3 &origin,
83 typedef epvector<LMatrix4> ComposedGeom;
84 ComposedGeom _composed;
87 PN_stdfloat _last_from;
90 class AdaptiveSample {
92 INLINE AdaptiveSample(PN_stdfloat t,
const LPoint3 &point);
97 AdaptiveResult _adaptive_result;
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This represents a single control vertex in a NurbsEvaluator.
This encapsulates a series of matrices that are used to represent the sequential segments of a NurbsC...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A base class for all things that want to be reference-counted.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
The result of a NurbsCurveEvaluator.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.