#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 >) | |
Definition in file imesh_imls_surface.cxx.
| 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
or
Definition at line 785 of file imesh_imls_surface.cxx.
| 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 > | |||
| ) |
| 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 | ( | 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_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).
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.
1.7.5.1