14 #ifndef NURBSCURVEEVALUATOR_H 15 #define NURBSCURVEEVALUATOR_H 44 INLINE
void set_order(
int order);
45 INLINE
int get_order()
const;
47 void reset(
int num_vertices);
49 INLINE
int get_num_vertices()
const;
50 INLINE
void set_vertex(
int i,
const LVecBase4 &vertex);
51 INLINE
void set_vertex(
int i,
const LVecBase3 &vertex, PN_stdfloat weight = 1.0);
52 INLINE
const LVecBase4 &get_vertex(
int i)
const;
53 INLINE LVecBase4 get_vertex(
int i,
const NodePath &rel_to)
const;
54 MAKE_SEQ(get_vertices, get_num_vertices, get_vertex);
56 INLINE
void set_vertex_space(
int i,
const NodePath &space);
57 INLINE
void set_vertex_space(
int i,
const std::string &space);
60 INLINE
void set_extended_vertex(
int i,
int d, PN_stdfloat value);
61 INLINE PN_stdfloat get_extended_vertex(
int i,
int d)
const;
62 void set_extended_vertices(
int i,
int d,
63 const PN_stdfloat values[],
int num_values);
65 INLINE
int get_num_knots()
const;
66 void set_knot(
int i, PN_stdfloat knot);
67 PN_stdfloat get_knot(
int i)
const;
68 MAKE_SEQ(get_knots, get_num_knots, get_knot);
69 void normalize_knots();
71 INLINE
int get_num_segments()
const;
75 const LMatrix4 &mat)
const;
77 void output(std::ostream &out)
const;
80 typedef epvector<LVecBase4> Vert4Array;
82 void get_vertices(Vert4Array &verts,
const NodePath &rel_to)
const;
86 void recompute_knots();
87 void recompute_basis();
91 typedef epvector<NurbsVertex> Vertices;
95 typedef vector_stdfloat Knots;
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This class is an abstraction for evaluating NURBS curves.
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.
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.
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.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
The result of a NurbsCurveEvaluator.
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...