MOAB: Mesh Oriented datABase  (version 5.2.1)
2d_metrics_test.cpp File Reference
#include "TestUtil.hpp"
#include "Mesquite.hpp"
#include "MeshImpl.hpp"
#include "MsqError.hpp"
#include "MsqVertex.hpp"
#include "PMeanPTemplate.hpp"
#include "ConjugateGradient.hpp"
#include "FeasibleNewton.hpp"
#include "PlanarDomain.hpp"
#include "XYPlanarDomain.hpp"
#include "ReferenceMesh.hpp"
#include "RefMeshTargetCalculator.hpp"
#include "TQualityMetric.hpp"
#include "InstructionQueue.hpp"
#include "IdealShapeTarget.hpp"
#include "MeshWriter.hpp"
#include "TSquared.hpp"
#include "TShapeNB1.hpp"
#include "TShapeB1.hpp"
#include "TShapeOrientNB1.hpp"
#include "TShapeOrientNB2.hpp"
#include "TShapeOrientB1.hpp"
#include "TShapeSize2DNB1.hpp"
#include "TShapeSizeB1.hpp"
#include "TShapeSize2DB2.hpp"
#include "TShapeSizeB3.hpp"
#include "TShapeSizeOrientNB1.hpp"
#include "TShapeSizeOrientB1.hpp"
#include "TShapeSizeOrientB2.hpp"
#include "InvTransBarrier.hpp"
#include <iostream>
#include <sstream>
#include <stdlib.h>
#include <assert.h>
+ Include dependency graph for 2d_metrics_test.cpp:

Go to the source code of this file.

Defines

#define CHKERR(A)

Typedefs

typedef void(* mesh_reader_t )(MeshImpl *mesh)
typedef bool(* exp_func )(int)

Functions

void usage ()
bool run_smoother (mesh_reader_t input_mesh, mesh_reader_t reference_mesh, int exp, int n, TMetric *metric)
void write_mesh (mesh_reader_t mesh, const char *filename)
void write_mesh (MeshImpl *mesh, const char *filename)
void quarter_annulus (double inner, double outer, Mesh *mesh)
void parabolic_squash (double height, Mesh *mesh)
void horseshoe (double x_inner, double x_outer, double y_inner, double y_outer, Mesh *mesh)
void scale (double s, Mesh *mesh)
void reference (MeshImpl *mesh)
void exp_1_init (MeshImpl *mesh)
void exp_2_init (MeshImpl *mesh)
void exp_3_ref (MeshImpl *mesh)
void exp_4_init (MeshImpl *mesh)
void exp_5_init (MeshImpl *mesh)
bool run_exp_1 (int n)
bool run_exp_2 (int n)
bool run_exp_3 (int n)
bool run_exp_4 (int n)
bool run_exp_5 (int n)
int main (int argc, char *argv[])

Variables

const double P = 1.0
const bool ONE_TRI_SAMPLE = true
const bool LOCAL_PATCHES = false
const bool USE_FEAS_NEWT = true
const bool WRITE_VTK = true
const bool WRITE_GNUPLOT = false
const exp_func experiment [] = { &run_exp_1, &run_exp_2, &run_exp_3, &run_exp_4, &run_exp_5 }
TShapeSizeOrientNB1 nb1
TShapeOrientNB1 nb2
TShapeSize2DNB1 nb3
TShapeNB1 nb4
TSquared nb5
TShapeOrientNB2 nb6
TMetricnb [] = { &nb1, &nb2, &nb3, &nb4, &nb5, &nb6 }
TShapeSizeOrientB1 b1
TShapeOrientB1 b2
TShapeSize2DB2 b3
TShapeB1 b4
TShapeSizeOrientB2 b5
TShapeSizeB1 b6
TShapeSizeB3 b7
TMetricb [] = { &b1, &b2, &b3, &b4, &b5, &b6, &b7 }

Define Documentation

