17 INLINE NurbsBasisVector::
25 INLINE NurbsBasisVector::
42 return _segments.size();
50 nassertr(!_segments.empty(), 0.0f);
51 return _segments.front()._from;
59 nassertr(!_segments.empty(), 0.0f);
60 return _segments.back()._to;
70 nassertr(segment >= 0 && segment < (
int)_segments.size(), 0);
71 return _segments[segment]._vertex_index;
79 nassertr(segment >= 0 && segment < (
int)_segments.size(), 0.0f);
80 return _segments[segment]._from;
88 nassertr(segment >= 0 && segment < (
int)_segments.size(), 0.0f);
89 return _segments[segment]._to;
99 nassertr(segment >= 0 && segment < (
int)_segments.size(), LMatrix4::ident_mat());
100 return _segments[segment]._basis;
109 nassertr(segment >= 0 && segment < (
int)_segments.size(), 0.0f);
110 PN_stdfloat from = _segments[segment]._from;
111 PN_stdfloat to = _segments[segment]._to;
112 t = (t - from) / (to - from);
113 return std::min(std::max(t, (PN_stdfloat)0.0), (PN_stdfloat)1.0);