A Roccom mesh optimization module. More...
#include <Rocmop.h>
Public Types | |
enum | { SMOOTH_VOL_MESQ_WG = 0, SMOOTH_VOL_MESQ_NG, SMOOTH_SURF_MEDIAL, SMOOTH_NONE } |
Valid Smoothing Methods. More... | |
enum | { SMOOTH_VOL_MESQ_WG = 0, SMOOTH_VOL_MESQ_NG, SMOOTH_SURF_MEDIAL, SMOOTH_NONE } |
Valid Smoothing Methods. More... | |
enum | { SMOOTH_VOL_MESQ_WG = 0, SMOOTH_VOL_MESQ_NG, SMOOTH_SURF_MEDIAL, SMOOTH_NONE } |
Valid Smoothing Methods. More... | |
enum | { WRAPPER_SHAPE = 0, WRAPPER_BOEING, WRAPPER_MAX } |
Valid Wrapper Choices. More... | |
Public Member Functions | |
void | read_config_file (const std::string &) |
void | add_aspect_ratios (COM::Attribute *usr_att, COM::Attribute *buf_att=NULL) |
void | read_config_file (const std::string &) |
void | add_aspect_ratios (COM::Attribute *usr_att, COM::Attribute *buf_att=NULL) |
Contructors and Destructors | |
Rocmop () | |
Default Constructor. More... | |
virtual | ~Rocmop () |
Destructor. More... | |
Rocmop () | |
Default Constructor. More... | |
virtual | ~Rocmop () |
Destructor. More... | |
Rocmop () | |
Default Constructor. More... | |
virtual | ~Rocmop () |
Destructor. More... | |
Static Public Member Functions | |
Load and Unload | |
static void | load (const std::string &mname) |
Loads Rocmop onto Roccom with a given module name. More... | |
static void | unload (const std::string &mname) |
Unloads Rocmop from Roccom. More... | |
static void | load (const std::string &mname) |
Loads Rocmop onto Roccom with a given module name. More... | |
static void | unload (const std::string &mname) |
Unloads Rocmop from Roccom. More... | |
static void | load (const std::string &mname) |
Loads Rocmop onto Roccom with a given module name. More... | |
static void | unload (const std::string &mname) |
Unloads Rocmop from Roccom. More... | |
Protected Types | |
enum | { MOP_COOKIE =762667 } |
enum | { MOP_COOKIE =762667 } |
enum | { MOP_COOKIE =762667 } |
Protected Member Functions | |
void | perturb_stationary () |
Randomly perturn stationary nodes on pane boundary, not on phys. surface. More... | |
bool | check_displacements (COM::Attribute *disp) |
void | zero_displacements (COM::Attribute *disp) |
void | perturb_stationary () |
Randomly perturn stationary nodes on pane boundary, not on phys. surface. More... | |
bool | check_displacements (COM::Attribute *disp) |
void | zero_displacements (COM::Attribute *disp) |
Smoothing Methods | |
void | smooth_vol_mesq_wg (double pre_quality) |
Smooth a volume via Mesquite using ghost information. More... | |
void | smooth_vol_mesq_ng (double pre_quality) |
Smooths a volume using Mesquite with only shared node information. More... | |
void | smooth_surf_medial () |
Smooths a surface using the medial quadric. More... | |
void | smooth_mesquite (std::vector< COM::Pane * > &allpanes, int ghost_level=0) |
Smooth the panes of the working window using MESQUITE. More... | |
void | smooth_vol_mesq_wg () |
Smooth a volume via Mesquite using ghost information. More... | |
void | smooth_vol_mesq_ng () |
Smooths a volume using Mesquite with only shared node information. More... | |
void | smooth_surf_medial () |
Smooths a surface using the medial quadric. More... | |
void | smooth_mesquite (std::vector< COM::Pane * > &allpanes, int ghost_level=0) |
Smooth the panes of the buffer window using MESQUITE. More... | |
void | smooth_vol_mesq_wg () |
Smooth a volume via Mesquite using ghost information. More... | |
void | smooth_vol_mesq_ng () |
Smooths a volume using Mesquite with only shared node information. More... | |
void | smooth_surf_medial () |
Smooths a surface using the medial quadric. More... | |
void | smooth_boeing (COM::Attribute *att, int *niter) |
void | smooth_mesquite (std::vector< COM::Pane * > &allpanes, int ghost_level=0) |
Smooth the panes of the buffer window using MESQUITE. More... | |
Quality Checking | |
double | check_marked_elem_quality (std::vector< std::vector< bool > > &marked_elems, std::vector< COM::Pane * > &allpanes) |
Get the largest dihedral angle of marked real elements. More... | |
double | check_all_elem_quality (std::vector< const COM::Pane * > &allpanes, bool with_ghost=false) |
Get the largest dihedral angle of all real elements. More... | |
double | check_all_elem_quality (std::vector< COM::Pane * > &allpanes, bool with_ghosts=false) |
Get the largest dihedral angle of all real elements marked. More... | |
void | print_quality (std::string &s) |
Print the quality range of all elements, for debugging. More... | |
void | print_mquality (std::string &s, std::vector< std::vector< bool > > &to_check) |
Print the quality range of marked elements, for debugging. More... | |
double | check_marked_elem_quality (std::vector< std::vector< bool > > &marked_elems, std::vector< COM::Pane * > &allpanes) |
Get the largest dihedral angle of marked real elements. More... | |
double | check_all_elem_quality (std::vector< const COM::Pane * > &allpanes, bool with_ghost=false) |
Get the largest dihedral angle of all real elements. More... | |
double | check_all_elem_quality (std::vector< COM::Pane * > &allpanes, bool with_ghosts=false) |
Get the largest dihedral angle of all real elements marked. More... | |
void | print_legible (int verb, const char *msg) |
Single process print message if given verbosity level is exceeded. More... | |
void | constrain_displacements (COM::Attribute *w_disp) |
Contrain displacements to _maxdisp. More... | |
void | print_extremal_dihedrals (COM::Window *window) |
Print the min and max dihedral angles along with their locations. More... | |
void | print_quality (std::string &s, const std::string &s2) |
Print the quality range of all elements, for debugging. More... | |
void | print_mquality (std::string &s, std::vector< std::vector< bool > > &to_check) |
Print the quality range of marked elements, for debugging. More... | |
double | check_marked_elem_quality (std::vector< std::vector< bool > > &marked_elems, std::vector< COM::Pane * > &allpanes) |
Get the largest dihedral angle of marked real elements. More... | |
double | check_all_elem_quality (std::vector< const COM::Pane * > &allpanes, bool with_ghost=false) |
Get the largest dihedral angle of all real elements. More... | |
double | check_all_elem_quality (std::vector< COM::Pane * > &allpanes, bool with_ghosts=false) |
Get the largest dihedral angle of all real elements marked. More... | |
void | print_legible (int verb, const char *msg) |
Single process print message if given verbosity level is exceeded. More... | |
void | constrain_displacements (COM::Attribute *w_disp) |
Contrain displacements to _maxdisp. More... | |
void | obtain_extremal_dihedrals (const COM::Attribute *att, double *min, double *max) |
Obtain the min and max dihedral angles. More... | |
void | print_extremal_dihedrals (COM::Window *window) |
Print the min and max dihedral angles along with their locations. More... | |
void | print_quality (std::string &s, const std::string &s2) |
Print the quality range of all elements, for debugging. More... | |
void | print_mquality (std::string &s, std::vector< std::vector< bool > > &to_check) |
Print the quality range of marked elements, for debugging. More... | |
Protected Attributes | |
bool | _reorthog |
Reorthogonalize? More... | |
char | _wght_scheme |
Weighting scheme. More... | |
double | _eig_thres |
Eigenvalue thresholds. More... | |
double | _dir_thres |
Another threshold. More... | |
double | _saliency_crn |
int | _rediter |
No.iterations for vertex redistribution. More... | |
const COM::Attribute * | _cnstr_types |
Stores types of nodal constraints. More... | |
COM::Attribute * | _cnstr_dirs |
Stores directions of nodal contraints. More... | |
std::vector< std::set< Edge_ID > > | _edges |
ridge edges More... | |
std::vector< std::vector< bool > > | _is_shared_node |
Is the node shared? More... | |
std::vector< std::vector< bool > > | _is_shared_elem |
Does the element contain shared nodes? More... | |
std::vector< std::vector< bool > > | _is_phys_bnd_node |
Is the node on the physical boundary? More... | |
std::vector< std::vector< bool > > | _is_phys_bnd_elem |
Does the element contain nodes on the phys. boundary? More... | |
std::vector< std::vector< bool > > | _is_pane_bnd_node |
Is the node on the pane boundary? More... | |
std::vector< std::vector< bool > > | _is_pane_bnd_elem |
Does the element contain nodes on the pane boundary? More... | |
const COM::Window * | _usr_window |
The user's window. More... | |
COM::Window * | _wrk_window |
The working window. More... | |
bool | _is_pmesh |
pmesh or mesh ? More... | |
int | _method |
Choice of smoothing method. More... | |
int | _verb |
Verbose level. More... | |
int | _lazy |
Check quality before smoothing? More... | |
float | _tol |
Smoother iterating tolerance. More... | |
int | _niter |
Maximum number of iterations for smoothing. More... | |
float | _ctol |
Subcycling tolerance. More... | |
int | _ncycle |
Max number of subcycles for convergence. More... | |
int | _monotone |
Impose non-decreasing quality? More... | |
int | _cookie |
For Roccom. More... | |
int | _invert |
If true (default false), then invert the mesh. More... | |
COM::Window * | _buf_window |
The buffer window. More... | |
std::vector < MAP::Pane_dual_connectivity * > | _dcs |
float | _maxdisp |
Maximum displacement allowed. More... | |
int | _smoothfreq |
int | N |
Smooth every _smoothfreq'th call. More... | |
double | disp_tally |
originally a static in smooth() More... | |
float | _disp_thresh |
originally a static in check_displacements More... | |
int | _wrapper |
Choice of Mesquite Smoothing Wrappers. More... | |
int | _invert_tets |
If true (default false), then invert tets. More... | |
int | _invert_hexes |
If true (default false), then invert hexes. More... | |
Smoothing control flow | |
void | smooth (const COM::Attribute *pmesh, COM::Attribute *disp) |
Smooth the mesh in a Rocmop managed buffer. More... | |
void | smooth_in_place (COM::Attribute *pmesh) |
Smooth a mesh in place.. More... | |
void | smooth (const COM::Attribute *pmesh, COM::Attribute *disp) |
Smooth the mesh in a Rocmop managed buffer. More... | |
void | smooth_in_place (COM::Attribute *pmesh) |
Smooth a mesh in place.. More... | |
void | smooth (const COM::Attribute *pmesh, COM::Attribute *disp, double *timestep=NULL) |
Smooth the mesh in a Rocmop managed buffer. More... | |
void | smoother_specific_init () |
Perform smoother specific initialization. More... | |
void | perform_smoothing (double pre_quality) |
Perform smoothing on _wrk_window. More... | |
void | perform_iterative_smoothing (double pre_quality) |
Perform iterative smoothing. More... | |
void | perform_noniterative_smoothing () |
Perform noniterative smoothing. More... | |
void | smoother_specific_init () |
Perform smoother specific initialization. More... | |
void | perform_smoothing () |
Perform smoothing on _buf_window. More... | |
void | perform_iterative_smoothing () |
Perform iterative smoothing. More... | |
void | perform_noniterative_smoothing () |
Perform noniterative smoothing. More... | |
void | smoother_specific_init () |
Perform smoother specific initialization. More... | |
void | perform_smoothing () |
Perform smoothing on _buf_window. More... | |
void | perform_iterative_smoothing () |
Perform iterative smoothing. More... | |
void | perform_noniterative_smoothing () |
Perform noniterative smoothing. More... | |
void | update_buf_real_nc () |
Update real nodal coordinates of _buf_window from _usr_window. More... | |
int | check_input_pconn () |
Check pconn block 3 of the input mesh. More... | |
void | get_usr_disp (const COM::Attribute *pmesh, COM::Attribute *disp, double *timestep) |
Get displacement in _usr_window based on nc in _buf_window. More... | |
Miscellaneous | |
void | set_value (const char *opt, const void *val) |
Set a Rocomp option. More... | |
void | determine_pane_border () |
Determine which nodes and elements are on pane borders. More... | |
void | determine_physical_border (COM::Attribute *w_is_surface) |
Determine which nodes are on the physical border. More... | |
void | determine_physical_border () |
Determine which nodes and elements are on the physical border. More... | |
void | determine_shared_border () |
Determine which nodes and elements are shared. More... | |
void | mark_elems_from_nodes (std::vector< std::vector< bool > > &marked_nodes, std::vector< std::vector< bool > > &marked_elems) |
Mark the nodes which contain marked elems. More... | |
void | set_value (const char *opt, const void *val) |
Set a Rocomp option. More... | |
void | determine_pane_border () |
Determine which nodes and elements are on pane borders. More... | |
void | determine_physical_border (COM::Attribute *w_is_surface) |
Determine which nodes are on the physical border. More... | |
void | determine_physical_border () |
Determine which nodes and elements are on the physical border. More... | |
void | determine_shared_border () |
Determine which nodes and elements are shared. More... | |
void | mark_elems_from_nodes (std::vector< std::vector< bool > > &marked_nodes, std::vector< std::vector< bool > > &marked_elems) |
Mark the nodes which contain marked elems. More... | |
void | set_value (const char *opt, const void *val) |
Set a Rocomp option. More... | |
void | determine_pane_border () |
Determine which nodes and elements are on pane borders. More... | |
void | determine_physical_border (COM::Attribute *w_is_surface) |
Determine which nodes are on the physical border. More... | |
void | determine_physical_border () |
Determine which nodes and elements are on the physical border. More... | |
void | determine_shared_border () |
Determine which nodes and elements are shared. More... | |
void | mark_elems_from_nodes (std::vector< std::vector< bool > > &marked_nodes, std::vector< std::vector< bool > > &marked_elems) |
Mark the nodes which contain marked elems. More... | |
virtual SURF::Window_manifold_2 * | manifold () |
Obtain a reference to the manifold. More... | |
int | validate_object () const |
Check that the object is valid. More... | |
void | invert_tets () |
Repair inverted tets. More... | |
virtual SURF::Window_manifold_2 * | manifold () |
Obtain a reference to the manifold. More... | |
int | validate_object () const |
Check that the object is valid. More... | |
void | invert_tets () |
Repair inverted tets. More... | |
virtual SURF::Window_manifold_2 * | manifold () |
Obtain a reference to the manifold. More... | |
int | validate_object () const |
Check that the object is valid. More... | |
void | invert_elements (int conn_type) |
Repair inverted tets or hexes. More... | |
Inter-Pane Communication | |
void | agree_int (int &val, MPI_Op op) |
Agree on an integer value across all panes. More... | |
void | agree_double (double &val, MPI_Op op) |
Agree on a double value across all panes. More... | |
void | agree_int (int &val, MPI_Op op) |
Agree on an integer value across all panes. More... | |
void | agree_double (double &val, MPI_Op op) |
Agree on a double value across all panes. More... | |
void | agree_int (int &val, MPI_Op op) |
Agree on an integer value across all panes. More... | |
void | agree_double (double &val, MPI_Op op) |
Agree on a double value across all panes. More... | |
static void | reduce_sum_on_shared_nodes (COM::Attribute *att) |
Perform a sum-reduction on the shared nodes for the given attribute. More... | |
static void | reduce_sum_on_shared_nodes (COM::Attribute *att) |
Perform a sum-reduction on the shared nodes for the given attribute. More... | |
static void | reduce_sum_on_shared_nodes (COM::Attribute *att) |
Perform a sum-reduction on the shared nodes for the given attribute. More... | |
Functions exclusive to medial quadric smoothing. | |
void | evaluate_face_normals () |
Evaluate face normals (copied from FaceOffset_3.[hC]. More... | |
void | identify_ridge_edges () |
Identify ridge edges. More... | |
void | redistribute_vertices_ridge () |
Redistribute ridge vertices within their tangent spaces. More... | |
void | redistribute_vertices_smooth () |
Redistribute smooth vertices within their tangent spaces. More... | |
void | compute_medial_quadric () |
Compute medial quadric for every vertex. More... | |
int | eigen_analyze_vertex (Vector_3< double > A_io[3], Vector_3< double > &b_io, Vector_3< double > *nrm_nz, double angle_defect) |
void | get_redist_safe_factor (COM::Attribute *c_attr, COM::Attribute *w_attr, int rank) |
void | evaluate_face_normals () |
Evaluate face normals (copied from FaceOffset_3.[hC]. More... | |
void | identify_ridge_edges () |
Identify ridge edges. More... | |
void | redistribute_vertices_ridge () |
Redistribute ridge vertices within their tangent spaces. More... | |
void | redistribute_vertices_smooth () |
Redistribute smooth vertices within their tangent spaces. More... | |
void | compute_medial_quadric () |
Compute medial quadric for every vertex. More... | |
int | eigen_analyze_vertex (Vector_3< double > A_io[3], Vector_3< double > &b_io, Vector_3< double > *nrm_nz, double angle_defect) |
void | get_redist_safe_factor (COM::Attribute *c_attr, COM::Attribute *w_attr, int rank) |
void | evaluate_face_normals () |
Evaluate face normals (copied from FaceOffset_3.[hC]. More... | |
void | identify_ridge_edges () |
Identify ridge edges. More... | |
void | redistribute_vertices_ridge () |
Redistribute ridge vertices within their tangent spaces. More... | |
void | redistribute_vertices_smooth () |
Redistribute smooth vertices within their tangent spaces. More... | |
void | compute_medial_quadric () |
Compute medial quadric for every vertex. More... | |
int | eigen_analyze_vertex (Vector_3< double > A_io[3], Vector_3< double > &b_io, Vector_3< double > *nrm_nz, double angle_defect) |
void | get_redist_safe_factor (COM::Attribute *c_attr, COM::Attribute *w_attr, int rank) |
static void | get_constraint_directions (int type, const Vector_3< double > &dir, int &ndirs, Vector_3< double > dirs[2]) |
Get orthonormals of the constraints. More... | |
static void | compute_eigenvectors (Vector_3< double > A[3], Vector_3< double > &lambdas) |
static void | compute_eigenvectors (Vector_2< double > A[2], Vector_2< double > &lambdas) |
template<class FT > | |
static void | solve (const FT &a1, const FT &a2, const FT &b1, const FT &b2, const FT &c1, const FT &c2, FT &x, FT &y) |
template<class FT > | |
static void | solve (const FT &a1, const FT &a2, const FT &a3, const FT &b1, const FT &b2, const FT &b3, const FT &c1, const FT &c2, const FT &c3, const FT &d1, const FT &d2, const FT &d3, FT &x, FT &y, FT &z) |
static void | solve (const Vector_3< double > A[3], const Vector_3< double > &q, Vector_3< double > &x) |
static void | get_constraint_directions (int type, const Vector_3< double > &dir, int &ndirs, Vector_3< double > dirs[2]) |
Get orthonormals of the constraints. More... | |
static void | compute_eigenvectors (Vector_3< double > A[3], Vector_3< double > &lambdas) |
static void | compute_eigenvectors (Vector_2< double > A[2], Vector_2< double > &lambdas) |
template<class FT > | |
static void | solve (const FT &a1, const FT &a2, const FT &b1, const FT &b2, const FT &c1, const FT &c2, FT &x, FT &y) |
template<class FT > | |
static void | solve (const FT &a1, const FT &a2, const FT &a3, const FT &b1, const FT &b2, const FT &b3, const FT &c1, const FT &c2, const FT &c3, const FT &d1, const FT &d2, const FT &d3, FT &x, FT &y, FT &z) |
static void | solve (const Vector_3< double > A[3], const Vector_3< double > &q, Vector_3< double > &x) |
static void | get_constraint_directions (int type, const Vector_3< double > &dir, int &ndirs, Vector_3< double > dirs[2]) |
Get orthonormals of the constraints. More... | |
static void | compute_eigenvectors (Vector_3< double > A[3], Vector_3< double > &lambdas) |
static void | compute_eigenvectors (Vector_2< double > A[2], Vector_2< double > &lambdas) |
template<class FT > | |
static void | solve (const FT &a1, const FT &a2, const FT &b1, const FT &b2, const FT &c1, const FT &c2, FT &x, FT &y) |
template<class FT > | |
static void | solve (const FT &a1, const FT &a2, const FT &a3, const FT &b1, const FT &b2, const FT &b3, const FT &c1, const FT &c2, const FT &c3, const FT &d1, const FT &d2, const FT &d3, FT &x, FT &y, FT &z) |
static void | solve (const Vector_3< double > A[3], const Vector_3< double > &q, Vector_3< double > &x) |
anonymous enum |
Valid Smoothing Methods.
Enumerator | |
---|---|
SMOOTH_VOL_MESQ_WG | |
SMOOTH_VOL_MESQ_NG | |
SMOOTH_SURF_MEDIAL | |
SMOOTH_NONE |
|
protected |
anonymous enum |
Valid Smoothing Methods.
Enumerator | |
---|---|
SMOOTH_VOL_MESQ_WG | |
SMOOTH_VOL_MESQ_NG | |
SMOOTH_SURF_MEDIAL | |
SMOOTH_NONE |
Definition at line 46 of file Rocmop_1.h.
|
protected |
anonymous enum |
Valid Smoothing Methods.
Enumerator | |
---|---|
SMOOTH_VOL_MESQ_WG | |
SMOOTH_VOL_MESQ_NG | |
SMOOTH_SURF_MEDIAL | |
SMOOTH_NONE |
Definition at line 46 of file Rocmop_2.h.
anonymous enum |
Valid Wrapper Choices.
Enumerator | |
---|---|
WRAPPER_SHAPE | |
WRAPPER_BOEING | |
WRAPPER_MAX |
Definition at line 50 of file Rocmop_2.h.
|
protected |
|
inline |
Default Constructor.
Definition at line 55 of file Rocmop.h.
|
inline |
Default Constructor.
Definition at line 56 of file Rocmop_1.h.
|
virtual |
Destructor.
|
inline |
Default Constructor.
Definition at line 59 of file Rocmop_2.h.
|
virtual |
Destructor.
void add_aspect_ratios | ( | COM::Attribute * | usr_att, |
COM::Attribute * | buf_att = NULL |
||
) |
Definition at line 454 of file Rocmop_1.C.
References COM_assertion_msg, COM_DOUBLE, Angle_Metric_3::compute(), Rocblas::copy(), Aspect_Metric_3::getAspects(), i, Geo_Metric_Base_3::initialize(), j, ni, nj, and Rocmap::update_ghosts().
void add_aspect_ratios | ( | COM::Attribute * | usr_att, |
COM::Attribute * | buf_att = NULL |
||
) |
|
inlineprotected |
Agree on a double value across all panes.
val | The local value. |
op | The type of reduction to perform. |
Definition at line 239 of file Rocmop_1.h.
References _usr_window, and COMMPI_Initialized().
|
inlineprotected |
Agree on a double value across all panes.
val | The local value. |
op | The type of reduction to perform. |
Definition at line 240 of file Rocmop.h.
References _usr_window, and COMMPI_Initialized().
|
inlineprotected |
Agree on a double value across all panes.
val | The local value. |
op | The type of reduction to perform. |
Definition at line 261 of file Rocmop_2.h.
References _usr_window, and COMMPI_Initialized().
|
inlineprotected |
Agree on an integer value across all panes.
val | The local value. |
op | The type of reduction to perform. |
Definition at line 225 of file Rocmop_1.h.
References _usr_window, and COMMPI_Initialized().
|
inlineprotected |
Agree on an integer value across all panes.
val | The local value. |
op | The type of reduction to perform. |
Definition at line 226 of file Rocmop.h.
References _usr_window, and COMMPI_Initialized().
|
inlineprotected |
Agree on an integer value across all panes.
val | The local value. |
op | The type of reduction to perform. |
Definition at line 247 of file Rocmop_2.h.
References _usr_window, and COMMPI_Initialized().
|
protected |
Get the largest dihedral angle of all real elements.
allpanes | the set of panes containing the elements |
Definition at line 785 of file Rocmop.C.
References Angle_Metric_3::compute(), i, Geo_Metric_Base_3::initialize(), k, ni, nk, and rank.
|
protected |
Get the largest dihedral angle of all real elements.
allpanes | the set of panes containing the elements |
|
protected |
Get the largest dihedral angle of all real elements marked.
allpanes | the set of panes containing the elements |
Definition at line 814 of file Rocmop.C.
References Angle_Metric_3::compute(), i, Geo_Metric_Base_3::initialize(), k, ni, nk, and rank.
|
protected |
Get the largest dihedral angle of all real elements marked.
allpanes | the set of panes containing the elements |
|
protected |
Get the largest dihedral angle of all real elements.
allpanes | the set of panes containing the elements |
|
protected |
Get the largest dihedral angle of all real elements marked.
allpanes | the set of panes containing the elements |
|
protected |
Definition at line 357 of file Rocmop_1.C.
References i, j, MPI_MAX, ni, nj, Vector_3< Type >::norm(), and nvc::norm().
|
protected |
|
protected |
Check pconn block 3 of the input mesh.
Check if all ghost nodes are listed in pconn block 3 of _usr_window
Definition at line 886 of file Rocmop_2.C.
References COM_NC, COM_PCONN, COMMPI_Initialized(), i, j, k, ni, and rank.
|
protected |
Get the largest dihedral angle of marked real elements.
marked_elems | the elements whose quality is to be checked. |
allpanes | the set of panes containing the elements |
Definition at line 760 of file Rocmop.C.
References Angle_Metric_3::compute(), i, Geo_Metric_Base_3::initialize(), k, ni, and nk.
|
protected |
Get the largest dihedral angle of marked real elements.
marked_elems | the elements whose quality is to be checked. |
allpanes | the set of panes containing the elements |
|
protected |
Get the largest dihedral angle of marked real elements.
marked_elems | the elements whose quality is to be checked. |
allpanes | the set of panes containing the elements |
Definition at line 1191 of file smooth_medial.C.
References COM_assertion_msg, dsyevq3(), cimg_library::cimg::info(), and swap().
Referenced by eigen_analyze_vertex().
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
protected |
Compute medial quadric for every vertex.
Definition at line 286 of file smooth_medial.C.
References _cnstr_dirs, _cnstr_types, _verb, _wght_scheme, _wrk_window, cimg_library::acos(), angle(), COM_NC, Rocblas::copy_scalar(), Vector_3< Type >::cross_product(), d, E2N_ANGLE, E2N_AREA, E2N_ONE, E2N_SPHERE, eigen_analyze_vertex(), half_pi, i, j, k, max(), ni, nj, Vector_3< Type >::norm(), Vector_3< Type >::normalize(), pi, REAL_PANE, rs(), s, sin, and sqrt().
Referenced by smooth_surf_medial().
|
protected |
Compute medial quadric for every vertex.
|
protected |
Compute medial quadric for every vertex.
|
protected |
Contrain displacements to _maxdisp.
Definition at line 1424 of file Rocmop_1.C.
References Rocblas::div_scalar(), i, j, MPI_MAX, ni, nj, Vector_3< Type >::norm(), and nvc::norm().
|
protected |
Contrain displacements to _maxdisp.
void determine_pane_border | ( | ) |
Determine which nodes and elements are on pane borders.
void determine_pane_border | ( | ) |
Determine which nodes and elements are on pane borders.
Definition at line 603 of file Rocmop.C.
References i.
void determine_pane_border | ( | ) |
Determine which nodes and elements are on pane borders.
void determine_physical_border | ( | COM::Attribute * | w_is_surface | ) |
Determine which nodes are on the physical border.
void determine_physical_border | ( | COM::Attribute * | w_is_surface | ) |
Determine which nodes are on the physical border.
Definition at line 473 of file smooth_mesquite_ng.C.
References COM_assertion_msg, COM_compatible_types(), COM_INT, COM_PCONN, else, i, j, k, max(), nj, nk, Rocmap::reduce_maxabs_on_shared_nodes(), total_npanes, and Rocmap::update_ghosts().
void determine_physical_border | ( | ) |
Determine which nodes and elements are on the physical border.
void determine_physical_border | ( | ) |
Determine which nodes and elements are on the physical border.
Definition at line 677 of file Rocmop.C.
References COM_assertion_msg, i, and j.
void determine_physical_border | ( | COM::Attribute * | w_is_surface | ) |
Determine which nodes are on the physical border.
void determine_physical_border | ( | ) |
Determine which nodes and elements are on the physical border.
void determine_shared_border | ( | ) |
Determine which nodes and elements are shared.
void determine_shared_border | ( | ) |
Determine which nodes and elements are shared.
Definition at line 631 of file Rocmop.C.
References COM_assertion_msg, COM_PCONN, i, j, k, nj, and Pane_connectivity::pconn_offset().
void determine_shared_border | ( | ) |
Determine which nodes and elements are shared.
|
protected |
Definition at line 1081 of file smooth_medial.C.
References _dir_thres, _eig_thres, _reorthog, _saliency_crn, NTS::abs(), cimg_library::atan(), compute_eigenvectors(), k, max(), Vector_3< Type >::normalize(), pi, sqrt(), and x.
Referenced by compute_medial_quadric().
|
protected |
|
protected |
|
protected |
Evaluate face normals (copied from FaceOffset_3.[hC].
Definition at line 903 of file smooth_medial.C.
References _verb, _wrk_window, COM_assertion_msg, COM_NC, Vector_3< Type >::cross_product(), i, j, Element_node_enumerator::next(), nj, Vector_3< Type >::normalize(), Element_node_vectors_k_const< Value >::set(), Element_node_enumerator::size_of_edges(), and Element_node_enumerator::size_of_nodes().
Referenced by smooth_surf_medial().
|
protected |
Evaluate face normals (copied from FaceOffset_3.[hC].
|
protected |
Evaluate face normals (copied from FaceOffset_3.[hC].
|
staticprotected |
Get orthonormals of the constraints.
If nnrms is 0, then not constrained. If nnrms is 3, then the point is fixed. Otherwise, the point is constrained either in a plane or a line.
Definition at line 1245 of file smooth_medial.C.
References NTS::abs(), COM_assertion_msg, s, sqrt(), and Vector_3< Type >::squared_norm().
|
staticprotected |
Get orthonormals of the constraints.
If nnrms is 0, then not constrained. If nnrms is 3, then the point is fixed. Otherwise, the point is constrained either in a plane or a line.
|
staticprotected |
Get orthonormals of the constraints.
If nnrms is 0, then not constrained. If nnrms is 3, then the point is fixed. Otherwise, the point is constrained either in a plane or a line.
|
protected |
Definition at line 825 of file smooth_medial.C.
References _wrk_window, COM_NC, Rocblas::copy_scalar(), Vector_3< Type >::cross_product(), i, j, k, max(), Element_node_enumerator::next(), nj, Vector_3< Type >::normalize(), Window_manifold_2::OP_MAX, Element_node_enumerator::size_of_edges(), and solve().
Referenced by redistribute_vertices_ridge(), and redistribute_vertices_smooth().
|
protected |
|
protected |
|
protected |
Get displacement in _usr_window based on nc in _buf_window.
Use nodal coordinates in _buf_window as target and nodal coordinates in _usr_window as initial position. Determine displacement in _usr_window.
Definition at line 1001 of file Rocmop_2.C.
References COM_assertion_msg, COM_NC, Rocblas::div_scalar(), i, j, ni, nj, Rocblas::sub(), and Rocmap::update_ghosts().
|
protected |
Identify ridge edges.
Definition at line 969 of file smooth_medial.C.
References _edges, _wrk_window, COM_DOUBLE, i, j, Element_node_enumerator::next(), nj, Vector_3< Type >::normalize(), Window_manifold_2::OP_MAX, Window_manifold_2::OP_MIN, and REAL_PANE.
|
protected |
Identify ridge edges.
|
protected |
Identify ridge edges.
|
protected |
Repair inverted tets or hexes.
Definition at line 1713 of file Rocmop_2.C.
References i, MesqPane::invert(), and ni.
|
protected |
Repair inverted tets.
|
protected |
Repair inverted tets.
Definition at line 748 of file Rocmop.C.
References i, MesqPane::invert(), and ni.
|
static |
Loads Rocmop onto Roccom with a given module name.
Definition at line 88 of file Rocmop.C.
References COM_METADATA, COM_new_attribute(), COM_new_window(), COM_RAWDATA, COM_set_member_function(), COM_set_object(), COM_STRING, COM_VOID, COM_window_init_done(), set_value(), smooth(), and smooth_in_place().
Referenced by COM_F_FUNC2(), and Rocmop_load_module().
|
static |
Loads Rocmop onto Roccom with a given module name.
|
static |
Loads Rocmop onto Roccom with a given module name.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
void mark_elems_from_nodes | ( | std::vector< std::vector< bool > > & | marked_nodes, |
std::vector< std::vector< bool > > & | marked_elems | ||
) |
Mark the nodes which contain marked elems.
void mark_elems_from_nodes | ( | std::vector< std::vector< bool > > & | marked_nodes, |
std::vector< std::vector< bool > > & | marked_elems | ||
) |
void mark_elems_from_nodes | ( | std::vector< std::vector< bool > > & | marked_nodes, |
std::vector< std::vector< bool > > & | marked_elems | ||
) |
Mark the nodes which contain marked elems.
|
protected |
Obtain the min and max dihedral angles.
Definition at line 1991 of file Rocmop_2.C.
References COMMPI_Initialized(), Angle_Metric_3::compute(), i, Geo_Metric_Base_3::initialize(), k, MPI_MAX, MPI_MIN, ni, nk, and rank.
|
protected |
Perform iterative smoothing.
Run an iterative smoothing method if needed until either the maximum number of iterations is reached or the required quality is achieved.
|
protected |
Perform iterative smoothing.
Run an iterative smoothing method if needed until either the maximum number of iterations is reached or the required quality is achieved.
Definition at line 798 of file Rocmop_1.C.
References COM_assertion_msg.
|
protected |
Perform iterative smoothing.
Run an iterative smoothing method if needed until either the maximum number of iterations is reached or the required quality is achieved.
pre_quality | see perform_smoothing() |
Definition at line 290 of file Rocmop.C.
References COM_assertion_msg, i, and MPI_MIN.
|
protected |
Perform noniterative smoothing.
|
protected |
Perform noniterative smoothing.
|
protected |
Perform noniterative smoothing.
Definition at line 344 of file Rocmop.C.
References COM_assertion_msg.
|
protected |
Perform smoothing on _buf_window.
Calls smoother_specific_init(), and then selects between perform_iterative_smoothing() and perform_noniterative_smoothing() as required by the currently selected smoothing method.
|
protected |
Perform smoothing on _wrk_window.
Calls smoother_specific_init(), and then selects between perform_iterative_smoothing() and perform_noniterative_smoothing() as required by the currently selected smoothing method.
pre_quality | pre-smoothed mesh quality or the worst quality possible if not in lazy or monotone mode. |
Definition at line 269 of file Rocmop.C.
References COM_assertion_msg.
|
protected |
Perform smoothing on _buf_window.
Calls smoother_specific_init(), and then selects between perform_iterative_smoothing() and perform_noniterative_smoothing() as required by the currently selected smoothing method.
Definition at line 776 of file Rocmop_1.C.
References COM_assertion_msg.
|
protected |
Randomly perturn stationary nodes on pane boundary, not on phys. surface.
Definition at line 1689 of file Rocmop_1.C.
References COM_assertion_msg, COM_NC, COMMPI_Initialized(), Angle_Metric_3::compute(), i, Geo_Metric_Base_3::initialize(), j, k, Mesquite::length(), MPI_MAX, ni, nj, nk, and cimg_library::cimg::rand().
|
protected |
Randomly perturn stationary nodes on pane boundary, not on phys. surface.
|
protected |
Print the min and max dihedral angles along with their locations.
Definition at line 1463 of file Rocmop_1.C.
References COMMPI_Initialized(), Angle_Metric_3::compute(), i, Geo_Metric_Base_3::initialize(), k, ni, nk, and rank.
|
protected |
Print the min and max dihedral angles along with their locations.
|
protected |
Single process print message if given verbosity level is exceeded.
Definition at line 1408 of file Rocmop_1.C.
References COMMPI_Initialized(), and rank.
|
protected |
Single process print message if given verbosity level is exceeded.
|
protected |
Print the quality range of marked elements, for debugging.
Definition at line 883 of file Rocmop.C.
References COM_assertion_msg, COMMPI_Initialized(), Angle_Metric_3::compute(), i, Geo_Metric_Base_3::initialize(), k, MPI_MAX, MPI_MIN, ni, nk, and rank.
|
protected |
Print the quality range of marked elements, for debugging.
|
protected |
Print the quality range of marked elements, for debugging.
|
protected |
Print the quality range of all elements, for debugging.
Definition at line 846 of file Rocmop.C.
References COM_assertion_msg, COMMPI_Initialized(), Angle_Metric_3::compute(), i, Geo_Metric_Base_3::initialize(), k, MPI_MAX, MPI_MIN, ni, nk, and rank.
|
protected |
Print the quality range of all elements, for debugging.
Definition at line 1559 of file Rocmop_1.C.
References COM_assertion_msg, COMMPI_Initialized(), Angle_Metric_3::compute(), i, Geo_Metric_Base_3::initialize(), k, MPI_MAX, MPI_MIN, ni, nk, and rank.
|
protected |
Print the quality range of all elements, for debugging.
void read_config_file | ( | const std::string & | cfname | ) |
Definition at line 122 of file Rocmop_1.C.
References COMMPI_Initialized(), get_next_line(), MPI_COMM_WORLD, and rank.
void read_config_file | ( | const std::string & | ) |
|
protected |
Redistribute ridge vertices within their tangent spaces.
Definition at line 547 of file smooth_medial.C.
References _edges, _wrk_window, COM_NC, Rocblas::copy_scalar(), get_redist_safe_factor(), i, min(), Window_manifold_2::OP_SUM, Element_node_enumerator::size_of_edges(), and swap().
Referenced by smooth_surf_medial().
|
protected |
Redistribute ridge vertices within their tangent spaces.
|
protected |
Redistribute ridge vertices within their tangent spaces.
|
protected |
Redistribute smooth vertices within their tangent spaces.
Definition at line 682 of file smooth_medial.C.
References _wrk_window, cimg_library::acos(), COM_NC, Rocblas::copy_scalar(), get_redist_safe_factor(), half_pi, i, j, k, max(), min(), Element_node_enumerator::next(), nj, Window_manifold_2::OP_SUM, pi, s, Element_node_vectors_k_const< Value >::set(), Element_node_enumerator::size_of_edges(), and sqrt().
Referenced by smooth_surf_medial().
|
protected |
Redistribute smooth vertices within their tangent spaces.
|
protected |
Redistribute smooth vertices within their tangent spaces.
|
staticprotected |
Perform a sum-reduction on the shared nodes for the given attribute.
|
staticprotected |
Perform a sum-reduction on the shared nodes for the given attribute.
Definition at line 595 of file Rocmop.C.
References MPI_SUM.
|
staticprotected |
Perform a sum-reduction on the shared nodes for the given attribute.
void set_value | ( | const char * | opt, |
const void * | val | ||
) |
Set a Rocomp option.
opt | the option to be set. |
val | the new value for the option. |
Option List:
void set_value | ( | const char * | opt, |
const void * | val | ||
) |
Set a Rocomp option.
opt | the option to be set. |
val | the new value for the option. |
Option List:
Definition at line 529 of file Rocmop.C.
References COM_assertion_msg, and cimg_library::cimg::option().
Referenced by load().
void set_value | ( | const char * | opt, |
const void * | val | ||
) |
Set a Rocomp option.
opt | the option to be set. |
val | the new value for the option. |
Option List:
void smooth | ( | const COM::Attribute * | pmesh, |
COM::Attribute * | disp | ||
) |
Smooth the mesh in a Rocmop managed buffer.
Creates a copy of the mesh, which is then optimized in place via perform_smoothing().
pmesh | The pmesh to be smoothed. |
disp | The attribute where displacements to new positions should be stored. |
Definition at line 132 of file Rocmop.C.
References COM_assertion_msg, COM_MESH, COM_NC, COM_PMESH, MPI_MAX, and Rocblas::sub().
Referenced by load().
void smooth | ( | const COM::Attribute * | pmesh, |
COM::Attribute * | disp | ||
) |
Smooth the mesh in a Rocmop managed buffer.
Creates a copy of the mesh, which is then optimized in place via perform_smoothing().
pmesh | The pmesh to be smoothed. |
disp | The attribute where displacements to new positions should be stored. |
void smooth | ( | const COM::Attribute * | pmesh, |
COM::Attribute * | disp, | ||
double * | timestep = NULL |
||
) |
Smooth the mesh in a Rocmop managed buffer.
Creates a copy of the mesh, which is then optimized in place via perform_smoothing().
pmesh | The pmesh to be smoothed. |
disp | The attribute where displacements to new positions should be stored. |
timestep | If a timestep is supplied, then disp will contain velocity vectors instead of displacement vectors |
Definition at line 700 of file Rocmop_2.C.
References COM_assertion_msg, COM_MESH, COM_PMESH, and MPI_MAX.
|
protected |
Definition at line 1471 of file Rocmop_2.C.
void smooth_in_place | ( | COM::Attribute * | pmesh | ) |
Smooth a mesh in place..
The mesh is optimized in place via perform_smoothing().
pmesh | The pmesh to be smoothed. |
Definition at line 204 of file Rocmop.C.
References COM_assertion_msg, COM_MESH, COM_PMESH, and MPI_MIN.
Referenced by load().
void smooth_in_place | ( | COM::Attribute * | pmesh | ) |
Smooth a mesh in place..
The mesh is optimized in place via perform_smoothing().
pmesh | The pmesh to be smoothed. |
|
protected |
Smooth the panes of the working window using MESQUITE.
This method creates MesqPane attributes for each of the local panes, which are then smoothed serially.
ghost_level | whether to use ghost cells and nodes. |
Definition at line 570 of file Rocmop.C.
References MeshSet::add_mesh(), j, MSQ_CHKERR, ShapeImprovementWrapper::run_instructions(), MesqPane::set_verb(), and total_npanes.
|
protected |
Smooth the panes of the buffer window using MESQUITE.
This method creates MesqPane attributes for each of the local panes, which are then smoothed serially.
ghost_level | whether to use ghost cells and nodes. |
|
protected |
Smooth the panes of the buffer window using MESQUITE.
This method creates MesqPane attributes for each of the local panes, which are then smoothed serially.
ghost_level | whether to use ghost cells and nodes. |
|
protected |
Smooths a surface using the medial quadric.
Definition at line 230 of file smooth_medial.C.
References _rediter, _usr_window, _verb, _wrk_window, COM_assertion_msg, COM_NC, compute_medial_quadric(), Rocblas::copy(), evaluate_face_normals(), i, redistribute_vertices_ridge(), and redistribute_vertices_smooth().
|
protected |
Smooths a surface using the medial quadric.
|
protected |
Smooths a surface using the medial quadric.
|
inlineprotected |
Smooths a volume using Mesquite with only shared node information.
This method operates in two steps. First the shared nodes which are not on the physical boundary of the mesh are redistributed via element based laplacian smoothing. Then, the real nodes of the panes are smoothed individually with pane boundaries fixed.
pre_quality | Mesh quality prior to smoothing. |
Definition at line 276 of file Rocmop_1.h.
|
protected |
Smooths a volume using Mesquite with only shared node information.
This method operates in two steps. First the shared nodes which are not on the physical boundary of the mesh are redistributed via element based laplacian smoothing. Then, the real nodes of the panes are smoothed individually with pane boundaries fixed.
pre_quality | Mesh quality prior to smoothing. |
Definition at line 64 of file smooth_mesquite_ng.C.
References COM_assertion_msg, COM_DOUBLE, COM_INT, COM_NC, COM_PCONN, COMMPI_Initialized(), Angle_Metric_3::compute(), Rocblas::copy(), Rocblas::copy_scalar(), dist(), Rocblas::div(), i, Geo_Metric_Base_3::initialize(), j, k, MPI_MAX, MPI_MIN, ni, nj, nk, Vector_3< Type >::norm(), nvc::norm(), Vector_3< Type >::normalize(), rank, Rocmap::reduce_maxabs_on_shared_nodes(), and total_npanes.
|
inlineprotected |
Smooths a volume using Mesquite with only shared node information.
This method operates in two steps. First the shared nodes which are not on the physical boundary of the mesh are redistributed via element based laplacian smoothing. Then, the real nodes of the panes are smoothed individually with pane boundaries fixed.
pre_quality | Mesh quality prior to smoothing. |
Definition at line 298 of file Rocmop_2.h.
|
protected |
Smooth a volume via Mesquite using ghost information.
This method operates in two steps. First the panes, including ghost nodes, are smoothed individually using Mesquite. Then, shared nodes are moved to the average of their positions across all panes. These steps two steps repeat until either ncycles sub-cycles are completed or the loss in quality between the two steps is less than ctol.
pre_quality | Mesh quality prior to smoothing. |
Definition at line 58 of file smooth_mesquite_1.C.
References COM_NC, COM_PCONN, Rocmap::reduce_average_on_shared_nodes(), and Rocmap::update_ghosts().
|
protected |
Smooth a volume via Mesquite using ghost information.
This method operates in two steps. First the panes, including ghost nodes, are smoothed individually using Mesquite. Then, shared nodes are moved to the average of their positions across all panes. These steps two steps repeat until either ncycles sub-cycles are completed or the loss in quality between the two steps is less than ctol.
pre_quality | Mesh quality prior to smoothing. |
Definition at line 59 of file smooth_mesquite.C.
References COM_NC, COM_PCONN, i, MPI_MAX, Rocmap::reduce_average_on_shared_nodes(), total_npanes, and Rocmap::update_ghosts().
|
protected |
Smooth a volume via Mesquite using ghost information.
This method operates in two steps. First the panes, including ghost nodes, are smoothed individually using Mesquite. Then, shared nodes are moved to the average of their positions across all panes. These steps two steps repeat until either ncycles sub-cycles are completed or the loss in quality between the two steps is less than ctol.
pre_quality | Mesh quality prior to smoothing. |
|
protected |
Perform smoother specific initialization.
Perform smoother specific initializing, for example initializing the Window_manifold_2 for a surface mesh, adding smoother specific attributes to the buffer window, etc.
Definition at line 364 of file Rocmop.C.
References COM_assertion_msg, COM_compatible_types(), COM_DOUBLE, COM_INT, COM_MESH, COM_PMESH, and Rocsurf::initialize().
|
protected |
Perform smoother specific initialization.
Perform smoother specific initializing, for example initializing the Window_manifold_2 for a surface mesh, adding smoother specific attributes to the buffer window, etc.
|
protected |
Perform smoother specific initialization.
Perform smoother specific initializing, for example initializing the Window_manifold_2 for a surface mesh, adding smoother specific attributes to the buffer window, etc.
|
inlinestaticprotected |
Definition at line 378 of file Rocmop.h.
References denom.
Referenced by get_redist_safe_factor(), and solve().
|
inlinestaticprotected |
|
inlinestaticprotected |
|
inlinestaticprotected |
Definition at line 407 of file Rocmop.h.
References solve().
|
inlinestaticprotected |
|
inlinestaticprotected |
|
inlinestaticprotected |
Definition at line 432 of file Rocmop_1.h.
References solve().
|
inlinestaticprotected |
|
inlinestaticprotected |
Definition at line 459 of file Rocmop_2.h.
References solve().
|
static |
Unloads Rocmop from Roccom.
Definition at line 120 of file Rocmop.C.
References COM_delete_window(), and COM_get_object().
Referenced by COM_F_FUNC2(), and Rocmop_unload_module().
|
static |
Unloads Rocmop from Roccom.
|
static |
Unloads Rocmop from Roccom.
|
protected |
Update real nodal coordinates of _buf_window from _usr_window.
Use real nodal coordinates of _usr_window to update real nodal coordinates of _buf_window
Definition at line 824 of file Rocmop_2.C.
References COM_assertion_msg, COM_NC, i, j, ni, and nj.
|
inlineprotected |
Check that the object is valid.
Definition at line 205 of file Rocmop_1.h.
References _cookie, and MOP_COOKIE.
|
inlineprotected |
Check that the object is valid.
Definition at line 206 of file Rocmop.h.
References _cookie, and MOP_COOKIE.
|
inlineprotected |
Check that the object is valid.
Definition at line 227 of file Rocmop_2.h.
References _cookie, and MOP_COOKIE.
|
protected |
Definition at line 426 of file Rocmop_1.C.
|
protected |
|
protected |
The buffer window.
Definition at line 464 of file Rocmop_1.h.
|
protected |
Stores directions of nodal contraints.
Definition at line 425 of file Rocmop.h.
Referenced by compute_medial_quadric().
|
protected |
Stores types of nodal constraints.
Definition at line 424 of file Rocmop.h.
Referenced by compute_medial_quadric().
|
protected |
|
protected |
Definition at line 466 of file Rocmop_1.h.
|
protected |
|
protected |
originally a static in check_displacements
Smooth every _smoothfreq'th call.
Definition at line 520 of file Rocmop_1.h.
|
protected |
ridge edges
Definition at line 426 of file Rocmop.h.
Referenced by identify_ridge_edges(), and redistribute_vertices_ridge().
|
protected |
Eigenvalue thresholds.
Definition at line 420 of file Rocmop.h.
Referenced by eigen_analyze_vertex().
|
protected |
|
protected |
If true (default false), then invert hexes.
Definition at line 543 of file Rocmop_2.h.
|
protected |
If true (default false), then invert tets.
Definition at line 541 of file Rocmop_2.h.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Maximum displacement allowed.
Definition at line 512 of file Rocmop_1.h.
|
protected |
|
protected |
|
protected |
No.iterations for vertex redistribution.
Definition at line 423 of file Rocmop.h.
Referenced by smooth_surf_medial().
|
protected |
|
protected |
Definition at line 422 of file Rocmop.h.
Referenced by eigen_analyze_vertex().
|
protected |
Definition at line 514 of file Rocmop_1.h.
|
protected |
The user's window.
Definition at line 438 of file Rocmop.h.
Referenced by agree_double(), agree_int(), and smooth_surf_medial().
|
protected |
Verbose level.
Definition at line 453 of file Rocmop.h.
Referenced by compute_medial_quadric(), evaluate_face_normals(), and smooth_surf_medial().
|
protected |
|
protected |
Choice of Mesquite Smoothing Wrappers.
Definition at line 507 of file Rocmop_2.h.
|
protected |
The working window.
Definition at line 439 of file Rocmop.h.
Referenced by compute_medial_quadric(), evaluate_face_normals(), get_redist_safe_factor(), identify_ridge_edges(), redistribute_vertices_ridge(), redistribute_vertices_smooth(), and smooth_surf_medial().
|
protected |
originally a static in smooth()
Definition at line 518 of file Rocmop_1.h.
|
protected |
Smooth every _smoothfreq'th call.
Definition at line 516 of file Rocmop_1.h.