#define CHKERR (   A)
Value:
if( MSQ_CHKERR( ( A ) ) )       \
    {                               \
        cerr << ( A ) << std::endl; \
        exit( 3 );                  \
    }

Definition at line 70 of file 2d_metrics_test.cpp.

Referenced by exp_1_init(), horseshoe(), parabolic_squash(), quarter_annulus(), reference(), run_smoother(), scale(), and write_mesh().


Typedef Documentation

typedef bool( * exp_func)(int)

Definition at line 163 of file 2d_metrics_test.cpp.

typedef void( * mesh_reader_t)(MeshImpl *mesh)

Definition at line 93 of file 2d_metrics_test.cpp.


Function Documentation

void exp_1_init ( MeshImpl mesh)

Definition at line 112 of file 2d_metrics_test.cpp.

References CHKERR, filename, MBMesquite::MeshImpl::get_all_vertices(), MBMesquite::MeshImpl::read_vtk(), STRINGIFY, MBMesquite::MeshImpl::vertex_set_coordinates(), MBMesquite::MeshImpl::vertices_get_coordinates(), and vtx().

Referenced by exp_2_init(), run_exp_1(), and run_exp_3().

{
    MsqError err;
    std::string filename = std::string( STRINGIFY( SRCDIR ) ) + "/2d_metrics_reference.vtk";
    mesh->read_vtk( filename.c_str(), err );CHKERR( err )

    vector< Mesh::VertexHandle > handles;
    mesh->get_all_vertices( handles, err );CHKERR( err )

    // vector<Mesh::VertexHandle>::iterator i;
    for( size_t i = 0; i < 8; ++i )
    {
        MsqVertex vtx;
        mesh->vertices_get_coordinates( &handles[i], &vtx, 1, err );CHKERR( err )

        vtx[1] = -0.4 * ( vtx[0] - 0.5 ) * ( vtx[0] - 0.5 ) + 0.1;

        mesh->vertex_set_coordinates( handles[i], vtx, err );CHKERR( err )
    }
}
void exp_2_init ( MeshImpl mesh)

Definition at line 133 of file 2d_metrics_test.cpp.

References exp_1_init(), and scale().

Referenced by run_exp_2().

{
    exp_1_init( mesh );
    scale( 8.0, mesh );
}
void exp_3_ref ( MeshImpl mesh)

Definition at line 139 of file 2d_metrics_test.cpp.

References quarter_annulus(), and reference().

Referenced by run_exp_3().

{
    reference( mesh );
    quarter_annulus( 0.65, 1.30, mesh );
}
void exp_4_init ( MeshImpl mesh)

Definition at line 145 of file 2d_metrics_test.cpp.

References parabolic_squash(), and reference().

Referenced by run_exp_4().

{
    reference( mesh );
    parabolic_squash( 0.8, mesh );
}
void exp_5_init ( MeshImpl mesh)

Definition at line 151 of file 2d_metrics_test.cpp.

References horseshoe(), and reference().

Referenced by run_exp_5().

{
    reference( mesh );
    horseshoe( 0.26, 0.53, 0.26, 1.3, mesh );
}
void horseshoe ( double  x_inner,
double  x_outer,
double  y_inner,
double  y_outer,
Mesh mesh 
)

Definition at line 367 of file 2d_metrics_test.cpp.

References CHKERR, MBMesquite::Mesh::get_all_vertices(), MBMesquite::Mesh::vertex_set_coordinates(), MBMesquite::Mesh::vertices_get_coordinates(), and vtx().

Referenced by exp_5_init().

{
    MsqError err;
    vector< Mesh::VertexHandle > handles;
    mesh->get_all_vertices( handles, err );CHKERR( err )

    vector< Mesh::VertexHandle >::iterator i;
    for( i = handles.begin(); i != handles.end(); ++i )
    {
        MsqVertex vtx;
        mesh->vertices_get_coordinates( &*i, &vtx, 1, err );CHKERR( err )

        double a = M_PI * ( 1 - vtx[0] );
        vtx[0]   = ( x_inner + ( x_outer - x_inner ) * vtx[1] ) * cos( a );
        vtx[1]   = ( y_inner + ( y_outer - y_inner ) * vtx[1] ) * sin( a );

        mesh->vertex_set_coordinates( *i, vtx, err );CHKERR( err )
    }
}
int main ( int  argc,
char *  argv[] 
)

