LCOV - code coverage report
Current view: top level - geom/cgm - AutoMidsurfaceTool.hpp (source / functions) Hit Total Coverage
Test: coverage_sk.info Lines: 0 1 0.0 %
Date: 2020-06-30 00:58:45 Functions: 0 1 0.0 %
Branches: 0 0 -

           Branch data     Line data    Source code
       1                 :            : //-------------------------------------------------------------------------
       2                 :            : // Filename      : AutoMidsurfaceTool.cpp
       3                 :            : //
       4                 :            : // Purpose       : 
       5                 :            : //   Create a midsurface of a body/volume given a thickness range. If no thickness range is given
       6                 :            : //   then make a educated guess at the thickness (using something like Volume/Surface Area).
       7                 :            : //   
       8                 :            : //   Create Midsurface Volume <id_list> auto [<lower_tol> <upper_tol>]
       9                 :            : //
      10                 :            : // Creator       : Sam Showman
      11                 :            : //
      12                 :            : // Creation Date : 05/10/2008
      13                 :            : //-------------------------------------------------------------------------
      14                 :            : #ifndef AutoMidsurfaceTool_HPP
      15                 :            : #define AutoMidsurfaceTool_HPP
      16                 :            : 
      17                 :            : #include "CubitDefines.h"
      18                 :            : #include "CubitVector.hpp"
      19                 :            : #include "CubitPlane.hpp"
      20                 :            : 
      21                 :            : class GeometryModifyEngine;
      22                 :            : class Body;
      23                 :            : class RefFace;
      24                 :            : class BodySM;
      25                 :            : class Surface;
      26                 :            : class Curve;
      27                 :            : class RefEdge;
      28                 :            : template <class X> class DLIList;
      29                 :            : 
      30                 :            : class AutoMidsurfaceTool
      31                 :            : {
      32                 :            : public:
      33                 :            : 
      34                 :            :     AutoMidsurfaceTool();
      35                 :          0 :     ~AutoMidsurfaceTool(){}
      36                 :            : 
      37                 :            :     CubitStatus midsurface(
      38                 :            :         DLIList<Body*> &body_list_in,
      39                 :            :     DLIList<BodySM*> &body_list_out,
      40                 :            :     DLIList<Body*> &old_bodies_midsurfaced,
      41                 :            :     DLIList<double> &thickness_out,
      42                 :            :     double lower_tol = CUBIT_DBL_MAX,
      43                 :            :     double upper_tol = CUBIT_DBL_MAX,
      44                 :            :     CubitBoolean delete_midsurfaced = CUBIT_FALSE,
      45                 :            :     CubitBoolean preview = CUBIT_FALSE);
      46                 :            :     //- automatically midsurfaces a volume based on surface pairs and surface area
      47                 :            :     //- body_list_in - list of bodies to midsurface
      48                 :            :         //- body_list_out - result bodies
      49                 :            :     //- lower_tol - lower tolerance
      50                 :            :     //- upper_tol - upper tolerance
      51                 :            :     //- delete_midsurfaced - delete the midsurfaced solid
      52                 :            :     //- transp_midsurfaced - make the midsurfaced solid transparent
      53                 :            :         //- preview - preview the results
      54                 :            : 
      55                 :            : private:
      56                 :            :         CubitBoolean curve_in_surface(Curve *curve_in, Surface *surf_in);
      57                 :            : 
      58                 :            :         CubitStatus get_planar_mid_surface(
      59                 :            :                 RefFace* ref_face1,
      60                 :            :                 RefFace* ref_face2,
      61                 :            :                 BodySM* body_sm_to_trim_to,
      62                 :            :                 BodySM*& midsurface_body_sm,
      63                 :            :                 GeometryModifyEngine *gme_ptr );
      64                 :            : 
      65                 :            :         CubitStatus find_offset_pair_patches(
      66                 :            :         DLIList<RefFace*> pairs_list_0,
      67                 :            :         DLIList<RefFace*> pairs_list_1,   
      68                 :            :         DLIList<RefFace*>& red_faces,
      69                 :            :         DLIList<RefFace*>& yellow_faces,
      70                 :            :         DLIList<double>& offset_distances);
      71                 :            : 
      72                 :            :     CubitStatus random_loc_on_surface( Surface* face_ptr, CubitVector &loc );
      73                 :            : 
      74                 :            :     CubitBoolean check_surf_pairs(double min_thick, double max_thick,
      75                 :            :         DLIList<RefFace*> check_list, Body* body_in );
      76                 :            : };
      77                 :            : 
      78                 :            : #endif
      79                 :            : 

Generated by: LCOV version 1.11