LCOV - code coverage report
Current view: top level - geom - Surface.cpp (source / functions) Hit Total Coverage
Test: coverage_sk.info Lines: 5 50 10.0 %
Date: 2020-06-30 00:58:45 Functions: 4 9 44.4 %
Branches: 3 50 6.0 %

           Branch data     Line data    Source code
       1                 :            : //-------------------------------------------------------------------------
       2                 :            : // Copyright Notice
       3                 :            : //
       4                 :            : // Copyright (c) 1996 
       5                 :            : // by Malcolm J. Panthaki, DBA, and the University of New Mexico.
       6                 :            : //-------------------------------------------------------------------------
       7                 :            : //
       8                 :            : //-------------------------------------------------------------------------
       9                 :            : // Filename      : Surface.cpp
      10                 :            : //
      11                 :            : // Purpose       : 
      12                 :            : //
      13                 :            : // Special Notes :
      14                 :            : //
      15                 :            : // Creator       : Many
      16                 :            : //
      17                 :            : // Creation Date : 08/02/96
      18                 :            : //
      19                 :            : // Owner         : Timothy J. Tautges
      20                 :            : //-------------------------------------------------------------------------
      21                 :            : 
      22                 :            : 
      23                 :            : #include "Surface.hpp"
      24                 :            : #include "RefFace.hpp"
      25                 :            : #include "GeometryQueryEngine.hpp"
      26                 :            : 
      27                 :            : //-------------------------------------------------------------------------
      28                 :            : // Purpose       : The default constructor. 
      29                 :            : //
      30                 :            : // Special Notes :
      31                 :            : //
      32                 :            : // Creator       : Xuechen Liu
      33                 :            : //
      34                 :            : // Creation Date : 08/02/96
      35                 :            : //-------------------------------------------------------------------------
      36                 :            : 
      37                 :      32608 : Surface::Surface() 
      38                 :            : {
      39                 :      16304 : }
      40                 :            : 
      41                 :            : //-------------------------------------------------------------------------
      42                 :            : // Purpose       : The destructor. 
      43                 :            : //
      44                 :            : // Special Notes :
      45                 :            : //
      46                 :            : // Creator       : Raikanta Sahu
      47                 :            : //
      48                 :            : // Creation Date : 09/06/96
      49                 :            : //-------------------------------------------------------------------------
      50                 :            : 
      51                 :      19964 : Surface::~Surface() 
      52         [ -  + ]:       9982 : {}
      53                 :            : 
      54                 :          0 : CubitStatus Surface::closest_points(DLIList<CubitVector *> &location_list,
      55                 :            :                                     DLIList<CubitVector *> *closest_location_list,
      56                 :            :                                     DLIList<CubitVector *> *unit_normal_list,
      57                 :            :                                     DLIList<CubitVector *> *curvature1_list,
      58                 :            :                                     DLIList<CubitVector *> *curvature2_list)
      59                 :            : {
      60                 :            :   CubitVector *curvature1, *curvature2;
      61                 :            :   CubitVector *unit_normal;
      62                 :            :   CubitVector *closest_location;
      63                 :            :   CubitVector *location;
      64                 :            :   CubitStatus stat;
      65                 :          0 :   location_list.reset();
      66         [ #  # ]:          0 :   if (closest_location_list) closest_location_list->reset();
      67         [ #  # ]:          0 :   if (unit_normal_list) unit_normal_list->reset();
      68         [ #  # ]:          0 :   if (curvature1_list) curvature1_list->reset();
      69         [ #  # ]:          0 :   if (curvature2_list) curvature2_list->reset();
      70         [ #  # ]:          0 :   for (int i=0; i<location_list.size(); i++)
      71                 :            :   {
      72                 :          0 :     location = location_list.get_and_step();
      73         [ #  # ]:          0 :     if (closest_location_list == NULL)
      74                 :          0 :       closest_location = NULL;
      75                 :            :     else
      76                 :          0 :       closest_location = closest_location_list->get_and_step();
      77         [ #  # ]:          0 :     if (unit_normal_list == NULL)
      78                 :          0 :       unit_normal = NULL;
      79                 :            :     else
      80                 :          0 :       unit_normal = unit_normal_list->get_and_step();
      81         [ #  # ]:          0 :     if (curvature1_list == NULL)
      82                 :          0 :       curvature1 = NULL;
      83                 :            :     else
      84                 :          0 :       curvature1 = curvature1_list->get_and_step();
      85         [ #  # ]:          0 :     if (curvature2_list == NULL)
      86                 :          0 :       curvature2 = NULL;
      87                 :            :     else
      88                 :          0 :       curvature2 = curvature2_list->get_and_step();
      89                 :          0 :     stat = closest_point( *location, closest_location, unit_normal, curvature1, curvature2 );
      90         [ #  # ]:          0 :     if (stat != CUBIT_SUCCESS)
      91                 :          0 :       return stat;
      92                 :            :   }
      93                 :          0 :   return CUBIT_SUCCESS;
      94                 :            : }
      95                 :            : 
      96                 :          0 : void Surface::closest_points_trimmed( std::vector<CubitVector> &from_points_list, 
      97                 :            :                                       std::vector<CubitVector> &points_on_surface_list)
      98                 :            : {
      99         [ #  # ]:          0 :   CubitVector from_point;
     100         [ #  # ]:          0 :   CubitVector point_on_surface;  
     101 [ #  # ][ #  # ]:          0 :   for (unsigned int i=0; i<from_points_list.size(); i++)
     102                 :            :   {
     103 [ #  # ][ #  # ]:          0 :     from_point = from_points_list[i];    
     104 [ #  # ][ #  # ]:          0 :     closest_point_trimmed( from_point, point_on_surface );
     105         [ #  # ]:          0 :     points_on_surface_list.push_back( point_on_surface );
     106                 :            :   }
     107                 :          0 : }
     108                 :            : 
     109                 :          0 : void Surface::are_positions_on( DLIList<CubitVector *> &test_position_list,
     110                 :            :                               DLIList<CubitBoolean *> &is_on_list )
     111                 :            : {
     112                 :            :   CubitVector *test_position;
     113                 :            :   CubitBoolean *is_on;
     114                 :          0 :   test_position_list.reset();
     115                 :          0 :   is_on_list.reset();
     116         [ #  # ]:          0 :   for (int i=0; i<test_position_list.size(); i++)
     117                 :            :   {
     118                 :          0 :     test_position = test_position_list.get_and_step();
     119                 :          0 :     is_on = is_on_list.get_and_step();
     120                 :          0 :     *is_on = is_position_on( *test_position );
     121                 :            :   }
     122                 :          0 : }
     123                 :            : 
     124                 :            : 
     125                 :          0 : CubitStatus Surface::closest_point_along_vector(CubitVector& from_point, 
     126                 :            :                                          CubitVector& along_vector,
     127                 :            :                                          CubitVector& point_on_surface)
     128                 :            : {
     129                 :          0 :   return CUBIT_FAILURE;
     130                 :            : }
     131                 :            : 
     132                 :          0 : CubitStatus Surface::evaluate( double u, double v, CubitVector& pos, CubitVector deriv1[2], CubitVector deriv2[3])
     133                 :            : {
     134 [ #  # ][ #  # ]:          0 :   PRINT_ERROR("evaluate is not implemented.");
     135                 :          0 :   return CUBIT_FAILURE;
     136 [ +  - ][ +  - ]:       6540 : }

Generated by: LCOV version 1.11