15 #ifndef NURBSCURVEEVALUATOR_H
16 #define NURBSCURVEEVALUATOR_H
18 #include "pandabase.h"
19 #include "nurbsBasisVector.h"
20 #include "nurbsCurveResult.h"
21 #include "nurbsVertex.h"
22 #include "pointerTo.h"
23 #include "vector_stdfloat.h"
27 #include "referenceCount.h"
49 INLINE
void set_order(
int order);
50 INLINE
int get_order()
const;
52 void reset(
int num_vertices);
54 INLINE
int get_num_vertices()
const;
55 INLINE
void set_vertex(
int i,
const LVecBase4 &vertex);
56 INLINE
void set_vertex(
int i,
const LVecBase3 &vertex, PN_stdfloat weight = 1.0);
57 INLINE
const LVecBase4 &get_vertex(
int i)
const;
59 MAKE_SEQ(get_vertices, get_num_vertices, get_vertex);
61 INLINE
void set_vertex_space(
int i,
const NodePath &space);
62 INLINE
void set_vertex_space(
int i,
const string &space);
65 INLINE
void set_extended_vertex(
int i,
int d, PN_stdfloat value);
66 INLINE PN_stdfloat get_extended_vertex(
int i,
int d)
const;
67 void set_extended_vertices(
int i,
int d,
68 const PN_stdfloat values[],
int num_values);
70 INLINE
int get_num_knots()
const;
71 void set_knot(
int i, PN_stdfloat knot);
72 PN_stdfloat get_knot(
int i)
const;
73 MAKE_SEQ(get_knots, get_num_knots, get_knot);
74 void normalize_knots();
76 INLINE
int get_num_segments()
const;
82 void output(ostream &out)
const;
85 typedef epvector<LVecBase4> Vert4Array;
87 void get_vertices(Vert4Array &verts,
const NodePath &rel_to)
const;
91 void recompute_knots();
92 void recompute_basis();
96 typedef epvector<NurbsVertex> Vertices;
100 typedef vector_stdfloat Knots;
109 #include "nurbsCurveEvaluator.I"
This is the base class for all three-component vectors and points.
This class is an abstraction for evaluating NURBS curves.
This encapsulates a series of matrices that are used to represent the sequential segments of a NurbsC...
This is a 4-by-4 transform matrix.
This is the base class for all three-component vectors and points.
A base class for all things that want to be reference-counted.
The result of a NurbsCurveEvaluator.
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...