MOAB: Mesh Oriented datABase  (version 5.2.1)
MBMesquite::IdealShapeTarget Class Reference

#include <IdealShapeTarget.hpp>

+ Inheritance diagram for MBMesquite::IdealShapeTarget:
+ Collaboration diagram for MBMesquite::IdealShapeTarget:

Public Member Functions

virtual ~IdealShapeTarget ()
virtual bool get_3D_target (PatchData &pd, size_t element, Sample sample, MsqMatrix< 3, 3 > &W_out, MsqError &err)
 Get a target matrix.
virtual bool get_surface_target (PatchData &pd, size_t element, Sample sample, MsqMatrix< 3, 2 > &W_out, MsqError &err)
 Get a target matrix.
virtual bool get_2D_target (PatchData &pd, size_t element, Sample sample, MsqMatrix< 2, 2 > &W_out, MsqError &err)
 Get a target matrix.
virtual bool have_surface_orient () const
 Use 3x2 W for surface elements if true, 2x2 W if false.

Detailed Description

Definition at line 41 of file IdealShapeTarget.hpp.


Constructor & Destructor Documentation

Definition at line 40 of file IdealShapeTarget.cpp.

{}

Member Function Documentation

bool MBMesquite::IdealShapeTarget::get_2D_target ( PatchData pd,
size_t  element,
Sample  sample,
MsqMatrix< 2, 2 > &  W_out,
MsqError err 
) [virtual]

Get a target matrix.

Parameters:
pdThe current PatchData
elementThe index an element within the patch data.
sampleThe sample point in the element.
W_outThe resulting target matrix.

Implements MBMesquite::TargetCalculator.

Definition at line 66 of file IdealShapeTarget.cpp.

References MBMesquite::PatchData::element_by_index(), MBMesquite::MsqMeshEntity::get_element_type(), MBMesquite::TargetCalculator::ideal_shape_2D(), MSQ_CHKERR, and sample.

Referenced by IdealTargetTest::get_calc_target(), and get_surface_target().

{
    MsqMeshEntity& elem = pd.element_by_index( element );
    ideal_shape_2D( elem.get_element_type(), sample, pd, W_out, err );
    return !MSQ_CHKERR( err );
}
bool MBMesquite::IdealShapeTarget::get_3D_target ( PatchData pd,
size_t  element,
Sample  sample,
MsqMatrix< 3, 3 > &  W_out,
MsqError err 
) [virtual]

Get a target matrix.

Parameters:
pdThe current PatchData
elementThe index an element within the patch data.
sampleThe sample point in the element.
W_outThe resulting target matrix.

Implements MBMesquite::TargetCalculator.

Definition at line 42 of file IdealShapeTarget.cpp.

References MBMesquite::PatchData::element_by_index(), MBMesquite::MsqMeshEntity::get_element_type(), MBMesquite::TargetCalculator::ideal_shape_3D(), MSQ_CHKERR, and sample.

Referenced by IdealTargetTest::get_calc_target().

{
    MsqMeshEntity& elem = pd.element_by_index( element );
    ideal_shape_3D( elem.get_element_type(), sample, pd, W_out, err );
    return !MSQ_CHKERR( err );
}
bool MBMesquite::IdealShapeTarget::get_surface_target ( PatchData pd,
size_t  element,
Sample  sample,
MsqMatrix< 3, 2 > &  W_out,
MsqError err 
) [virtual]

Get a target matrix.

Parameters:
pdThe current PatchData
elementThe index an element within the patch data.
sampleThe sample point in the element.
W_outThe resulting target matrix.

Implements MBMesquite::TargetCalculator.

Reimplemented in IdealShapeXY.

Definition at line 50 of file IdealShapeTarget.cpp.

References get_2D_target(), and MSQ_CHKERR.

{
    MsqMatrix< 2, 2 > W_2d;
    bool rval = get_2D_target( pd, element, sample, W_2d, err );
    if( MSQ_CHKERR( err ) || !rval ) return false;

    W_out( 0, 0 ) = W_2d( 0, 0 );
    W_out( 0, 1 ) = W_2d( 0, 1 );
    W_out( 1, 0 ) = W_2d( 1, 0 );
    W_out( 1, 1 ) = W_2d( 1, 1 );
    W_out( 2, 0 ) = 0.0;
    W_out( 2, 1 ) = 0.0;
    return true;
}

Use 3x2 W for surface elements if true, 2x2 W if false.

If true, then the targets for surface elements attempt some control of orientation and therefore get_surface_target must be used to get the targets. If false, then the target contains no orientation data and is therefore the same as the corresponding 2D target for surface elements. In this case, get_2D_target should be used.

Implements MBMesquite::TargetCalculator.

Reimplemented in IdealShapeXY.

Definition at line 74 of file IdealShapeTarget.cpp.

{
    return false;
}

List of all members.


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