MeshKit  1.0
CAMALSurfEval Class Reference

The MeshKit-based surface evaluator for CAMAL meshing algorithms. More...

#include <meshkit/CAMALSurfEval.hpp>

List of all members.

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

ModelEntmodelEnt
 ModelEnt associated with this evaluator.

Detailed Description

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.


Constructor & Destructor Documentation

CAMALSurfEval ( ModelEnt ment)

Constructor.

Parameters:
mentThe 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.


Member Function Documentation

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.

Parameters:
box_minLower corner of the Cartesian-aligned box
box_maxUpper 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

Parameters:
loop_sizessizes of loops
loopsindices of boundary points that form loops
bdy_coordscoordinates 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.

Parameters:
uU value
vV value
dudu/d(xyz)
dvdv/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.

Parameters:
u_lowLower bound on the parameter range
u_highUpper 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.

Parameters:
v_lowLower bound on the parameter range
v_highUpper bound on the parameter range

Definition at line 107 of file CAMALSurfEval.cpp.

bool is_parametric ( ) [virtual]

Return whether the surface is parametric.

Returns:
true if 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.

Parameters:
u_periodPeriod in the U direction if it's periodic in that direction
Returns:
true if the surface is periodic in the U 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.

Parameters:
v_periodPeriod in the V direction if it's periodic in that direction
Returns:
true if the surface is periodic in the V direction

Definition at line 92 of file CAMALSurfEval.cpp.

bool is_planar ( ) [virtual]

Return whether the underlying surface is planar.

Returns:
true if the 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.

Parameters:
xX point
yY point
zZ 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.

Parameters:
xX point
yY point
zZ point
u_guessU hint
v_guessV 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.

Parameters:
xX point
yY point
zZ point
nxX component of the normal
nyY component of the normal
nzZ component of the normal
Returns:
Not sure, maybe whether or not the point is on the surface?

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.

Parameters:
xX point
yY point
zZ point
u_guessU hint
v_guessV hint
nxX component of the normal
nyY component of the normal
nzZ component of the normal
Returns:
true if normal has unit length (normalized), false otherwise

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.

Parameters:
uU coordinates
vV coordinates
xX point
yY point
zZ 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.

Parameters:
xX point
yY point
zZ point
uU coordinates
vV coordinates
Returns:
true if successful, false otherwise

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.

Parameters:
xX point
yY point
zZ point
uU coordinates
vV coordinates
cxClosest point on the surface to the X point
cyClosest point on the surface to the Y point
czClosest point on the surface to the Z point
Returns:
true if successful, false otherwise

Definition at line 125 of file CAMALSurfEval.cpp.


Member Data Documentation

ModelEnt* modelEnt [private]

ModelEnt associated with this evaluator.

Definition at line 178 of file CAMALSurfEval.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines