[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