#include "pbrt.h"#include "shape.h"#include "geometry.h"#include "dynload.h"#include "texture.h"Go to the source code of this file.
Classes | |
| class | NURBS |
| struct | Homogeneous3 |
Defines | |
| #define | VN(u, v) ((v)*diceu+(u)) |
Functions | |
| static int | KnotOffset (const float *knot, int order, int np, float t) |
| static Homogeneous3 | NURBSEvaluate (int order, const float *knot, const Homogeneous3 *cp, int np, int cpStride, float t, Vector *deriv=NULL) |
| static Point | NURBSEvaluateSurface (int uOrder, const float *uKnot, int ucp, float u, int vOrder, const float *vKnot, int vcp, float v, const Homogeneous3 *cp, Vector *dPdu, Vector *dPdv) |
| DLLEXPORT Shape * | CreateShape (const Transform &o2w, bool reverseOrientation, const ParamSet ¶ms) |
| #define VN | ( | u, | |||
| v | ) | ((v)*diceu+(u)) |
Referenced by NURBS::Refine().
| DLLEXPORT Shape* CreateShape | ( | const Transform & | o2w, | |
| bool | reverseOrientation, | |||
| const ParamSet & | params | |||
| ) |
Definition at line 299 of file nurbs.cpp.
References Assert, ParamSet::FindFloat(), ParamSet::FindOneFloat(), ParamSet::FindOneInt(), ParamSet::FindPoint(), NURBS::isHomogeneous, NURBS::nu, NURBS::NURBS(), NURBS::nv, NURBS::P, NURBS::uorder, and NURBS::vorder.
| static int KnotOffset | ( | const float * | knot, | |
| int | order, | |||
| int | np, | |||
| float | t | |||
| ) | [static] |
| static Homogeneous3 NURBSEvaluate | ( | int | order, | |
| const float * | knot, | |||
| const Homogeneous3 * | cp, | |||
| int | np, | |||
| int | cpStride, | |||
| float | t, | |||
| Vector * | deriv = NULL | |||
| ) | [static] |
Definition at line 74 of file nurbs.cpp.
References KnotOffset(), Homogeneous3::w, Homogeneous3::x, Homogeneous3::y, and Homogeneous3::z.
Referenced by NURBSEvaluateSurface().
| static Point NURBSEvaluateSurface | ( | int | uOrder, | |
| const float * | uKnot, | |||
| int | ucp, | |||
| float | u, | |||
| int | vOrder, | |||
| const float * | vKnot, | |||
| int | vcp, | |||
| float | v, | |||
| const Homogeneous3 * | cp, | |||
| Vector * | dPdu, | |||
| Vector * | dPdv | |||
| ) | [static] |
Definition at line 125 of file nurbs.cpp.
References KnotOffset(), NURBSEvaluate(), Homogeneous3::w, Homogeneous3::x, Homogeneous3::y, and Homogeneous3::z.
Referenced by NURBS::Refine().
1.5.6