[MOAB-dev] r1501 - MOAB/trunk/refiner
pebay at mcs.anl.gov
pebay at mcs.anl.gov
Fri Dec 28 15:37:55 CST 2007
Author: pebay
Date: 2007-12-28 15:37:54 -0600 (Fri, 28 Dec 2007)
New Revision: 1501
Modified:
MOAB/trunk/refiner/MBSimplexTemplateRefiner.cpp
MOAB/trunk/refiner/MBSimplexTemplateRefiner.hpp
Log:
ENH: use the class member tag_assigner to assign face point tags.
Modified: MOAB/trunk/refiner/MBSimplexTemplateRefiner.cpp
===================================================================
--- MOAB/trunk/refiner/MBSimplexTemplateRefiner.cpp 2007-12-28 21:30:15 UTC (rev 1500)
+++ MOAB/trunk/refiner/MBSimplexTemplateRefiner.cpp 2007-12-28 21:37:54 UTC (rev 1501)
@@ -496,11 +496,12 @@
0;
if ( ( comparison_bits & 3 ) == 3 )
{
- // Compute face point
+ // Compute face point and tag
for ( int i = 0; i < 6; ++ i )
{
permuted_coords[10][i] = ( permuted_coords[0][i] + permuted_coords[2][i] ) * .375 + permuted_coords[1][i] * .25;
}
+ (*this->tag_assigner)( t0, t2, t1, permuted_tags[10] );
}
MB_TESSELLATOR_INCR_CASE_COUNT(1);
output_tets.push( MBSimplexTemplateRefiner::templates + 9 );
@@ -544,27 +545,30 @@
0;
if ( ( comparison_bits & 3 ) == 3 )
{
- // Compute face point
+ // Compute face point and tag
for ( int i = 0; i < 6; ++ i )
{
permuted_coords[11][i] = ( permuted_coords[1][i] + permuted_coords[3][i] ) * .375 + permuted_coords[0][i] * .25;
}
+ (*this->tag_assigner)( t1, t3, t0, permuted_tags[11] );
}
if ( ( comparison_bits & 12 ) == 12 )
{
- // Compute face point
+ // Compute face point and tag
for ( int i = 0; i < 6; ++ i )
{
permuted_coords[13][i] = ( permuted_coords[2][i] + permuted_coords[3][i] ) * .375 + permuted_coords[0][i] * .25;
}
+ (*this->tag_assigner)( t2, t3, t0, permuted_tags[13] );
}
if ( ( comparison_bits & 48 ) == 48 )
{
- // Compute face point
+ // Compute face point and tag
for ( int i = 0; i < 6; ++ i )
{
permuted_coords[10][i] = ( permuted_coords[1][i] + permuted_coords[2][i] ) * .375 + permuted_coords[0][i] * .25;
}
+ (*this->tag_assigner)( t1, t2, t0, permuted_tags[10] );
}
MB_TESSELLATOR_INCR_CASE_COUNT(3);
output_tets.push( MBSimplexTemplateRefiner::templates + 57 );
@@ -667,19 +671,21 @@
0;
if ( ( comparison_bits & 3 ) == 3 )
{
- // Compute face point
+ // Compute face point and tag
for ( int i = 0; i < 6; ++ i )
{
permuted_coords[10][i] = ( permuted_coords[0][i] + permuted_coords[2][i] ) * .375 + permuted_coords[1][i] * .25;
}
+ (*this->tag_assigner)( t0, t2, t1, permuted_tags[10] );
}
if ( ( comparison_bits & 12 ) == 12 )
{
- // Compute face point
+ // Compute face point and tag
for ( int i = 0; i < 6; ++ i )
{
permuted_coords[11][i] = ( permuted_coords[1][i] + permuted_coords[3][i] ) * .375 + permuted_coords[0][i] * .25;
}
+ (*this->tag_assigner)( t1, t3, t0, permuted_tags[11] );
}
MB_TESSELLATOR_INCR_CASE_COUNT(5);
switch ( comparison_bits )
@@ -747,19 +753,21 @@
0;
if ( ( comparison_bits & 3 ) == 3 )
{
- // Compute face point
+ // Compute face point and tag
for ( int i = 0; i < 6; ++ i )
{
permuted_coords[10][i] = ( permuted_coords[1][i] + permuted_coords[2][i] ) * .375 + permuted_coords[0][i] * .25;
}
+ (*this->tag_assigner)( t1, t2, t0, permuted_tags[10] );
}
if ( ( comparison_bits & 12 ) == 12 )
{
- // Compute face point
+ // Compute face point and tag
for ( int i = 0; i < 6; ++ i )
{
permuted_coords[11][i] = ( permuted_coords[0][i] + permuted_coords[3][i] ) * .375 + permuted_coords[1][i] * .25;
}
+ (*this->tag_assigner)( t0, t3, t1, permuted_tags[11] );
}
MB_TESSELLATOR_INCR_CASE_COUNT(6);
switch ( comparison_bits )
@@ -827,19 +835,21 @@
0;
if ( ( comparison_bits & 3 ) == 3 )
{
- // Compute face point
+ // Compute face point and tag
for ( int i = 0; i < 6; ++ i )
{
permuted_coords[12][i] = ( permuted_coords[1][i] + permuted_coords[2][i] ) * .375 + permuted_coords[3][i] * .25;
}
+ (*this->tag_assigner)( t1, t2, t3, permuted_tags[12] );
}
if ( ( comparison_bits & 12 ) == 12 )
{
- // Compute face point
+ // Compute face point and tag
for ( int i = 0; i < 6; ++ i )
{
permuted_coords[11][i] = ( permuted_coords[0][i] + permuted_coords[1][i] ) * .375 + permuted_coords[3][i] * .25;
}
+ (*this->tag_assigner)( t0, t1, t3, permuted_tags[11] );
}
MB_TESSELLATOR_INCR_CASE_COUNT(7);
output_tets.push( MBSimplexTemplateRefiner::templates + 545 );
@@ -913,35 +923,39 @@
0;
if ( ( comparison_bits & 3 ) == 3 )
{
- // Compute face point
+ // Compute face point and tag
for ( int i = 0; i < 6; ++ i )
{
permuted_coords[10][i] = ( permuted_coords[1][i] + permuted_coords[0][i] ) * .375 + permuted_coords[2][i] * .25;
}
+ (*this->tag_assigner)( t1, t0, t2, permuted_tags[10] );
}
if ( ( comparison_bits & 12 ) == 12 )
{
- // Compute face point
+ // Compute face point and tag
for ( int i = 0; i < 6; ++ i )
{
permuted_coords[13][i] = ( permuted_coords[2][i] + permuted_coords[3][i] ) * .375 + permuted_coords[0][i] * .25;
}
+ (*this->tag_assigner)( t2, t3, t0, permuted_tags[13] );
}
if ( ( comparison_bits & 48 ) == 48 )
{
- // Compute face point
+ // Compute face point and tag
for ( int i = 0; i < 6; ++ i )
{
permuted_coords[11][i] = ( permuted_coords[0][i] + permuted_coords[1][i] ) * .375 + permuted_coords[3][i] * .25;
}
+ (*this->tag_assigner)( t0, t1, t3, permuted_tags[11] );
}
if ( ( comparison_bits & 192 ) == 192 )
{
- // Compute face point
+ // Compute face point and tag
for ( int i = 0; i < 6; ++ i )
{
permuted_coords[12][i] = ( permuted_coords[2][i] + permuted_coords[3][i] ) * .375 + permuted_coords[1][i] * .25;
}
+ (*this->tag_assigner)( t2, t3, t1, permuted_tags[12] );
}
MB_TESSELLATOR_INCR_CASE_COUNT(8);
switch ( comparison_bits )
@@ -1273,19 +1287,21 @@
0;
if ( ( comparison_bits & 3 ) == 3 )
{
- // Compute face point
+ // Compute face point and tag
for ( int i = 0; i < 6; ++ i )
{
permuted_coords[10][i] = ( permuted_coords[1][i] + permuted_coords[0][i] ) * .375 + permuted_coords[2][i] * .25;
}
+ (*this->tag_assigner)( t1, t0, t2, permuted_tags[10] );
}
if ( ( comparison_bits & 12 ) == 12 )
{
- // Compute face point
+ // Compute face point and tag
for ( int i = 0; i < 6; ++ i )
{
permuted_coords[11][i] = ( permuted_coords[0][i] + permuted_coords[1][i] ) * .375 + permuted_coords[3][i] * .25;
}
+ (*this->tag_assigner)( t0, t1, t3, permuted_tags[11] );
}
MB_TESSELLATOR_INCR_CASE_COUNT(9);
output_tets.push( MBSimplexTemplateRefiner::templates + 1107 );
@@ -1476,14 +1492,6 @@
return sq_mag_a < sq_mag_b;
}
-void MBSimplexTemplateRefiner::evaluate_tags_at_facepoint( const double* c0, const void* t0,
- const double* c1, const void* t1,
- const double* c2, const void* t2,
- const double* cm, void* tm ) const
-{
-
-}
-
/*
* The array below is indexed by the edge code for a tetrahedron.
* Looking up a row with a tet's edge code will return C and P.
Modified: MOAB/trunk/refiner/MBSimplexTemplateRefiner.hpp
===================================================================
--- MOAB/trunk/refiner/MBSimplexTemplateRefiner.hpp 2007-12-28 21:30:15 UTC (rev 1500)
+++ MOAB/trunk/refiner/MBSimplexTemplateRefiner.hpp 2007-12-28 21:37:54 UTC (rev 1501)
@@ -60,10 +60,6 @@
double* v1, void* t1,
double* v2, void* t2,
double* v3, void* t3 );
- void evaluate_tags_at_facepoint( const double* c0, const void* t0,
- const double* c1, const void* t1,
- const double* c2, const void* t2,
- const double* cm, void* tm ) const;
int best_tets( int* alternates, double*[14], int, int ) { return alternates[0]; }
void assign_parametric_coordinates( int num_nodes, const double* src, double* tgt );
More information about the moab-dev
mailing list