21 INLINE NurbsBasisVector::
31 INLINE NurbsBasisVector::
53 return _segments.size();
64 nassertr(!_segments.empty(), 0.0f);
65 return _segments.front()._from;
75 nassertr(!_segments.empty(), 0.0f);
76 return _segments.back()._to;
88 nassertr(segment >= 0 && segment < (
int)_segments.size(), 0);
89 return _segments[segment]._vertex_index;
99 nassertr(segment >= 0 && segment < (
int)_segments.size(), 0.0f);
100 return _segments[segment]._from;
110 nassertr(segment >= 0 && segment < (
int)_segments.size(), 0.0f);
111 return _segments[segment]._to;
125 return _segments[segment]._basis;
137 nassertr(segment >= 0 && segment < (
int)_segments.size(), 0.0f);
138 PN_stdfloat from = _segments[segment]._from;
139 PN_stdfloat to = _segments[segment]._to;
140 t = (t - from) / (to - from);
141 return min(max(t, (PN_stdfloat)0.0), (PN_stdfloat)1.0);
static const LMatrix4f & ident_mat()
Returns an identity matrix.
int get_num_segments() const
Returns the number of piecewise continuous segments in the curve.
PN_stdfloat get_from(int segment) const
Returns the t value of the beginning of this segment.
PN_stdfloat scale_t(int segment, PN_stdfloat t) const
Scales the value of t into the range [0, 1] corresponding to [from, to].
int get_order() const
Returns the order of the segments in the curve.
This is a 4-by-4 transform matrix.
PN_stdfloat get_start_t() const
Returns the first legal value of t on the curve.
const LMatrix4 & get_basis(int segment) const
Returns the basis matrix associated with the nth segment.
int get_vertex_index(int segment) const
Returns the vertex index of the nth segment.
PN_stdfloat get_end_t() const
Returns the last legal value of t on the curve.
PN_stdfloat get_to(int segment) const
Returns the t value of the end of this segment.