LCOV - code coverage report
Current view: top level - src/verdict - V_EdgeMetric.cpp (source / functions) Hit Total Coverage
Test: coverage_sk.info Lines: 5 8 62.5 %
Date: 2020-12-16 07:07:30 Functions: 1 2 50.0 %
Branches: 0 2 0.0 %

           Branch data     Line data    Source code
       1                 :            : /*=========================================================================
       2                 :            : 
       3                 :            :   Module:    $RCSfile: V_EdgeMetric.cpp,v $
       4                 :            : 
       5                 :            :   Copyright (c) 2006 Sandia Corporation.
       6                 :            :   All rights reserved.
       7                 :            :   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
       8                 :            : 
       9                 :            :      This software is distributed WITHOUT ANY WARRANTY; without even
      10                 :            :      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
      11                 :            :      PURPOSE.  See the above copyright notice for more information.
      12                 :            : 
      13                 :            : =========================================================================*/
      14                 :            : 
      15                 :            : /*
      16                 :            :  *
      17                 :            :  * V_EdgeMetric.cpp contains quality calcultions for edges
      18                 :            :  *
      19                 :            :  * This file is part of VERDICT
      20                 :            :  *
      21                 :            :  */
      22                 :            : 
      23                 :            : #define VERDICT_EXPORTS
      24                 :            : 
      25                 :            : #include "moab/verdict.h"
      26                 :            : #include <math.h>
      27                 :            : 
      28                 :            : /*!
      29                 :            :   length of and edge
      30                 :            :   length is calculated by taking the distance between the end nodes
      31                 :            :  */
      32                 :         27 : C_FUNC_DEF double v_edge_length( int /*num_nodes*/, double coordinates[][3] )
      33                 :            : {
      34                 :            : 
      35                 :         27 :     double x = coordinates[1][0] - coordinates[0][0];
      36                 :         27 :     double y = coordinates[1][1] - coordinates[0][1];
      37                 :         27 :     double z = coordinates[1][2] - coordinates[0][2];
      38                 :         27 :     return (double)( sqrt( x * x + y * y + z * z ) );
      39                 :            : }
      40                 :            : 
      41                 :            : /*!
      42                 :            : 
      43                 :            :   higher order function for calculating multiple metrics at once.
      44                 :            : 
      45                 :            :   for an edge, there is only one metric, edge length.
      46                 :            : */
      47                 :            : 
      48                 :          0 : C_FUNC_DEF void edge_quality( int num_nodes, double coordinates[][3], unsigned int metrics_request_flag,
      49                 :            :                               struct EdgeMetricVals* metric_vals )
      50                 :            : {
      51         [ #  # ]:          0 :     if( metrics_request_flag & V_EDGE_LENGTH ) metric_vals->length = v_edge_length( num_nodes, coordinates );
      52                 :          0 : }

Generated by: LCOV version 1.11