Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

intersect_voxel.c File Reference

#include <volume_io/internal_volume_io.h>
#include <bicpl/deform.h>
#include <bicpl/numerical.h>

Include dependency graph for intersect_voxel.c:

Include dependency graph

Go to the source code of this file.

Defines

#define MAX_DERIVS   2
#define N_STEPS   8

Functions

private void get_voxel_coefs (int degrees_continuity, Real voxel[], Real coefs[MAX_DERIVS+2][MAX_DERIVS+2][MAX_DERIVS+2])
private void make_coefs_uv (int degrees_continuity, Real voxels[MAX_DERIVS+2], Real interpolation_coefs[MAX_DERIVS+2][MAX_DERIVS+2], Real coefs[MAX_DERIVS+2])
private void make_coefs_u (int degrees_continuity, Real coefs_uv[MAX_DERIVS+2][MAX_DERIVS+2], Real interpolation_coefs[MAX_DERIVS+2][MAX_DERIVS+2], Real coefs_u[MAX_DERIVS+2][MAX_DERIVS+2])
private void find_coefs_of_line (int degrees_continuity, Real coefs[MAX_DERIVS+2][MAX_DERIVS+2][MAX_DERIVS+2], Real ou, Real ov, Real ow, Real du, Real dv, Real dw, Real line_coefs[(MAX_DERIVS+1)*N_DIMENSIONS+1])
private void get_voxel_line_tricubic (Real coefs[], int x, int y, int z, Real line_origin[], Real line_direction[], Real line_poly[])
public int find_voxel_line_polynomial (Real coefs[], int degrees_continuity, int x, int y, int z, Real line_origin[], Real line_direction[], Real line_poly[])
private int get_cubic_root (Real coefs[], Real u_min, Real u_max, Real *solution)
public int find_voxel_line_value_intersection (Real coefs[], int degrees_continuity, int x, int y, int z, Real line_origin[], Real line_direction[], Real t_min, Real t_max, Real isovalue, Real distances[3])
private void add_components (int du, int dv, int dw, Real coef, Real line[2][N_DIMENSIONS], Real line_coefs[(MAX_DERIVS+1)*N_DIMENSIONS+1])


Define Documentation

#define MAX_DERIVS   2
 

Definition at line 5 of file intersect_voxel.c.

#define N_STEPS   8
 

Definition at line 131 of file intersect_voxel.c.

Referenced by get_cubic_root().


Function Documentation

private void add_components int  du,
int  dv,
int  dw,
Real  coef,
Real  line[2][N_DIMENSIONS],
Real  line_coefs[(MAX_DERIVS+1)*N_DIMENSIONS+1]
 

Definition at line 338 of file intersect_voxel.c.

Referenced by find_coefs_of_line().

private void find_coefs_of_line int  degrees_continuity,
Real  coefs[MAX_DERIVS+2][MAX_DERIVS+2][MAX_DERIVS+2],
Real  ou,
Real  ov,
Real  ow,
Real  du,
Real  dv,
Real  dw,
Real  line_coefs[(MAX_DERIVS+1)*N_DIMENSIONS+1]
 

Definition at line 452 of file intersect_voxel.c.

References add_components().

Referenced by find_voxel_line_polynomial().

public int find_voxel_line_polynomial Real  coefs[],
int  degrees_continuity,
int  x,
int  y,
int  z,
Real  line_origin[],
Real  line_direction[],
Real  line_poly[]
 

Definition at line 90 of file intersect_voxel.c.

References find_coefs_of_line(), get_voxel_coefs(), get_voxel_line_tricubic(), MAX_DERIVS, and y.

Referenced by check_voxel_for_boundary(), and find_voxel_line_value_intersection().

public int find_voxel_line_value_intersection Real  coefs[],
int  degrees_continuity,
int  x,
int  y,
int  z,
Real  line_origin[],
Real  line_direction[],
Real  t_min,
Real  t_max,
Real  isovalue,
Real  distances[3]
 

Definition at line 189 of file intersect_voxel.c.

References find_voxel_line_polynomial(), get_cubic_root(), get_roots_of_polynomial(), MAX_DERIVS, and y.

Referenced by check_voxel_for_isovalue().

private int get_cubic_root Real  coefs[],
Real  u_min,
Real  u_max,
Real *  solution
 

Definition at line 133 of file intersect_voxel.c.

References evaluate_polynomial(), get_roots_of_polynomial(), and N_STEPS.

Referenced by find_voxel_line_value_intersection().

private void get_voxel_coefs int  degrees_continuity,
Real  voxel[],
Real  coefs[MAX_DERIVS+2][MAX_DERIVS+2][MAX_DERIVS+2]
 

Definition at line 229 of file intersect_voxel.c.

References make_coefs_u(), make_coefs_uv(), and MAX_DERIVS.

Referenced by find_voxel_line_polynomial().

private void get_voxel_line_tricubic Real  coefs[],
int  x,
int  y,
int  z,
Real  line_origin[],
Real  line_direction[],
Real  line_poly[]
 

Definition at line 32 of file intersect_voxel.c.

References y.

Referenced by find_voxel_line_polynomial().

private void make_coefs_u int  degrees_continuity,
Real  coefs_uv[MAX_DERIVS+2][MAX_DERIVS+2],
Real  interpolation_coefs[MAX_DERIVS+2][MAX_DERIVS+2],
Real  coefs_u[MAX_DERIVS+2][MAX_DERIVS+2]
 

Definition at line 317 of file intersect_voxel.c.

Referenced by get_voxel_coefs().

private void make_coefs_uv int  degrees_continuity,
Real  voxels[MAX_DERIVS+2],
Real  interpolation_coefs[MAX_DERIVS+2][MAX_DERIVS+2],
Real  coefs[MAX_DERIVS+2]
 

Definition at line 299 of file intersect_voxel.c.

Referenced by get_voxel_coefs().


Generated on Wed Jul 28 09:11:07 2004 for BICPL by doxygen 1.3.7