Definition at line 484 of file 2d_metrics_test.cpp.

References experiment, fail(), n, reference(), usage, WRITE_GNUPLOT, and write_mesh().

{
    if( argc > 2 ) usage();
    int exp = 0, n = 0;
    if( argc == 2 && !sscanf( argv[1], "%d.%d", &exp, &n ) ) usage();

    if( exp > 5 ) usage();

    int lower, upper;
    if( exp > 0 ) { lower = upper = exp - 1; }
    else
    {
        lower = 0;
        upper = 4;
    }

    if( WRITE_GNUPLOT ) write_mesh( reference, "reference" );

    int fail = 0;
    for( int e = lower; e <= upper; ++e )
        fail += !( experiment[e]( n ) );

    return fail;
}
void parabolic_squash ( double  height,
Mesh mesh 
)

Definition at line 347 of file 2d_metrics_test.cpp.

References CHKERR, MBMesquite::Mesh::get_all_vertices(), MBMesquite::Mesh::vertex_set_coordinates(), MBMesquite::Mesh::vertices_get_coordinates(), and vtx().

Referenced by exp_4_init().

{
    MsqError err;
    vector< Mesh::VertexHandle > handles;
    mesh->get_all_vertices( handles, err );CHKERR( err )

    vector< Mesh::VertexHandle >::iterator i;
    for( i = handles.begin(); i != handles.end(); ++i )
    {
        MsqVertex vtx;
        mesh->vertices_get_coordinates( &*i, &vtx, 1, err );CHKERR( err )

        const double br = ( 1.0 - vtx[1] ) * height;
        const double a  = -4 * br;
        vtx[1] += a * ( vtx[0] - 0.5 ) * ( vtx[0] - 0.5 ) + br;

        mesh->vertex_set_coordinates( *i, vtx, err );CHKERR( err )
    }
}
void quarter_annulus ( double  inner,
double  outer,
Mesh mesh 
)

Definition at line 326 of file 2d_metrics_test.cpp.

References CHKERR, MBMesquite::Mesh::get_all_vertices(), inner(), MBMesquite::Mesh::vertex_set_coordinates(), MBMesquite::Mesh::vertices_get_coordinates(), and vtx().

Referenced by exp_3_ref().

{
    MsqError err;
    vector< Mesh::VertexHandle > handles;
    mesh->get_all_vertices( handles, err );CHKERR( err )

    vector< Mesh::VertexHandle >::iterator i;
    for( i = handles.begin(); i != handles.end(); ++i )
    {
        MsqVertex vtx;
        mesh->vertices_get_coordinates( &*i, &vtx, 1, err );CHKERR( err )

        double r = inner + ( outer - inner ) * vtx[1];
        double a = M_PI * 0.5 * ( 1.0 - vtx[0] );
        vtx[0]   = r * cos( a );
        vtx[1]   = r * sin( a );

        mesh->vertex_set_coordinates( *i, vtx, err );CHKERR( err )
    }
}
void reference ( MeshImpl mesh)

Definition at line 105 of file 2d_metrics_test.cpp.

References CHKERR, filename, MBMesquite::MeshImpl::read_vtk(), and STRINGIFY.

Referenced by exp_3_ref(), exp_4_init(), exp_5_init(), main(), run_exp_1(), run_exp_2(), run_exp_4(), run_exp_5(), and run_smoother().

{
    MsqError err;
    std::string filename = std::string( STRINGIFY( SRCDIR ) ) + "/2d_metrics_reference.vtk";
    mesh->read_vtk( filename.c_str(), err );CHKERR( err )
}
bool run_exp_1 ( int  n)

Definition at line 183 of file 2d_metrics_test.cpp.

