BRL-CAD
oslo_calc.c File Reference
#include "common.h"
#include "bio.h"
#include "vmath.h"
#include "raytrace.h"
#include "nurb.h"
Include dependency graph for oslo_calc.c:

Go to the source code of this file.

Macros

#define AMAX(i, j)   ((i) > (j) ? (i) : (j))
 
#define AMIN(i, j)   ((i) < (j) ? (i) : (j))
 

Functions

struct oslo_mat * rt_nurb_calc_oslo (register int order, register const struct knot_vector *tau_kv, register struct knot_vector *t_kv, struct resource *res)
 
void rt_nurb_pr_oslo (struct oslo_mat *om)
 
void rt_nurb_free_oslo (struct oslo_mat *om, struct resource *res)
 

Detailed Description

Calculate the Oslo refinement matrix.

This algorithm was taken from the paper:

"Making the Oslo Algorithm More Efficient" by T. Lyche and K. Morken

The algorithm referenced in the paper is algorithm 1 since we will be dealing mostly with surfaces. This routine computes the refinement matrix and returns a oslo structure which will allow a new curve or surface to be built.

Since we only want the last row of the alpha's as outlined in the paper we can use a one dimensional array for the ah.

Definition in file oslo_calc.c.