nurbs.cpp File Reference

#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 &params)

Define Documentation

#define VN ( u,
v   )     ((v)*diceu+(u))

Referenced by NURBS::Refine().


Function Documentation

NURBS* CreateNURBSShape ( const Transform *  o2w,
const Transform *  w2o,
bool  ReverseOrientation,
const ParamSet &  params 
)
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]
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]
Generated on Sat Aug 28 20:00:12 2010 for pbrt by  doxygen 1.6.3