References exp_1_init(), nb, reference(), run_smoother(), and write_mesh().

{
    if( n > 6 ) return false;

    write_mesh( exp_1_init, "Exp1-initial" );

    bool r  = true, tmpr;
    int beg = 0, end = 5;
    if( n ) beg = end = n - 1;

    for( int i = beg; i <= end; ++i )
    {
        if( i == 5 )
            tmpr = run_smoother( &exp_1_init, 0, 1, 6, nb[0] );
        else
            tmpr = run_smoother( &exp_1_init, &reference, 1, i + 1, nb[i] );
        r = r && tmpr;
    }
    return r;
}
bool run_exp_2 ( int  n)

Definition at line 204 of file 2d_metrics_test.cpp.

References exp_2_init(), nb, reference(), run_smoother(), and write_mesh().

{
    if( n > 6 ) return false;

    write_mesh( exp_2_init, "Exp2-initial" );

    bool r  = true, tmpr;
    int beg = 0, end = 5;
    if( n ) beg = end = n - 1;

    for( int i = beg; i <= end; ++i )
    {
        if( i == 5 )
            tmpr = run_smoother( &exp_2_init, 0, 2, 6, nb[0] );
        else
            tmpr = run_smoother( &exp_2_init, &reference, 2, i + 1, nb[i] );
        r = r && tmpr;
    }
    return r;
}
bool run_exp_3 ( int  n)

Definition at line 225 of file 2d_metrics_test.cpp.

References exp_1_init(), exp_3_ref(), nb, run_smoother(), and write_mesh().

{
    if( n > 6 ) return false;

    write_mesh( exp_3_ref, "Exp3-reference" );

    bool r  = true, tmpr;
    int beg = 0, end = 5;
    if( n ) beg = end = n - 1;

    for( int i = beg; i <= end; ++i )
    {
        if( i == 5 )
            tmpr = run_smoother( &exp_1_init, 0, 3, 6, nb[0] );
        else
            tmpr = run_smoother( &exp_1_init, &exp_3_ref, 3, i + 1, nb[i] );
        r = r && tmpr;
    }
    return r;
}
bool run_exp_4 ( int  n)

Definition at line 246 of file 2d_metrics_test.cpp.

References b1, b5, exp_4_init(), nb1, reference(), run_smoother(), and write_mesh().

{
    if( n > 3 ) return false;

    write_mesh( exp_4_init, "Exp4-initial" );
    TMetric* m[3] = { &nb1, &b1, &b5 };

    bool r  = true, tmpr;
    int beg = 0, end = 2;
    if( n ) beg = end = n - 1;

    for( int i = beg; i <= end; ++i )
    {
        tmpr = run_smoother( &exp_4_init, &reference, 4, i + 1, m[i] );
        r    = r && tmpr;
    }
    return r;
}
bool run_exp_5 ( int  n)

Definition at line 265 of file 2d_metrics_test.cpp.

References b, exp_5_init(), nb, reference(), run_smoother(), and write_mesh().

{
    if( n > 12 || n == 5 ) return false;

    write_mesh( exp_5_init, "Exp5-initial" );

    bool r = true, tmpr = false;
    int beg = 0, end = 11;
    if( n ) beg = end = n - 1;

    for( int i = beg; i <= end; ++i )
    {
        switch( i )
        {
            case 0:
            case 1:
            case 2:
            case 3:
            case 4:
                tmpr = run_smoother( &exp_5_init, &reference, 5, i + 1, b[i] );
                break;
            case 5:
                break;
            case 6:
            case 7:
            case 8:
            case 9:
            case 10: {
                InvTransBarrier metric( nb[i - 6] );
                tmpr = run_smoother( &exp_5_init, &reference, 5, i + 1, &metric );
            }
            break;
            case 11: {
                InvTransBarrier metric( nb[0] );
                tmpr = run_smoother( &exp_5_init, 0, 5, 12, &metric );
            }
            break;
        }
        r = r && tmpr;
    }
    return r;
}
bool run_smoother ( mesh_reader_t  input_mesh,
mesh_reader_t  reference_mesh,
int  exp,
int  n,
TMetric metric 
)

