Panda3D
nurbsVertex.h
Go to the documentation of this file.
1 /**
2  * PANDA 3D SOFTWARE
3  * Copyright (c) Carnegie Mellon University. All rights reserved.
4  *
5  * All use of this software is subject to the terms of the revised BSD
6  * license. You should have received a copy of this license along
7  * with this source code in a file named "LICENSE."
8  *
9  * @file nurbsVertex.h
10  * @author drose
11  * @date 2002-12-03
12  */
13 
14 #ifndef NURBSVERTEX_H
15 #define NURBSVERTEX_H
16 
17 #include "pandabase.h"
18 #include "luse.h"
19 #include "nodePath.h"
20 #include "pmap.h"
21 
22 /**
23  * This represents a single control vertex in a NurbsEvaluator. It may be
24  * relative to a particular coordinate space; or its coordinate space may be
25  * unspecified.
26  *
27  * This is not related to NurbsCurve, CubicCurveseg or any of the
28  * ParametricCurve-derived objects in this module. It is a completely
29  * parallel implementation of NURBS curves, and will probably eventually
30  * replace the whole ParametricCurve class hierarchy.
31  */
32 class EXPCL_PANDA_PARAMETRICS NurbsVertex {
33 public:
34  INLINE NurbsVertex();
35  INLINE NurbsVertex(const NurbsVertex &copy);
36  INLINE void operator = (const NurbsVertex &copy);
37  INLINE ~NurbsVertex();
38 
39  INLINE void set_vertex(const LVecBase4 &vertex);
40  INLINE const LVecBase4 &get_vertex() const;
41 
42  INLINE void set_space(const NodePath &space);
43  INLINE void set_space(const std::string &space);
44  INLINE NodePath get_space(const NodePath &rel_to) const;
45 
46  void set_extended_vertex(int d, PN_stdfloat value);
47  PN_stdfloat get_extended_vertex(int d) const;
48 
49 private:
50  LVecBase4 _vertex;
51  NodePath _space;
52  std::string _space_path;
54  Extended _extended;
55 };
56 
57 #include "nurbsVertex.I"
58 
59 #endif
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 represents a single control vertex in a NurbsEvaluator.
Definition: nurbsVertex.h:32
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
Definition: nodePath.h:161