contrib/brl/bbas/imesh/algo/imesh_imls_surface.cxx File Reference


Detailed Description

Definition in file imesh_imls_surface.cxx.

#include "imesh_imls_surface.h"
#include <imesh/imesh_operations.h>
#include <imesh/algo/imesh_intersect.h>
#include <imesh/algo/imesh_kd_tree.txx>
#include <vcl_cmath.h>
#include <vcl_limits.h>
#include <vcl_cassert.h>
#include <vcl_iostream.h>
#include <vnl/vnl_math.h>
#include <vnl/vnl_double_3.h>
#include <imesh/algo/imesh_imls_surface.txx>

Go to the source code of this file.


Functions

vgl_point_3d< double > bisect (const imesh_imls_surface &f, vgl_point_3d< double > pp, vgl_point_3d< double > pn, double feps, double xeps)
 find the zero crossing point by bisection between positive point pp and negative point pn.
bool snap_to_surface (const imesh_imls_surface &f, vgl_point_3d< double > &p, double step, double eps)
 Move the point p along the gradient direction until reaching a zero crossing of f (within eps).
bool snap_to_surface_with_normal (const imesh_imls_surface &f, vgl_point_3d< double > &p, vgl_vector_3d< double > n, double step, double eps)
 Move the point p to minimize (f^2 + (n*f' - 1)^2)/f'*f' a zero crossing of f (within eps).
bool snap_to_surface (const imesh_imls_surface &f, vgl_vector_3d< double > dir, vgl_point_3d< double > &p, double step, double eps)
 Move the point p along direction dir until reaching a zero crossing of f (within eps).
 IMESH_IMLS_SURFACE_INSTANTATE (vgl_vector_2d< double >, vgl_point_3d< double >)
 IMESH_IMLS_SURFACE_INSTANTATE (imesh_imls_surface::integral_data, vgl_point_3d< double >)

Function Documentation

vgl_point_3d<double> bisect ( const imesh_imls_surface f,
vgl_point_3d< double >  pp,
vgl_point_3d< double >  pn,
double  feps,
double  xeps 
)

find the zero crossing point by bisection between positive point pp and negative point pn.

Stops searching when $||pp-pn|| < xeps$ or $|f(pm)| < feps$

Definition at line 785 of file imesh_imls_surface.cxx.

IMESH_IMLS_SURFACE_INSTANTATE ( imesh_imls_surface::integral_data  ,
vgl_point_3d< double >   
)

IMESH_IMLS_SURFACE_INSTANTATE ( vgl_vector_2d< double >  ,
vgl_point_3d< double >   
)

bool snap_to_surface ( const imesh_imls_surface f,
vgl_vector_3d< double >  dir,
vgl_point_3d< double > &  p,
double  step,
double  eps 
)

Move the point p along direction dir until reaching a zero crossing of f (within eps).

Return true if successful

Definition at line 936 of file imesh_imls_surface.cxx.

bool snap_to_surface ( const imesh_imls_surface f,
vgl_point_3d< double > &  p,
double  step,
double  eps 
)

Move the point p along the gradient direction until reaching a zero crossing of f (within eps).

Return true if successful

Definition at line 817 of file imesh_imls_surface.cxx.

bool snap_to_surface_with_normal ( const imesh_imls_surface f,
vgl_point_3d< double > &  p,
vgl_vector_3d< double >  n,
double  step,
double  eps 
)

Move the point p to minimize (f^2 + (n*f' - 1)^2)/f'*f' a zero crossing of f (within eps).

Return true if successful

Definition at line 890 of file imesh_imls_surface.cxx.


Variable Documentation

double closest_dist

Definition at line 264 of file imesh_imls_surface.cxx.

unsigned int closest_index

Definition at line 263 of file imesh_imls_surface.cxx.

double closest_u

Definition at line 264 of file imesh_imls_surface.cxx.

double closest_v

Definition at line 264 of file imesh_imls_surface.cxx.

const imesh_regular_face_array<3>& tris

Definition at line 262 of file imesh_imls_surface.cxx.

const vcl_vector<vgl_point_3d<double> >& verts

Definition at line 261 of file imesh_imls_surface.cxx.


Generated on Mon Mar 8 05:30:58 2010 for contrib/brl/bbas/imesh by  doxygen 1.5.1