NurbsSurfaceResult Class Reference

The result of a NurbsSurfaceEvaluator. More...

Inheritance diagram for NurbsSurfaceResult:

## Public Member Functions | |

__init__ (const NurbsSurfaceResult) | |

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. More... | |

bool | evalExtendedPoints (float u, float v, int d, PNStdfloat[] result, int num_values) |

Simultaneously performs eval_extended_point on a contiguous sequence of dimensions. More... | |

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

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

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

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

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. More... | |

evalSegmentExtendedPoints (int ui, int vi, float u, float v, int d, PNStdfloat[] result, int num_values) | |

Simultaneously performs eval_extended_point on a contiguous sequence of dimensions. More... | |

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

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

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

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

float | getEndU () |

Returns the last legal value of u on the surface. More... | |

float | getEndV () |

Returns the last legal value of v on the surface. More... | |

int | getNumUSegments () |

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

int | getNumVSegments () |

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

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()). More... | |

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()). More... | |

float | getStartU () |

Returns the first legal value of u on the surface. More... | |

float | getStartV () |

Returns the first legal value of v on the surface. More... | |

Public Member Functions inherited from ReferenceCount | |

int | getRefCount () |

Returns the current reference count. More... | |

ref () | |

Explicitly increments the reference count. More... | |

bool | testRefCountIntegrity () |

Does some easy checks to make sure that the reference count isn't completely bogus. More... | |

bool | testRefCountNonzero () |

Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More... | |

bool | unref () |

Explicitly decrements the reference count. More... | |

## Additional Inherited Members | |

Static Public Member Functions inherited from ReferenceCount | |

static TypeHandle | getClassType () |

Public Attributes inherited from ReferenceCount | |

int | ref_count |

The current reference count. More... | |

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.

__init__ | ( | const | NurbsSurfaceResult | ) |

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 evalExtendedPoints | ( | float | u, |

float | v, |
||

int | d, |
||

PNStdfloat [] | result, |
||

int | num_values |
||

) |

Simultaneously performs eval_extended_point on a contiguous sequence of dimensions.

The dimensions evaluated are d through (d + num_values - 1); the results are filled into the num_values elements in the indicated result array.

bool evalNormal | ( | float | u, |

float | v, |
||

LVecBase3 | 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, |
||

LVecBase3 | 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 |
||

) |

evalSegmentExtendedPoints | ( | int | ui, |

int | vi, |
||

float | u, |
||

float | v, |
||

int | d, |
||

PNStdfloat [] | result, |
||

int | num_values |
||

) |

Simultaneously performs eval_extended_point on a contiguous sequence of dimensions.

The dimensions evaluated are d through (d + num_values - 1); the results are filled into the num_values elements in the indicated result array.

evalSegmentNormal | ( | int | ui, |

int | vi, |
||

float | u, |
||

float | v, |
||

LVecBase3 | 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, |
||

LVecBase3 | 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.

Generated on Wed Jan 23 2019 21:39:12 for Panda3D by 1.8.15