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

models.c File Reference

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

Include dependency graph for Deform/models.c:

Include dependency graph

Go to the source code of this file.

Defines

#define MAX_MODEL_NEIGHS   2000

Functions

public void get_model_shape_point (Point *origin, Vector *pos_model_dir, Vector *neg_model_dir, Real dist, Point *point)
public void compute_equilibrium_point (int point_index, BOOLEAN boundary_exists, Real boundary_dist, Real base_length, Real model_dist, Vector *pos_model_dir, Vector *neg_model_dir, Point *centroid, deformation_model_struct *deformation_model, Point *equilibrium_point)
public void compute_model_dirs (Point *centroid, Vector *normal, Real base_length, Point *model_point, Real *model_dist, Point *search_origin, Vector *pos_model_dir, Vector *neg_model_dir)
private void get_coords_in_nonortho_system (Vector *v, Vector *v1, Vector *v2, Vector *normalized_v3, Real *d1, Real *d2, Real *d3)
private void compute_model_point (Point points[], int point_index, int n_neighbours, int neighbours[], Point *centroid, Vector *normal, Point model_points[], Point model_centroids[], Vector model_normals[], Point *model_point)
public void get_model_point (deformation_model_struct *deformation_model, Point points[], int point_index, int n_neighbours, int neighbours[], Real curvatures[], Point *centroid, Vector *normal, Real base_length, Point *model_point)
public void get_neighbours_of_line_vertex (lines_struct *lines, int vertex_index, int neighbours[2])
public BOOLEAN deformation_model_includes_average (deformation_model_struct *model)
public Real compute_line_curvature (lines_struct *lines, int axis, int point_index, int prev_point_index, int next_point_index)
public Real deform_point (int point_index, Point points[], Point *equilibrium_point, Real fractional_step, Real max_step, BOOLEAN position_constrained, Real max_position_offset, Point original_positions[], Point *new_point)
public void compute_line_centroid_and_normal (lines_struct *lines, int axis, int prev_point_index, int next_point_index, Point *centroid, Vector *normal, Real *base_length)
public int get_subsampled_neighbours_of_point (deformation_model_struct *deformation_model, polygons_struct *polygons, int poly, int vertex_index, int neighbours[], int max_neighbours, BOOLEAN *interior_flag)


Define Documentation

#define MAX_MODEL_NEIGHS   2000
 

Definition at line 213 of file Deform/models.c.


Function Documentation

public void compute_equilibrium_point int  point_index,
BOOLEAN  boundary_exists,
Real  boundary_dist,
Real  base_length,
Real  model_dist,
Vector *  pos_model_dir,
Vector *  neg_model_dir,
Point *  centroid,
deformation_model_struct deformation_model,
Point *  equilibrium_point
 

Definition at line 25 of file Deform/models.c.

References find_relevent_model(), get_model_shape_point(), deform_model_struct::max_curvature_offset, deform_model_struct::min_curvature_offset, and deform_model_struct::model_weight.

Referenced by get_line_equilibrium_point().

public void compute_line_centroid_and_normal lines_struct lines,
int  axis,
int  prev_point_index,
int  next_point_index,
Point *  centroid,
Vector *  normal,
Real *  base_length
 

Definition at line 455 of file Deform/models.c.

References lines_struct::points.

Referenced by compute_line_curvature(), and get_line_equilibrium_point().

public Real compute_line_curvature lines_struct lines,
int  axis,
int  point_index,
int  prev_point_index,
int  next_point_index
 

Definition at line 388 of file Deform/models.c.

References compute_line_centroid_and_normal(), and lines_struct::points.

Referenced by perturb_line_points().

public void compute_model_dirs Point *  centroid,
Vector *  normal,
Real  base_length,
Point *  model_point,
Real *  model_dist,
Point *  search_origin,
Vector *  pos_model_dir,
Vector *  neg_model_dir
 

Definition at line 69 of file Deform/models.c.

Referenced by get_line_equilibrium_point().

private void compute_model_point Point  points[],
int  point_index,
int  n_neighbours,
int  neighbours[],
Point *  centroid,
Vector *  normal,
Point  model_points[],
Point  model_centroids[],
Vector  model_normals[],
Point *  model_point
 

Definition at line 215 of file Deform/models.c.

References distance_between_points(), and get_coords_in_nonortho_system().

Referenced by get_model_point().

public Real deform_point int  point_index,
Point  points[],
Point *  equilibrium_point,
Real  fractional_step,
Real  max_step,
BOOLEAN  position_constrained,
Real  max_position_offset,
Point  original_positions[],
Point *  new_point
 

Definition at line 413 of file Deform/models.c.

Referenced by perturb_line_points().

public BOOLEAN deformation_model_includes_average deformation_model_struct model  ) 
 

Definition at line 376 of file Deform/models.c.

References AVERAGE_MODEL, FALSE, deform_model_struct::model_type, deformation_model_struct::models, deformation_model_struct::n_models, and TRUE.

Referenced by perturb_line_points().

private void get_coords_in_nonortho_system Vector *  v,
Vector *  v1,
Vector *  v2,
Vector *  normalized_v3,
Real *  d1,
Real *  d2,
Real *  d3
 

Definition at line 163 of file Deform/models.c.

Referenced by compute_model_point().

public void get_model_point deformation_model_struct deformation_model,
Point  points[],
int  point_index,
int  n_neighbours,
int  neighbours[],
Real  curvatures[],
Point *  centroid,
Vector *  normal,
Real  base_length,
Point *  model_point
 

Definition at line 295 of file Deform/models.c.

References AVERAGE_MODEL, compute_model_point(), Deformation_model_types, find_relevent_model(), FLAT_MODEL, GENERAL_MODEL, deform_model_struct::model_centroids, deform_model_struct::model_normals, deform_model_struct::model_points, deform_model_struct::model_type, deform_model_struct::n_model_points, and PARAMETRIC_MODEL.

Referenced by get_line_equilibrium_point().

public void get_model_shape_point Point *  origin,
Vector *  pos_model_dir,
Vector *  neg_model_dir,
Real  dist,
Point *  point
 

Definition at line 4 of file Deform/models.c.

Referenced by compute_equilibrium_point(), and get_line_equilibrium_point().

public void get_neighbours_of_line_vertex lines_struct lines,
int  vertex_index,
int  neighbours[2]
 

Definition at line 357 of file Deform/models.c.

References lines_struct::indices, and lines_struct::n_points.

Referenced by compute_line_model_info(), and perturb_line_points().

public int get_subsampled_neighbours_of_point deformation_model_struct deformation_model,
polygons_struct polygons,
int  poly,
int  vertex_index,
int  neighbours[],
int  max_neighbours,
BOOLEAN *  interior_flag
 

Definition at line 487 of file Deform/models.c.

References polygons_struct::end_indices, find_polygon_with_vertex(), find_relevent_model(), get_neighbours_of_point(), get_polygons_ptr(), polygons_struct::indices, deform_model_struct::model_object, polygons_struct::n_points, POINT_INDEX, and deform_model_struct::up_to_n_points.


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