Definition at line 411 of file 2d_metrics_test.cpp.

References MBMesquite::TerminationCriterion::add_absolute_vertex_movement(), MBMesquite::TerminationCriterion::add_iteration_limit(), CHKERR, inner(), LOCAL_PATCHES, MSQ_CHKERR, n, MBMesquite::outer(), P, reference(), MBMesquite::IQInterface::run_instructions(), MBMesquite::QualityImprover::set_inner_termination_criterion(), MBMesquite::InstructionQueue::set_master_quality_improver(), MBMesquite::QualityImprover::set_outer_termination_criterion(), MBMesquite::PatchSetUser::use_element_on_vertex_patch(), USE_FEAS_NEWT, MBMesquite::PatchSetUser::use_global_patch(), and write_mesh().

Referenced by main(), run_exp_1(), run_exp_2(), run_exp_3(), run_exp_4(), and run_exp_5().

{
    MsqError err;
    MeshImpl active, reference;
    input_mesh( &active );

    ReferenceMesh refmesh( &reference );
    RefMeshTargetCalculator ref_target( &refmesh );
    IdealShapeTarget ident_target;
    TargetCalculator* target;
    if( reference_mesh )
    {
        reference_mesh( &reference );
        target = &ref_target;
    }
    else
    {
        target = &ident_target;
    }

    TQualityMetric metric( target, target_metric );

    TerminationCriterion outer, inner;
    if( LOCAL_PATCHES )
    {
        outer.add_iteration_limit( 100 );
        outer.add_absolute_vertex_movement( 1e-3 );
        inner.add_iteration_limit( 3 );
    }
    else
    {
        outer.add_iteration_limit( 1 );
        inner.add_absolute_vertex_movement( 1e-4 );
        inner.add_iteration_limit( 100 );
    }

    PMeanPTemplate of( P, &metric );
    ConjugateGradient cg( &of );
    FeasibleNewton fn( &of );
    if( LOCAL_PATCHES )
    {
        cg.use_element_on_vertex_patch();
        fn.use_element_on_vertex_patch();
    }
    else
    {
        cg.use_global_patch();
        fn.use_global_patch();
    }
    VertexMover* solver = USE_FEAS_NEWT ? (VertexMover*)&fn : (VertexMover*)&cg;
    XYPlanarDomain plane2;
    solver->set_inner_termination_criterion( &inner );
    solver->set_outer_termination_criterion( &outer );

    InstructionQueue q;
    q.set_master_quality_improver( solver, err );CHKERR( err )

    cout << "Running " << exp << "." << n << " ...";

    MeshDomainAssoc mesh_and_domain = MeshDomainAssoc( &active, &plane2 );
    q.run_instructions( &mesh_and_domain, err );
    if( MSQ_CHKERR( err ) )
    {
        cout << "######## EXPERIMENT " << exp << "." << n << " FAILED! ##########" << endl;
        return false;
    }

    ostringstream s;
    s << "Exp" << exp << "-" << n;
    write_mesh( &active, s.str().c_str() );
    return true;
}
void usage ( )

Definition at line 84 of file 2d_metrics_test.cpp.

{
    cerr << "main [e[.m]]" << endl;
    cerr << "Run experiments from 2d metrics paper" << endl;
    cerr << "e : expiriment" << endl;
    cerr << "m : metric number within experiment" << endl;
    cerr << "default is all" << endl;
}
void write_mesh ( mesh_reader_t  mesh,
const char *  filename 
)

Definition at line 404 of file 2d_metrics_test.cpp.

References mesh.

Referenced by main(), run_exp_1(), run_exp_2(), run_exp_3(), run_exp_4(), run_exp_5(), and run_smoother().

{
    MeshImpl mesh;
    mesh_func( &mesh );
    write_mesh( &mesh, filename );
}
void write_mesh ( MeshImpl mesh,
const char *  filename 
)

