#include "stdafx.h"
#include "shapes/nurbs.h"
#include "shapes/trianglemesh.h"
#include "paramset.h"
#include "texture.h"
Go to the source code of this file.
Classes | |
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) |
NURBS * | CreateNURBSShape (const Transform *o2w, const Transform *w2o, bool ReverseOrientation, const ParamSet ¶ms) |
#define VN | ( | u, | |||
v | ) | ((v)*diceu+(u)) |
Referenced by NURBS::Refine().
NURBS* CreateNURBSShape | ( | const Transform * | o2w, | |
const Transform * | w2o, | |||
bool | ReverseOrientation, | |||
const ParamSet & | params | |||
) |
Definition at line 300 of file nurbs.cpp.
References Assert, ParamSet::FindFloat(), ParamSet::FindOneFloat(), ParamSet::FindOneInt(), ParamSet::FindPoint(), and P.
Referenced by MakeShape().
static int KnotOffset | ( | const float * | knot, | |
int | order, | |||
int | np, | |||
float | t | |||
) | [static] |
Definition at line 33 of file nurbs.cpp.
References Assert.
Referenced by NURBSEvaluate(), and NURBSEvaluateSurface().
static Homogeneous3 NURBSEvaluate | ( | int | order, | |
const float * | knot, | |||
const Homogeneous3 * | cp, | |||
int | np, | |||
int | cpStride, | |||
float | t, | |||
Vector * | deriv = NULL | |||
) | [static] |
Definition at line 60 of file nurbs.cpp.
References ALLOCA, Assert, 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 113 of file nurbs.cpp.
References ALLOCA, Assert, KnotOffset(), NURBSEvaluate(), P, Homogeneous3::w, Homogeneous3::x, Homogeneous3::y, and Homogeneous3::z.
Referenced by NURBS::Refine().