Panda3D
|
This represents a single control vertex in a NurbsEvaluator. More...
#include "nurbsVertex.h"
Public Member Functions | |
NurbsVertex (const NurbsVertex ©) | |
PN_stdfloat | get_extended_vertex (int d) const |
Returns an n-dimensional vertex value. | |
NodePath | get_space (const NodePath &rel_to) const |
const LVecBase4 & | get_vertex () const |
void | operator= (const NurbsVertex ©) |
void | set_extended_vertex (int d, PN_stdfloat value) |
Sets an n-dimensional vertex value. | |
void | set_space (const NodePath &space) |
Sets the space of this vertex as a fixed NodePath. | |
void | set_space (const std::string &space) |
Sets the space of this vertex as a relative path from the rel_to node. | |
void | set_vertex (const LVecBase4 &vertex) |
This represents a single control vertex in a NurbsEvaluator.
It may be relative to a particular coordinate space; or its coordinate space may be unspecified.
This is not related to NurbsCurve, CubicCurveseg or any of the ParametricCurve-derived objects in this module. It is a completely parallel implementation of NURBS curves, and will probably eventually replace the whole ParametricCurve class hierarchy.
Definition at line 32 of file nurbsVertex.h.
|
inline |
Definition at line 17 of file nurbsVertex.I.
|
inline |
Definition at line 25 of file nurbsVertex.I.
|
inline |
Definition at line 46 of file nurbsVertex.I.
PN_stdfloat NurbsVertex::get_extended_vertex | ( | int | d | ) | const |
Returns an n-dimensional vertex value.
See set_extended_vertex(). This returns the value set for the indicated dimension, or 0.0 if nothing has been set.
Definition at line 42 of file nurbsVertex.cxx.
Referenced by NurbsCurveResult::eval_segment_extended_point(), NurbsSurfaceResult::eval_segment_extended_point(), NurbsCurveResult::eval_segment_extended_points(), NurbsSurfaceResult::eval_segment_extended_points(), and NurbsSurfaceEvaluator::get_extended_vertex().
Definition at line 87 of file nurbsVertex.I.
|
inline |
Definition at line 61 of file nurbsVertex.I.
|
inline |
Definition at line 36 of file nurbsVertex.I.
void NurbsVertex::set_extended_vertex | ( | int | d, |
PN_stdfloat | value ) |
Sets an n-dimensional vertex value.
This allows definition of a NURBS surface or curve in a sparse n-dimensional space, typically used for associating additional properties (like color or joint membership) with each vertex of a surface.
The value d is an arbitrary integer value and specifies the dimension of question for this particular vertex. Any number of dimensions may be specified, and they need not be consecutive. If a value for a given dimension is not specified, is it implicitly 0.0.
The value is implicitly scaled by the homogenous weight value–that is, the fourth component of the value passed to set_vertex(). This means the ordinary vertex must be set first, before the extended vertices can be set.
Definition at line 32 of file nurbsVertex.cxx.
Referenced by NurbsSurfaceEvaluator::set_extended_vertex(), NurbsCurveEvaluator::set_extended_vertices(), and NurbsSurfaceEvaluator::set_extended_vertices().
|
inline |
Sets the space of this vertex as a fixed NodePath.
Definition at line 69 of file nurbsVertex.I.
Referenced by NurbsSurfaceEvaluator::set_vertex_space(), and NurbsSurfaceEvaluator::set_vertex_space().
|
inline |
Sets the space of this vertex as a relative path from the rel_to node.
Definition at line 78 of file nurbsVertex.I.
|
inline |
Definition at line 53 of file nurbsVertex.I.