Panda3D

- Main Page
- Packages
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions

# NurbsSurfaceResult Class Reference

The result of a NurbsSurfaceEvaluator. More...

Inheritance diagram for NurbsSurfaceResult:

List of all members.

## Public Member Functions
float | evalExtendedPoint (float u, float v, int d)
| Evaluates the surface in n-dimensional space according to the extended vertices associated with the surface in the indicated dimension.
bool | evalNormal (float u, float v, VBase3 normal)
| Computes the normal to the surface at the indicated point in parametric time.
bool | evalPoint (float u, float v, VBase3 point)
| Computes the point on the surface corresponding to the indicated value in parametric time.
float | evalSegmentExtendedPoint (int ui, int vi, float u, float v, int d)
| Evaluates the surface in n-dimensional space according to the extended vertices associated with the surface in the indicated dimension.
| evalSegmentNormal (int ui, int vi, float u, float v, VBase3 normal)
| As eval_segment_point, but computes the normal to the surface at the indicated point.
| evalSegmentPoint (int ui, int vi, float u, float v, VBase3 point)
| Evaluates the point on the surface corresponding to the indicated value in parametric time within the indicated surface segment.
float | getEndU ()
| Returns the last legal value of u on the surface.
float | getEndV ()
| Returns the last legal value of v on the surface.
int | getNumUSegments ()
| Returns the number of piecewise continuous segments within the surface in the U direction.
int | getNumVSegments ()
| Returns the number of piecewise continuous segments within the surface in the V direction.
float | getSegmentU (int ui, float u)
| Accepts a u value in the range [0, 1], and assumed to be relative to the indicated segment (as in eval_segment_point()), and returns the corresponding u value in the entire surface (as in eval_point()).
float | getSegmentV (int vi, float v)
| Accepts a v value in the range [0, 1], and assumed to be relative to the indicated segment (as in eval_segment_point()), and returns the corresponding v value in the entire surface (as in eval_point()).
float | getStartU ()
| Returns the first legal value of u on the surface.
float | getStartV ()
| Returns the first legal value of v on the surface.

## Detailed Description

The result of a NurbsSurfaceEvaluator.

This object represents a surface in a particular coordinate space. It can return the point and/or normal to the surface at any point.

## Member Function Documentation

float evalExtendedPoint | ( | float | u,
|  | float | v,
|  | int | d
| ) |  |

Evaluates the surface in n-dimensional space according to the extended vertices associated with the surface in the indicated dimension.

bool evalNormal | ( | float | u,
|  | float | v,
|  | VBase3 | normal
| ) |  |

Computes the normal to the surface at the indicated point in parametric time.

This normal vector will not necessarily be normalized, and could be zero. See also eval_point().

bool evalPoint | ( | float | u,
|  | float | v,
|  | VBase3 | point
| ) |  |

Computes the point on the surface corresponding to the indicated value in parametric time.

Returns true if the u, v values are valid, false otherwise.

float evalSegmentExtendedPoint | ( | int | ui,
|  | int | vi,
|  | float | u,
|  | float | v,
|  | int | d
| ) |  |

Evaluates the surface in n-dimensional space according to the extended vertices associated with the surface in the indicated dimension.

evalSegmentNormal | ( | int | ui,
|  | int | vi,
|  | float | u,
|  | float | v,
|  | VBase3 | normal
| ) |  |

As eval_segment_point, but computes the normal to the surface at the indicated point.

The normal vector will not necessarily be normalized, and could be zero.

evalSegmentPoint | ( | int | ui,
|  | int | vi,
|  | float | u,
|  | float | v,
|  | VBase3 | point
| ) |  |

Evaluates the point on the surface corresponding to the indicated value in parametric time within the indicated surface segment.

u and v should be in the range [0, 1].

The surface is internally represented as a number of connected (or possibly unconnected) piecewise continuous segments. The exact number of segments for a particular surface depends on the knot vector, and is returned by get_num_segments(). Normally, eval_point() is used to evaluate a point along the continuous surface, but when you care more about local continuity, you can use eval_segment_point() to evaluate the points along each segment.

float getEndU | ( |  | ) |

Returns the last legal value of u on the surface.

float getEndV | ( |  | ) |

Returns the last legal value of v on the surface.

int getNumUSegments | ( |  | ) |

Returns the number of piecewise continuous segments within the surface in the U direction.

This number is usually not important unless you plan to call eval_segment_point().

int getNumVSegments | ( |  | ) |

Returns the number of piecewise continuous segments within the surface in the V direction.

This number is usually not important unless you plan to call eval_segment_point().

float getSegmentU | ( | int | ui,
|  | float | u
| ) |  |

Accepts a u value in the range [0, 1], and assumed to be relative to the indicated segment (as in eval_segment_point()), and returns the corresponding u value in the entire surface (as in eval_point()).

float getSegmentV | ( | int | vi,
|  | float | v
| ) |  |

Accepts a v value in the range [0, 1], and assumed to be relative to the indicated segment (as in eval_segment_point()), and returns the corresponding v value in the entire surface (as in eval_point()).

float getStartU | ( |  | ) |

Returns the first legal value of u on the surface.

Usually this is 0.0.

float getStartV | ( |  | ) |

Returns the first legal value of v on the surface.

Usually this is 0.0.

All Classes Namespaces Functions Variables Enumerations Enumerator Properties