Definition at line 387 of file 2d_metrics_test.cpp.

References CHKERR, write_eps(), WRITE_GNUPLOT, WRITE_VTK, MBMesquite::MeshImpl::write_vtk(), MBMesquite::MeshWriter::X, and MBMesquite::MeshWriter::Y.

{
    MsqError err;
    if( WRITE_VTK )
    {
        string vfile = string( filename ) + ".vtk";
        mesh->write_vtk( vfile.c_str(), err );CHKERR( err )
        cout << "Wrote: \"" << vfile << '"' << endl;
    }
    if( WRITE_GNUPLOT )
    {
        string vfile = string( filename ) + ".eps";
        MeshWriter::write_eps( mesh, vfile.c_str(), MeshWriter::Projection( MeshWriter::X, MeshWriter::Y ), err );CHKERR( err )
        cout << "Wrote: \"" << vfile << '"' << endl;
    }
}

Variable Documentation

TMetric* b[] = { &b1, &b2, &b3, &b4, &b5, &b6, &b7 }

Definition at line 181 of file 2d_metrics_test.cpp.

Referenced by MBMesquite::TerminationCriterion::accumulate_inner(), moab::IntxAreaUtils::area_spherical_triangle_girard(), moab::IntxAreaUtils::area_spherical_triangle_lHuiller(), assert_vector_element(), moab::HiReconstruction::average_vertex_normal(), TopologyInfoTest::bad_type(), MBMesquite::NodeSet::both_edge_nodes(), moab::MeshGeneration::BrickInstance(), closedsurface_uref_hirec_convergence_study(), MBMesquite::ObjectiveFunction::compute_patch_numerical_gradient(), MBMesquite::ObjectiveFunction::compute_subpatch_numerical_gradient(), create(), MBMesquite::TerminationCriterion::cull_vertices(), MBMesquite::do_numerical_hessian(), moab::SmoothFace::DumpModelControlPoints(), moab::IntxUtils::EdgeIntersections2(), moab::IntxUtils::EdgeIntxRllCs(), moab::RangeMap< damsel_handle, EntityHandle, 0 >::equal_range(), erase_test(), MBMesquite::OFEvaluator::evaluate(), MBMesquite::TShapeOrientB2::evaluate_with_grad(), MBMesquite::ObjectiveFunction::evaluate_with_gradient(), MBMesquite::TShapeOrientB2::evaluate_with_hess(), MBMesquite::PatchData::fill_global_patch(), findpt_hash_2(), findpt_hash_3(), GaussIntegration::get_tet_rule_pts_and_weight(), moab::DGMSolver::get_tri_natural_coords(), MBMesquite::get_u_perp(), hash_range_2(), hash_range_3(), MBMesquite::LinearTriangle::ideal(), MBMesquite::LinearTetrahedron::ideal(), MBMesquite::LinearPrism::ideal(), MBMesquite::TriLagrangeShape::ideal(), MBMesquite::TetLagrangeShape::ideal(), MBMesquite::ObjectiveFunctionTemplate::initialize_block_coordinate_descent(), MBMesquite::PatchPowerMeanP::initialize_block_coordinate_descent(), moab::IntxUtils::intersect_great_circle_arc_with_clat_arc(), moab::IntxUtils::intersect_great_circle_arcs(), is_error(), legendre_matrix(), lob_bnd_1(), lob_bnd_2(), moab::RangeMap< damsel_handle, EntityHandle, 0 >::lower_bound(), main(), mat_inv_3(), FileTokenizerTest::match_one_test(), moab::TupleList::merge_index_sort(), moab::GeomUtil::min_max_3(), moab::Matrix::mmult3(), MBMesquite::MSQ_MAX_2(), MBMesquite::MSQ_MIN_2(), FileTokenizerTest::newline_test(), MBMesquite::DomainUtil::non_colinear_vertices(), moab::LinearHex::normalFcn(), moab::LinearQuad::normalFcn(), moab::LinearTri::normalFcn(), moab::LinearTet::normalFcn(), moab::operator&(), MBMesquite::operator+(), MBMesquite::operator-(), moab::operator|(), MBMesquite::QuasiNewton::optimize_vertex_positions(), moab::IntxUtils::oriented_spherical_angle(), moab::BSPTree::Plane::Plane(), moab::point_perp(), moab::GeomQueryTool::poly_solid_angle(), MBMesquite::CircleDomain::position_from_length(), IntxUtilsCSLAM::quasi_smooth_field(), moab::OrientedBoxTreeTool::ray_intersect_triangles(), moab::GeomUtil::ray_tri_intersect(), moab::ReadMCNP5::read_file_header(), moab::ReadMCNP5::read_mesh_planes(), moab::ReadMCNP5::read_tally_header(), MBMesquite::TerminationCriterion::reset_inner(), run_exp_5(), MBMesquite::NonSmoothDescent::search_direction(), MBMesquite::NonSmoothDescent::search_edges_faces(), moab::BVHTree::set_interval(), moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::set_interval(), IntxUtilsCSLAM::slotted_cylinder_field(), moab::OrientedBoxTreeTool::sphere_intersect_triangles(), moab::IntxAreaUtils::spherical_angle(), tensor_ig3(), CompositeOFTest::test_add_hessian(), ConicDomainTest::test_closest_point(), test_entity_owner(), ConicDomainTest::test_normal_at(), test_pack_poly(), CompositeOFTest::test_scalar_add_hessian(), CompositeOFTest::test_scalar_multiply_hessian(), ConicDomainTest::test_snap_to(), ArrayMeshTest::test_vertices_set_byte(), iMeshTest::testVertexFlagNone(), VtkTest::tri_check_validity(), MBMesquite::OFEvaluator::update(), moab::RangeMap< damsel_handle, EntityHandle, 0 >::upper_bound(), v_tet_edge_ratio(), v_tri_aspect_ratio(), v_tri_edge_ratio(), v_tri_radius_ratio(), MBMesquite::vector_product(), moab::verify(), moab::RayIntersector::visit(), and moab::IODebugTrack::~IODebugTrack().

