EggNurbsSurface
from panda3d.egg import EggNurbsSurface
- class EggNurbsSurface
Bases:
EggSurface
A parametric NURBS surface.
Inheritance diagram
- __init__(*args, **kwargs)
- getClassType()
C++ Interface: get_class_type()
- getCv()
C++ Interface: get_cv(EggNurbsSurface self, int ui, int vi)
- /**
Returns the control vertex at the indicate U, V position.
*/
- getNumCvs()
C++ Interface: get_num_cvs(EggNurbsSurface self)
- /**
Returns the total number of control vertices that should be defined for
the surface. This is determined by the number of knots and the order, in
each direction; it does not necessarily reflect the number of vertices that
have actually been added to the surface. (However, if the number of
vertices in the surface are wrong, the surface is invalid.)
*/
- getNumUCvs()
C++ Interface: get_num_u_cvs(EggNurbsSurface self)
- /**
Returns the number of control vertices that should be present in the U
direction. This is determined by the number of knots and the order; it
does not necessarily reflect the number of vertices that have actually been
added to the surface. (However, if the number of vertices in the surface
are wrong, the surface is invalid.)
*/
- getNumUKnots()
C++ Interface: get_num_u_knots(EggNurbsSurface self)
- /**
Returns the number of knots in the U direction.
*/
- getNumVCvs()
C++ Interface: get_num_v_cvs(EggNurbsSurface self)
- /**
Returns the number of control vertices that should be present in the V
direction. This is determined by the number of knots and the order; it
does not necessarily reflect the number of vertices that have actually been
added to the surface. (However, if the number of vertices in the surface
are wrong, the surface is invalid.)
*/
- getNumVKnots()
C++ Interface: get_num_v_knots(EggNurbsSurface self)
- /**
Returns the number of knots in the V direction.
*/
- getUDegree()
C++ Interface: get_u_degree(EggNurbsSurface self)
- /**
Returns the degree of the surface in the U direction. For a typical NURBS,
the degree is 3.
*/
- getUIndex()
C++ Interface: get_u_index(EggNurbsSurface self, int vertex_index)
- /**
Returns the U index number of the given vertex within the EggPrimitive’s
linear list of vertices. An EggNurbsSurface maps a linear list of vertices
to its 2-d mesh; this returns the U index number that corresponds to the
nth vertex in the list.
*/
- getUKnot()
C++ Interface: get_u_knot(EggNurbsSurface self, int k)
- /**
Returns the nth knot value defined in the U direction.
*/
- getUKnots()
- getUOrder()
C++ Interface: get_u_order(EggNurbsSurface self)
- /**
Returns the order of the surface in the U direction. The order is the
degree of the NURBS equation plus 1; for a typical NURBS, the order is 4.
With this implementation of NURBS, the order must be in the range [1, 4].
*/
- getVDegree()
C++ Interface: get_v_degree(EggNurbsSurface self)
- /**
Returns the degree of the surface in the V direction. for a typical NURBS,
the degree is 3.
*/
- getVIndex()
C++ Interface: get_v_index(EggNurbsSurface self, int vertex_index)
- /**
Returns the V index number of the given vertex within the EggPrimitive’s
linear list of vertices. An EggNurbsSurface maps a linear list of vertices
to its 2-d mesh; this returns the V index number that corresponds to the
nth vertex in the list.
*/
- getVKnot()
C++ Interface: get_v_knot(EggNurbsSurface self, int k)
- /**
Returns the nth knot value defined in the V direction.
*/
- getVKnots()
- getVOrder()
C++ Interface: get_v_order(EggNurbsSurface self)
- /**
Returns the order of the surface in the V direction. The order is the
degree of the NURBS equation plus 1; for a typical NURBS, the order is 4.
With this implementation of NURBS, the order must be in the range [1, 4].
*/
- getVertexIndex()
C++ Interface: get_vertex_index(EggNurbsSurface self, int ui, int vi)
- /**
Returns the index number within the EggPrimitive’s list of the control
vertex at position ui, vi.
*/
- get_class_type()
C++ Interface: get_class_type()
- get_cv()
C++ Interface: get_cv(EggNurbsSurface self, int ui, int vi)
- /**
Returns the control vertex at the indicate U, V position.
*/
- get_num_cvs()
C++ Interface: get_num_cvs(EggNurbsSurface self)
- /**
Returns the total number of control vertices that should be defined for
the surface. This is determined by the number of knots and the order, in
each direction; it does not necessarily reflect the number of vertices that
have actually been added to the surface. (However, if the number of
vertices in the surface are wrong, the surface is invalid.)
*/
- get_num_u_cvs()
C++ Interface: get_num_u_cvs(EggNurbsSurface self)
- /**
Returns the number of control vertices that should be present in the U
direction. This is determined by the number of knots and the order; it
does not necessarily reflect the number of vertices that have actually been
added to the surface. (However, if the number of vertices in the surface
are wrong, the surface is invalid.)
*/
- get_num_u_knots()
C++ Interface: get_num_u_knots(EggNurbsSurface self)
- /**
Returns the number of knots in the U direction.
*/
- get_num_v_cvs()
C++ Interface: get_num_v_cvs(EggNurbsSurface self)
- /**
Returns the number of control vertices that should be present in the V
direction. This is determined by the number of knots and the order; it
does not necessarily reflect the number of vertices that have actually been
added to the surface. (However, if the number of vertices in the surface
are wrong, the surface is invalid.)
*/
- get_num_v_knots()
C++ Interface: get_num_v_knots(EggNurbsSurface self)
- /**
Returns the number of knots in the V direction.
*/
- get_u_degree()
C++ Interface: get_u_degree(EggNurbsSurface self)
- /**
Returns the degree of the surface in the U direction. For a typical NURBS,
the degree is 3.
*/
- get_u_index()
C++ Interface: get_u_index(EggNurbsSurface self, int vertex_index)
- /**
Returns the U index number of the given vertex within the EggPrimitive’s
linear list of vertices. An EggNurbsSurface maps a linear list of vertices
to its 2-d mesh; this returns the U index number that corresponds to the
nth vertex in the list.
*/
- get_u_knot()
C++ Interface: get_u_knot(EggNurbsSurface self, int k)
- /**
Returns the nth knot value defined in the U direction.
*/
- get_u_knots()
- get_u_order()
C++ Interface: get_u_order(EggNurbsSurface self)
- /**
Returns the order of the surface in the U direction. The order is the
degree of the NURBS equation plus 1; for a typical NURBS, the order is 4.
With this implementation of NURBS, the order must be in the range [1, 4].
*/
- get_v_degree()
C++ Interface: get_v_degree(EggNurbsSurface self)
- /**
Returns the degree of the surface in the V direction. for a typical NURBS,
the degree is 3.
*/
- get_v_index()
C++ Interface: get_v_index(EggNurbsSurface self, int vertex_index)
- /**
Returns the V index number of the given vertex within the EggPrimitive’s
linear list of vertices. An EggNurbsSurface maps a linear list of vertices
to its 2-d mesh; this returns the V index number that corresponds to the
nth vertex in the list.
*/
- get_v_knot()
C++ Interface: get_v_knot(EggNurbsSurface self, int k)
- /**
Returns the nth knot value defined in the V direction.
*/
- get_v_knots()
- get_v_order()
C++ Interface: get_v_order(EggNurbsSurface self)
- /**
Returns the order of the surface in the V direction. The order is the
degree of the NURBS equation plus 1; for a typical NURBS, the order is 4.
With this implementation of NURBS, the order must be in the range [1, 4].
*/
- get_vertex_index()
C++ Interface: get_vertex_index(EggNurbsSurface self, int ui, int vi)
- /**
Returns the index number within the EggPrimitive’s list of the control
vertex at position ui, vi.
*/
- isClosedU()
C++ Interface: is_closed_u(EggNurbsSurface self)
- /**
Returns true if the surface appears to be closed in the U direction. Since
the Egg syntax does not provide a means for explicit indication of closure,
this has to be guessed at by examining the surface itself.
*/
- isClosedV()
C++ Interface: is_closed_v(EggNurbsSurface self)
- /**
Returns true if the surface appears to be closed in the V direction. Since
the Egg syntax does not provide a means for explicit indication of closure,
this has to be guessed at by examining the surface itself.
*/
- isValid()
C++ Interface: is_valid(EggNurbsSurface self)
- /**
Returns true if the NURBS parameters are all internally consistent (e.g.
it has the right number of vertices to match its number of knots and order
in each dimension), or false otherwise.
*/
- is_closed_u()
C++ Interface: is_closed_u(EggNurbsSurface self)
- /**
Returns true if the surface appears to be closed in the U direction. Since
the Egg syntax does not provide a means for explicit indication of closure,
this has to be guessed at by examining the surface itself.
*/
- is_closed_v()
C++ Interface: is_closed_v(EggNurbsSurface self)
- /**
Returns true if the surface appears to be closed in the V direction. Since
the Egg syntax does not provide a means for explicit indication of closure,
this has to be guessed at by examining the surface itself.
*/
- is_valid()
C++ Interface: is_valid(EggNurbsSurface self)
- /**
Returns true if the NURBS parameters are all internally consistent (e.g.
it has the right number of vertices to match its number of knots and order
in each dimension), or false otherwise.
*/
- setCv()
C++ Interface: set_cv(const EggNurbsSurface self, int ui, int vi, EggVertex vertex)
- /**
Redefines the control vertex associated with a particular u, v coordinate
pair. This is just a shorthand to access the EggPrimitive’s normal vertex
assignment for a 2-d control vertex.
*/
- setNumUKnots()
C++ Interface: set_num_u_knots(const EggNurbsSurface self, int num)
- /**
Directly changes the number of knots in the U direction. This will either
add zero-valued knots onto the end, or truncate knot values from the end,
depending on whether the list is being increased or decreased. If
possible, it is preferable to use the setup() method instead of directly
setting the number of knots, as this may result in an invalid surface.
*/
- setNumVKnots()
C++ Interface: set_num_v_knots(const EggNurbsSurface self, int num)
- /**
Directly changes the number of knots in the V direction. This will either
add zero-valued knots onto the end, or truncate knot values from the end,
depending on whether the list is being increased or decreased. If
possible, it is preferable to use the setup() method instead of directly
setting the number of knots, as this may result in an invalid surface.
*/
- setUKnot()
C++ Interface: set_u_knot(const EggNurbsSurface self, int k, double value)
- /**
Resets the value of the indicated knot as indicated. k must be in the
range 0 <= k < get_num_u_knots(), and the value must be in the range
get_u_knot(k - 1) <= value <= get_u_knot(k + 1).
*/
- setUOrder()
C++ Interface: set_u_order(const EggNurbsSurface self, int u_order)
- /**
Directly changes the order in the U direction to the indicated value (which
must be an integer in the range 1 <= u_order <= 4). If possible, it is
preferable to use the setup() method instead of this method, since changing
the order directly may result in an invalid surface.
*/
- setVKnot()
C++ Interface: set_v_knot(const EggNurbsSurface self, int k, double value)
- /**
Resets the value of the indicated knot as indicated. k must be in the
range 0 <= k < get_num_v_knots(), and the value must be in the range
get_v_knot(k - 1) <= value <= get_v_knot(k + 1).
*/
- setVOrder()
C++ Interface: set_v_order(const EggNurbsSurface self, int v_order)
- /**
Directly changes the order in the V direction to the indicated value (which
must be an integer in the range 1 <= v_order <= 4). If possible, it is
preferable to use the setup() method instead of this method, since changing
the order directly may result in an invalid surface.
*/
- set_cv()
C++ Interface: set_cv(const EggNurbsSurface self, int ui, int vi, EggVertex vertex)
- /**
Redefines the control vertex associated with a particular u, v coordinate
pair. This is just a shorthand to access the EggPrimitive’s normal vertex
assignment for a 2-d control vertex.
*/
- set_num_u_knots()
C++ Interface: set_num_u_knots(const EggNurbsSurface self, int num)
- /**
Directly changes the number of knots in the U direction. This will either
add zero-valued knots onto the end, or truncate knot values from the end,
depending on whether the list is being increased or decreased. If
possible, it is preferable to use the setup() method instead of directly
setting the number of knots, as this may result in an invalid surface.
*/
- set_num_v_knots()
C++ Interface: set_num_v_knots(const EggNurbsSurface self, int num)
- /**
Directly changes the number of knots in the V direction. This will either
add zero-valued knots onto the end, or truncate knot values from the end,
depending on whether the list is being increased or decreased. If
possible, it is preferable to use the setup() method instead of directly
setting the number of knots, as this may result in an invalid surface.
*/
- set_u_knot()
C++ Interface: set_u_knot(const EggNurbsSurface self, int k, double value)
- /**
Resets the value of the indicated knot as indicated. k must be in the
range 0 <= k < get_num_u_knots(), and the value must be in the range
get_u_knot(k - 1) <= value <= get_u_knot(k + 1).
*/
- set_u_order()
C++ Interface: set_u_order(const EggNurbsSurface self, int u_order)
- /**
Directly changes the order in the U direction to the indicated value (which
must be an integer in the range 1 <= u_order <= 4). If possible, it is
preferable to use the setup() method instead of this method, since changing
the order directly may result in an invalid surface.
*/
- set_v_knot()
C++ Interface: set_v_knot(const EggNurbsSurface self, int k, double value)
- /**
Resets the value of the indicated knot as indicated. k must be in the
range 0 <= k < get_num_v_knots(), and the value must be in the range
get_v_knot(k - 1) <= value <= get_v_knot(k + 1).
*/
- set_v_order()
C++ Interface: set_v_order(const EggNurbsSurface self, int v_order)
- /**
Directly changes the order in the V direction to the indicated value (which
must be an integer in the range 1 <= v_order <= 4). If possible, it is
preferable to use the setup() method instead of this method, since changing
the order directly may result in an invalid surface.
*/
- setup()
C++ Interface: setup(const EggNurbsSurface self, int u_order, int v_order, int num_u_knots, int num_v_knots)
- /**
Prepares a new surface definition with the indicated order and number of
knots in each dimension. This also implies a particular number of vertices
in each dimension as well (the number of knots minus the order), but it is
up to the user to add the correct number of vertices to the surface by
repeatedly calling push_back().
*/