MeshKit
1.0
|
The MeshKit-based surface evaluator for CAMAL meshing algorithms. More...
#include <meshkit/CAMALSurfEval.hpp>
Public Member Functions | |
CAMALSurfEval (ModelEnt *ment) | |
Constructor. | |
virtual | ~CAMALSurfEval () |
Destructor. | |
virtual double | area () |
Area of the surface. | |
virtual void | bounding_box (double box_min[3], double box_max[3]) |
Surface bounding box. | |
virtual void | move_to_surface (double &x, double &y, double &z) |
Move the point to the closest point on the surface. | |
virtual void | move_to_surface (double &x, double &y, double &z, double &u_guess, double &v_guess) |
Move the point to the closest point on the surface, based on a guess for the UV parameters. | |
virtual bool | normal_at (double x, double y, double z, double &nx, double &ny, double &nz) |
Compute the normal to the surface at a point. | |
virtual bool | normal_at (double x, double y, double z, double &u_guess, double &v_guess, double &nx, double &ny, double &nz) |
Compute the normal to the surface at a point, starting from a hint on the UV parameters. | |
virtual bool | is_planar () |
Return whether the underlying surface is planar. | |
virtual bool | is_parametric () |
Return whether the surface is parametric. | |
virtual bool | is_periodic_in_u (double &u_period) |
Return whether the surface is periodic in the U direction. | |
virtual bool | is_periodic_in_v (double &v_period) |
Return whether the surface is periodic in the V direction. | |
virtual void | get_param_range_u (double &u_low, double &u_high) |
Return the parameter range in U. | |
virtual void | get_param_range_v (double &v_low, double &v_high) |
Return the parameter range in V. | |
virtual bool | uv_from_position (double x, double y, double z, double &u, double &v) |
Get the parametric coordinates from the position. | |
virtual bool | uv_from_position (double x, double y, double z, double &u, double &v, double &cx, double &cy, double &cz) |
Get the parametric coordinates and closest point on a surface from a position. | |
virtual void | position_from_uv (double u, double v, double &x, double &y, double &z) |
Get the spatial coordinates given parametric coordinates. | |
virtual void | distortion_at_uv (double u, double v, double du[3], double dv[3]) |
Get the parametric derivative vectors at a point. | |
virtual void | correct_orientation (std::vector< int > &loop_sizes, std::vector< int > &loops, std::vector< double > &bdy_coords) |
correct orientation of boundary loops for advancing front methods | |
Private Attributes | |
ModelEnt * | modelEnt |
ModelEnt associated with this evaluator. |
The MeshKit-based surface evaluator for CAMAL meshing algorithms.
This class implements surface evaluation functions required by CAMAL algorithms in terms of functions on ModelEnt objects (and, in some cases, functions in iGeom).
Definition at line 21 of file CAMALSurfEval.hpp.
CAMALSurfEval | ( | ModelEnt * | ment | ) |
Constructor.
ment | The ModelEnt to which this evaluator applies |
Definition at line 10 of file CAMALSurfEval.cpp.
~CAMALSurfEval | ( | ) | [virtual] |
Destructor.
Definition at line 15 of file CAMALSurfEval.cpp.
double area | ( | ) | [virtual] |
Area of the surface.
Definition at line 17 of file CAMALSurfEval.cpp.
void bounding_box | ( | double | box_min[3], |
double | box_max[3] | ||
) | [virtual] |
Surface bounding box.
box_min | Lower corner of the Cartesian-aligned box |
box_max | Upper corner of the Cartesian-aligned box |
Definition at line 22 of file CAMALSurfEval.cpp.
void correct_orientation | ( | std::vector< int > & | loop_sizes, |
std::vector< int > & | loops, | ||
std::vector< double > & | bdy_coords | ||
) | [virtual] |
correct orientation of boundary loops for advancing front methods
loop_sizes | sizes of loops |
loops | indices of boundary points that form loops |
bdy_coords | coordinates of boundary points, interleaved |
Definition at line 173 of file CAMALSurfEval.cpp.
void distortion_at_uv | ( | double | u, |
double | v, | ||
double | du[3], | ||
double | dv[3] | ||
) | [virtual] |
Get the parametric derivative vectors at a point.
u | U value |
v | V value |
du | du/d(xyz) |
dv | dv/d(xyz) |
Definition at line 145 of file CAMALSurfEval.cpp.
void get_param_range_u | ( | double & | u_low, |
double & | u_high | ||
) | [virtual] |
Return the parameter range in U.
u_low | Lower bound on the parameter range |
u_high | Upper bound on the parameter range |
Definition at line 100 of file CAMALSurfEval.cpp.
void get_param_range_v | ( | double & | v_low, |
double & | v_high | ||
) | [virtual] |
Return the parameter range in V.
v_low | Lower bound on the parameter range |
v_high | Upper bound on the parameter range |
Definition at line 107 of file CAMALSurfEval.cpp.
bool is_parametric | ( | ) | [virtual] |
Return whether the surface is parametric.
Definition at line 76 of file CAMALSurfEval.cpp.
bool is_periodic_in_u | ( | double & | u_period | ) | [virtual] |
Return whether the surface is periodic in the U direction.
u_period | Period in the U direction if it's periodic in that direction |
Definition at line 84 of file CAMALSurfEval.cpp.
bool is_periodic_in_v | ( | double & | v_period | ) | [virtual] |
Return whether the surface is periodic in the V direction.
v_period | Period in the V direction if it's periodic in that direction |
Definition at line 92 of file CAMALSurfEval.cpp.
bool is_planar | ( | ) | [virtual] |
Return whether the underlying surface is planar.
Definition at line 68 of file CAMALSurfEval.cpp.
void move_to_surface | ( | double & | x, |
double & | y, | ||
double & | z | ||
) | [virtual] |
Move the point to the closest point on the surface.
x | X point |
y | Y point |
z | Z point |
Definition at line 30 of file CAMALSurfEval.cpp.
void move_to_surface | ( | double & | x, |
double & | y, | ||
double & | z, | ||
double & | u_guess, | ||
double & | v_guess | ||
) | [virtual] |
Move the point to the closest point on the surface, based on a guess for the UV parameters.
x | X point |
y | Y point |
z | Z point |
u_guess | U hint |
v_guess | V hint |
Definition at line 39 of file CAMALSurfEval.cpp.
bool normal_at | ( | double | x, |
double | y, | ||
double | z, | ||
double & | nx, | ||
double & | ny, | ||
double & | nz | ||
) | [virtual] |
Compute the normal to the surface at a point.
x | X point |
y | Y point |
z | Z point |
nx | X component of the normal |
ny | Y component of the normal |
nz | Z component of the normal |
Definition at line 45 of file CAMALSurfEval.cpp.
bool normal_at | ( | double | x, |
double | y, | ||
double | z, | ||
double & | u_guess, | ||
double & | v_guess, | ||
double & | nx, | ||
double & | ny, | ||
double & | nz | ||
) | [virtual] |
Compute the normal to the surface at a point, starting from a hint on the UV parameters.
x | X point |
y | Y point |
z | Z point |
u_guess | U hint |
v_guess | V hint |
nx | X component of the normal |
ny | Y component of the normal |
nz | Z component of the normal |
Definition at line 56 of file CAMALSurfEval.cpp.
void position_from_uv | ( | double | u, |
double | v, | ||
double & | x, | ||
double & | y, | ||
double & | z | ||
) | [virtual] |
Get the spatial coordinates given parametric coordinates.
u | U coordinates |
v | V coordinates |
x | X point |
y | Y point |
z | Z point |
Definition at line 138 of file CAMALSurfEval.cpp.
bool uv_from_position | ( | double | x, |
double | y, | ||
double | z, | ||
double & | u, | ||
double & | v | ||
) | [virtual] |
Get the parametric coordinates from the position.
x | X point |
y | Y point |
z | Z point |
u | U coordinates |
v | V coordinates |
Definition at line 114 of file CAMALSurfEval.cpp.
bool uv_from_position | ( | double | x, |
double | y, | ||
double | z, | ||
double & | u, | ||
double & | v, | ||
double & | cx, | ||
double & | cy, | ||
double & | cz | ||
) | [virtual] |
Get the parametric coordinates and closest point on a surface from a position.
x | X point |
y | Y point |
z | Z point |
u | U coordinates |
v | V coordinates |
cx | Closest point on the surface to the X point |
cy | Closest point on the surface to the Y point |
cz | Closest point on the surface to the Z point |
Definition at line 125 of file CAMALSurfEval.cpp.
ModelEnt associated with this evaluator.
Definition at line 178 of file CAMALSurfEval.hpp.