Definition at line 176 of file 2d_metrics_test.cpp.

Referenced by moab::MBuuid::MBuuid().

Definition at line 177 of file 2d_metrics_test.cpp.

Referenced by moab::MBuuid::MBuuid().

Definition at line 178 of file 2d_metrics_test.cpp.

Referenced by moab::MBuuid::MBuuid(), and run_exp_4().

Definition at line 179 of file 2d_metrics_test.cpp.

Referenced by moab::MBuuid::MBuuid().

Definition at line 180 of file 2d_metrics_test.cpp.

Referenced by moab::MBuuid::MBuuid().

Definition at line 164 of file 2d_metrics_test.cpp.

Referenced by main().

const bool LOCAL_PATCHES = false

Definition at line 79 of file 2d_metrics_test.cpp.

Referenced by run_smoother().

Definition at line 166 of file 2d_metrics_test.cpp.

Referenced by main(), and run_exp_4().

Definition at line 167 of file 2d_metrics_test.cpp.

Referenced by main().

Definition at line 168 of file 2d_metrics_test.cpp.

Definition at line 169 of file 2d_metrics_test.cpp.

Definition at line 170 of file 2d_metrics_test.cpp.

Definition at line 171 of file 2d_metrics_test.cpp.

const bool ONE_TRI_SAMPLE = true

Definition at line 78 of file 2d_metrics_test.cpp.

const bool USE_FEAS_NEWT = true

Definition at line 80 of file 2d_metrics_test.cpp.

Referenced by run_smoother().

const bool WRITE_GNUPLOT = false

Definition at line 82 of file 2d_metrics_test.cpp.

Referenced by main(), and write_mesh().

const bool WRITE_VTK = true

Definition at line 81 of file 2d_metrics_test.cpp.

Referenced by write_mesh().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines