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;
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
This encapsulates a series of matrices that are used to represent the sequential segments of a NurbsC...
This class is an abstraction for evaluating NURBS curves.
The result of a NurbsCurveEvaluator.
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.
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.