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;
This encapsulates a series of matrices that are used to represent the sequential segments of a NurbsC...
The result of a NurbsCurveEvaluator.
This represents a single control vertex in a NurbsEvaluator.
A base class for all things that want to be reference-counted.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.