LCOV - code coverage report
Current view: top level - geom/facet - OctreeFacetPointData.cpp (source / functions) Hit Total Coverage
Test: coverage_sk.info Lines: 1 47 2.1 %
Date: 2020-06-30 00:58:45 Functions: 2 8 25.0 %
Branches: 2 36 5.6 %

           Branch data     Line data    Source code
       1                 :            : #include "OctreeFacetPointData.hpp"
       2                 :            : 
       3                 :            : #include "CubitPoint.hpp"
       4                 :            : #include "CubitFacet.hpp"
       5                 :            : #include "CubitFacetEdge.hpp"
       6                 :            : //#include "SVDrawTool.hpp"
       7                 :            : #include "CubitColor.hpp"
       8                 :            : 
       9                 :            : /* -------------------- Methods of OctreeFacetPointData ----------------- */
      10                 :          0 : int OctreeFacetPointData::calculate_id( void ){
      11                 :            :   static int count = -1;
      12                 :          0 :   count++;
      13                 :          0 :   return count;
      14                 :            : }
      15                 :            : 
      16                 :          0 : OctreeFacetPointData::OctreeFacetPointData( CubitVector coord, CubitFacet *ptr_facet ){
      17                 :          0 :   xyz = coord;
      18                 :          0 :   type = CUBIT_FACET_POINT_DATA_FACET;
      19                 :          0 :   facetPtr = ptr_facet;
      20                 :          0 :   num = calculate_id();
      21                 :          0 : }
      22                 :            : 
      23                 :          0 : OctreeFacetPointData::OctreeFacetPointData( CubitVector coord, CubitFacetEdge *ptr_facet_edge ){
      24                 :          0 :   xyz = coord;
      25                 :          0 :   type = CUBIT_FACET_POINT_DATA_EDGE;
      26                 :          0 :   facetEdgePtr = ptr_facet_edge;
      27                 :          0 :   num = calculate_id();
      28                 :          0 : }
      29                 :            : 
      30                 :          0 : OctreeFacetPointData::OctreeFacetPointData( CubitVector coord, CubitPoint *ptr_point ){
      31                 :          0 :   xyz = coord;
      32                 :          0 :   type = CUBIT_FACET_POINT_DATA_POINT;
      33                 :          0 :   facetPointPtr = ptr_point;
      34                 :          0 :   num = calculate_id();
      35                 :          0 : }
      36                 :            : 
      37                 :          0 : CubitBoolean OctreeFacetPointData::generate_facet_point_data_based_on_curvature( CubitFacetEdge *ptr_facet_edge, /*double angle,*/ DLIList< OctreeFacetPointData *> &facet_point_data_list ){
      38                 :            :   
      39                 :          0 :   CubitFacet *ptr_adj_facet0 = ptr_facet_edge->adj_facet(0);
      40                 :          0 :   CubitFacet *ptr_adj_facet1 = ptr_facet_edge->adj_facet(1);
      41                 :            : 
      42                 :            :     // Find minimum edge length
      43                 :            :   int i;
      44                 :          0 :   double edge_len, min_edge_len = CUBIT_DBL_MAX;
      45         [ #  # ]:          0 :   for( i = 0; i < 3; i++ ){
      46                 :          0 :     edge_len = ptr_adj_facet0->edge(i)->length();
      47         [ #  # ]:          0 :     if( edge_len < min_edge_len ){
      48                 :          0 :       min_edge_len = edge_len;
      49                 :            :     }
      50                 :            :   }
      51         [ #  # ]:          0 :   for( i = 0; i < 3; i++ ){
      52                 :          0 :     edge_len = ptr_adj_facet1->edge(i)->length();
      53         [ #  # ]:          0 :     if( edge_len < min_edge_len ){
      54                 :          0 :       min_edge_len = edge_len;
      55                 :            :     }
      56                 :            :   }
      57                 :            :   
      58                 :          0 :   int num_seg = (int)(ptr_facet_edge->length() / min_edge_len) + 1;
      59                 :            : 
      60                 :            :   // For triangles with high aspect ratio the number of segments can be enormous.  Limit
      61                 :            :   // the number of segments.
      62         [ #  # ]:          0 :   if(num_seg > 100)
      63                 :          0 :     num_seg = 100;
      64                 :            : 
      65                 :            :   OctreeFacetPointData *facet_point_data;
      66         [ #  # ]:          0 :   for( i = 1; i < num_seg; i++ ){
      67 [ #  # ][ #  # ]:          0 :     facet_point_data = new OctreeFacetPointData( (ptr_facet_edge->point(0)->coordinates() * (num_seg - i) + ptr_facet_edge->point(1)->coordinates()  * (i)) / num_seg , ptr_facet_edge );
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
      68                 :          0 :     facet_point_data_list.push( facet_point_data );
      69                 :            :   }
      70                 :            :   
      71                 :          0 :   return CUBIT_TRUE;
      72                 :            : }
      73                 :            : 
      74                 :          0 : void OctreeFacetPointData::display( void ){
      75                 :            :   
      76   [ #  #  #  # ]:          0 :   switch( type  ){
      77                 :            :     case CUBIT_FACET_POINT_DATA_POINT:
      78                 :            :         //SVDrawTool::draw_point( xyz, CUBIT_BLUE_INDEX );
      79                 :          0 :         break;
      80                 :            : 
      81                 :            :     case CUBIT_FACET_POINT_DATA_EDGE:
      82                 :            :         //SVDrawTool::draw_point( xyz, CUBIT_YELLOW_INDEX );
      83                 :          0 :         break;
      84                 :            :   
      85                 :            :     case CUBIT_FACET_POINT_DATA_FACET:
      86                 :            :         //SVDrawTool::draw_point( xyz, CUBIT_GREEN_INDEX );
      87                 :          0 :         break;
      88                 :            :     
      89                 :            :     default:
      90                 :          0 :         break;
      91                 :            :   }
      92                 :            : 
      93 [ +  - ][ +  - ]:       6540 : }
      94                 :            : 
      95                 :            : 
      96                 :            : 
      97                 :            : //EOF
      98                 :            : 

Generated by: LCOV version 1.11