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)
NURBSCreateNURBSShape (const Transform *o2w, const Transform *w2o, bool ReverseOrientation, const ParamSet &params)

Define Documentation

#define VN ( u,
 )     ((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