LCOV - code coverage report
Current view: top level - geom/Cholla - ChollaDebug.cpp (source / functions) Hit Total Coverage
Test: coverage_sk.info Lines: 1 118 0.8 %
Date: 2020-06-30 00:58:45 Functions: 2 20 10.0 %
Branches: 2 140 1.4 %

           Branch data     Line data    Source code
       1                 :            : 
       2                 :            : #include "FacetEntity.hpp"
       3                 :            : #include "CubitFacet.hpp"
       4                 :            : #include "CubitPoint.hpp"
       5                 :            : #include "CubitFacetEdge.hpp"
       6                 :            : #include "GfxDebug.hpp"
       7                 :            : #include "CubitBox.hpp"
       8                 :            : #include "ChollaSurface.hpp"
       9                 :            : #include "CubitMessage.hpp"
      10                 :            : 
      11                 :            : #include "ChollaDebug.hpp"
      12                 :            : static int fg_color = CUBIT_MAGENTA_INDEX;
      13                 :          0 : void dcolor(int icol)
      14                 :            : {
      15                 :          0 :   fg_color = icol;
      16                 :          0 : }
      17                 :            : 
      18                 :          0 : void ddraw( FacetEntity *facet_ptr )
      19                 :            : {
      20                 :          0 :   facet_ptr->debug_draw( fg_color );
      21                 :          0 : }
      22                 :            : 
      23                 :          0 : void dfdraw( CubitFacet *facet_ptr  )
      24                 :            : {
      25                 :          0 :   facet_ptr->debug_draw( fg_color );
      26                 :          0 : }
      27                 :            : 
      28                 :          0 : void dedraw( CubitFacetEdge *facet_ptr )
      29                 :            : {
      30                 :          0 :   facet_ptr->debug_draw( fg_color );
      31                 :          0 : }
      32                 :            : 
      33                 :          0 : void dpdraw( CubitPoint *facet_ptr )
      34                 :            : {
      35                 :          0 :   facet_ptr->debug_draw( fg_color );
      36                 :          0 : }
      37                 :            : 
      38                 :            : 
      39                 :          0 : void dview()
      40                 :            : {
      41                 :          0 :   GfxDebug::flush();
      42                 :          0 :   GfxDebug::mouse_xforms();
      43                 :          0 : }
      44                 :            : 
      45                 :          0 : void dzoom(CubitBox &box)
      46                 :            : {
      47                 :          0 :   GfxDebug::zoom(box);
      48                 :          0 : }
      49                 :            : 
      50                 :            : 
      51                 :          0 : void dsurfdraw( ChollaSurface *surf)
      52                 :            : {
      53         [ #  # ]:          0 :   DLIList<FacetEntity*> surface_facets;
      54         [ #  # ]:          0 :   surf->get_facets(surface_facets);
      55 [ #  # ][ #  # ]:          0 :   dldraw(surface_facets);
      56                 :          0 : }
      57                 :            : 
      58                 :            : 
      59                 :          0 : void dldraw( DLIList<FacetEntity *> &facet_list )
      60                 :            : {
      61                 :            :   FacetEntity *facet_ptr;
      62         [ #  # ]:          0 :   for (int ii=0; ii<facet_list.size(); ii++)
      63                 :            :   {
      64                 :          0 :     facet_ptr = facet_list.get_and_step();
      65                 :          0 :     facet_ptr->debug_draw( fg_color, 0 );
      66                 :            :   }
      67                 :          0 :   GfxDebug::flush();
      68                 :          0 : }
      69                 :            : 
      70                 :          0 : void dfldraw( DLIList<CubitFacet *> &facet_list )
      71                 :            : {
      72                 :            :   CubitFacet *facet_ptr;
      73         [ #  # ]:          0 :   for (int ii=0; ii<facet_list.size(); ii++)
      74                 :            :   {
      75                 :          0 :     facet_ptr = facet_list.get_and_step();
      76                 :          0 :     facet_ptr->debug_draw( fg_color, 0 );
      77                 :            :   }
      78                 :          0 :   GfxDebug::flush();
      79                 :          0 : }
      80                 :            : 
      81                 :          0 : void deldraw( DLIList<CubitFacetEdge *> &edge_list )
      82                 :            : {
      83                 :            :   CubitFacetEdge *edge_ptr;
      84         [ #  # ]:          0 :   for (int ii=0; ii<edge_list.size(); ii++)
      85                 :            :   {
      86                 :          0 :     edge_ptr = edge_list.get_and_step();
      87                 :          0 :     edge_ptr->debug_draw( fg_color, 0 );
      88                 :            :   }
      89                 :          0 :   GfxDebug::flush();
      90                 :          0 : }
      91                 :            : 
      92                 :          0 : void dpldraw( DLIList<CubitPoint *> &point_list )
      93                 :            : {
      94                 :            :   CubitPoint *point_ptr;
      95         [ #  # ]:          0 :   for (int ii=0; ii<point_list.size(); ii++)
      96                 :            :   {
      97                 :          0 :     point_ptr = point_list.get_and_step();
      98                 :          0 :     point_ptr->debug_draw( fg_color, 0 );
      99                 :            :   }
     100                 :          0 :   GfxDebug::flush();
     101                 :          0 : }
     102                 :            : 
     103                 :          0 : int dflcheck( DLIList<CubitFacet *> &facet_list )
     104                 :            : {
     105                 :            :   int ii;
     106                 :          0 :   int ier = 0;
     107         [ #  # ]:          0 :   for (ii=0; ii<facet_list.size(); ii++)
     108                 :            :   {
     109                 :          0 :     CubitFacet *facet_ptr = facet_list.get_and_step();
     110                 :          0 :     ier += dfcheck( facet_ptr );
     111                 :            :   }
     112                 :          0 :   return ier;
     113                 :            : }
     114                 :            : 
     115                 :          0 : int dcheck( DLIList<FacetEntity *> &facet_list )
     116                 :            : {
     117                 :            :   int ii;
     118                 :          0 :   int ier = 0;
     119         [ #  # ]:          0 :   for (ii=0; ii<facet_list.size(); ii++)
     120                 :            :   {
     121                 :          0 :     CubitFacet *facet_ptr = (CubitFacet *)facet_list.get_and_step();
     122                 :          0 :     ier += dfcheck( facet_ptr );
     123                 :            :   }
     124                 :          0 :   return ier;
     125                 :            : }
     126                 :            : 
     127                 :          0 : int dfcheck( CubitFacet *facet_ptr )
     128                 :            : {
     129                 :          0 :   int ier = 0;
     130                 :            :   
     131                 :            :   // check edges
     132                 :            : 
     133                 :            :   int ii, jj;
     134         [ #  # ]:          0 :   for (ii=0; ii<3; ii++)
     135                 :            :   {
     136         [ #  # ]:          0 :     CubitFacetEdge *edge_ptr = facet_ptr->edge( ii );
     137         [ #  # ]:          0 :     DLIList <CubitFacet *> facet_list;
     138         [ #  # ]:          0 :     edge_ptr->facets( facet_list );
     139                 :          0 :     int found = 0;
     140 [ #  # ][ #  # ]:          0 :     for (jj=0; jj<facet_list.size() && !found; jj++)
         [ #  # ][ #  # ]
     141                 :            :     {
     142         [ #  # ]:          0 :       CubitFacet *f = facet_list.get_and_step();
     143         [ #  # ]:          0 :       if (f == facet_ptr)
     144                 :            :       {
     145                 :          0 :         found = 1;
     146                 :            :       }
     147                 :            :     }
     148         [ #  # ]:          0 :     if (!found)
     149                 :            :     {
     150 [ #  # ][ #  # ]:          0 :       PRINT_ERROR( "Facet %d is not in Edge %d adjacency list\n",
         [ #  # ][ #  # ]
                 [ #  # ]
     151         [ #  # ]:          0 :                     facet_ptr->id(), edge_ptr->id() );
     152                 :          0 :       ier++;
     153                 :            :     }
     154                 :            : 
     155                 :            :     // check the edge's orientation on the facet
     156                 :            : 
     157                 :            :     CubitPoint *ep0, *ep1;
     158         [ #  # ]:          0 :     int use = facet_ptr->edge_use( ii );
     159         [ #  # ]:          0 :     if (use > 0)
     160                 :            :     {
     161         [ #  # ]:          0 :       ep0 = edge_ptr->point( 0 );
     162         [ #  # ]:          0 :       ep1 = edge_ptr->point( 1 );
     163                 :            :     }
     164                 :            :     else
     165                 :            :     {
     166         [ #  # ]:          0 :       ep1 = edge_ptr->point( 0 );
     167         [ #  # ]:          0 :       ep0 = edge_ptr->point( 1 );
     168                 :            :     }
     169                 :            : 
     170         [ #  # ]:          0 :     CubitPoint *fp0 = facet_ptr->point( (ii+1)%3 );
     171         [ #  # ]:          0 :     CubitPoint *fp1 = facet_ptr->point( (ii+2)%3 );
     172 [ #  # ][ #  # ]:          0 :     if (fp0 != ep0 || fp1 != ep1)
     173                 :            :     {
     174 [ #  # ][ #  # ]:          0 :       PRINT_ERROR( "Edge %d on Facet %d is not oriented with points %d and %d correctly\n",
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     175         [ #  # ]:          0 :         edge_ptr->id(), facet_ptr->id(), fp0->id(), fp1->id() );
     176                 :          0 :       ier++;
     177                 :            :     }
     178         [ #  # ]:          0 :   }
     179                 :            : 
     180                 :            :   // check nodes 
     181                 :            : 
     182         [ #  # ]:          0 :   for (ii=0; ii<3; ii++)
     183                 :            :   {
     184         [ #  # ]:          0 :     CubitPoint *point_ptr = facet_ptr->point( ii );
     185         [ #  # ]:          0 :     DLIList <CubitFacet *> facet_list;
     186         [ #  # ]:          0 :     point_ptr->facets( facet_list );
     187                 :          0 :     int found = 0;
     188 [ #  # ][ #  # ]:          0 :     for (jj=0; jj<facet_list.size() && !found; jj++)
         [ #  # ][ #  # ]
     189                 :            :     {
     190         [ #  # ]:          0 :       CubitFacet *f = facet_list.get_and_step();
     191         [ #  # ]:          0 :       if (f == facet_ptr)
     192                 :            :       {
     193                 :          0 :         found = 1;
     194                 :            :       }
     195                 :            :     }
     196         [ #  # ]:          0 :     if (!found)
     197                 :            :     {
     198 [ #  # ][ #  # ]:          0 :       PRINT_ERROR( "Facet %d is not in Point %d adjacency list\n",
         [ #  # ][ #  # ]
                 [ #  # ]
     199         [ #  # ]:          0 :                     facet_ptr->id(), point_ptr->id() );
     200                 :          0 :       ier++;
     201                 :            :     }
     202         [ #  # ]:          0 :   }
     203                 :          0 :   return ier;
     204                 :            : }
     205                 :            : 
     206                 :            : // draw a vector
     207                 :          0 : void dray( const CubitVector &start, const CubitVector &vec, double length )
     208                 :            : {
     209 [ #  # ][ #  # ]:          0 :   CubitVector end = start+length*vec;
     210         [ #  # ]:          0 :   GfxDebug::draw_vector(end, start, fg_color );
     211         [ #  # ]:          0 :   GfxDebug::flush();
     212                 :          0 : }
     213                 :            : 
     214                 :            : // draw a point
     215                 :          0 : void dpoint( const CubitVector &pt )
     216                 :            : {
     217                 :          0 :   GfxDebug::draw_point(pt, fg_color);
     218                 :          0 :   GfxDebug::flush();
     219                 :            : 
     220                 :          0 : }
     221                 :            : 
     222                 :          0 : int get_color()
     223                 :            : {
     224                 :          0 :   return fg_color;
     225 [ +  - ][ +  - ]:       6540 : }
     226                 :            : 
     227                 :            : //EOF
     228                 :            : 

Generated by: LCOV version 1.11