LCOV - code coverage report
Current view: top level - geom/cgm - OffsetSplitTool.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      : OffsetSplitTool.hpp
       3                 :            : //
       4                 :            : // Purpose       :
       5                 :            : //
       6                 :            : //   Split Surface <id_list> Offset Curve <id_list>
       7                 :            : //       Distance <val> [Segment <val>] [Partition] [Blunt] [Preview [Create]]
       8                 :            : //
       9                 :            : // Special Notes :
      10                 :            : //
      11                 :            : // Creator       : Sam Showman
      12                 :            : //
      13                 :            : // Creation Date : 05/10/2005
      14                 :            : //-------------------------------------------------------------------------
      15                 :            : #ifndef OFFSETSPLITTOOL_HPP
      16                 :            : #define OFFSETSPLITTOOL_HPP
      17                 :            : 
      18                 :            : #include "CubitDefines.h"
      19                 :            : #include "RefEdge.hpp"
      20                 :            : #include "RefVertex.hpp"
      21                 :            : #include "CoEdge.hpp"
      22                 :            : 
      23                 :            : class RefEdge;
      24                 :            : class RefFace;
      25                 :            : class GeometryModifyEngine;
      26                 :            : class Curve;
      27                 :            : class Surface;
      28                 :            : template <class X> class DLIList;
      29                 :            : 
      30                 :            : class OffsetSplitTool
      31                 :            : {
      32                 :            : public:
      33                 :            : 
      34                 :            :     OffsetSplitTool();
      35                 :          0 :     ~OffsetSplitTool(){}
      36                 :            : 
      37                 :            :     CubitStatus split_surfaces_offset(DLIList<RefFace*> &ref_face_list,
      38                 :            :         DLIList<RefEdge*> &edge_list,
      39                 :            :         int num_segs,
      40                 :            :         double distance,
      41                 :            :         CubitBoolean divide_flg = CUBIT_FALSE,
      42                 :            :         CubitBoolean blunt_flg = CUBIT_FALSE,
      43                 :            :         CubitBoolean preview_flg = CUBIT_FALSE,
      44                 :            :         CubitBoolean create_ref_edges_flg = CUBIT_FALSE);
      45                 :            :     //- Splits surface by offsetting curves.
      46                 :            :     //- ref_face_list - list of surfaces to split.
      47                 :            :     //- num_segs - the number of segments to create (must be >= 1 );
      48                 :            :     //- distance - distance of the offset
      49                 :            :     //- divide_flg - divide the surface between each offset curve to create a better
      50                 :            :     //-              region for map mesh.
      51                 :            :     //- blunt_flg - create a blunt type ending instead of the arc type ending
      52                 :            :     //- preview_flg - if CUBIT_TRUE, just draw the curves that will be used to split
      53                 :            :     //-               instead of actually splitting.
      54                 :            :     //- create_ref_edges_flg - valid only if preview_flg=CUBIT_TRUE.  If CUBIT_TRUE,
      55                 :            :     //-                    create RefEdges *instead* of splitting.
      56                 :            : 
      57                 :            : private:
      58                 :            :     CubitStatus draw_preview(
      59                 :            :         DLIList<Curve*> &curve_list,
      60                 :            :         int color=CUBIT_BLUE_INDEX);
      61                 :            :     //- Draw the curves
      62                 :            : 
      63                 :            :     CubitStatus draw_preview(
      64                 :            :         Curve *curve_ptr,
      65                 :            :         CubitBoolean flush=CUBIT_TRUE,
      66                 :            :         int color=CUBIT_BLUE_INDEX);
      67                 :            :     //- Draw the curves
      68                 :            : 
      69                 :            :     Curve *create_sweep_curve(
      70                 :            :         Curve *curve_in,
      71                 :            :         double distance,
      72                 :            :         double chord_tol,
      73                 :            :         CubitBoolean iterate = CUBIT_FALSE);
      74                 :            :     //- Create a sweep curve offset a distance given the input curve.
      75                 :            : 
      76                 :            :     Surface *create_sweep_section(
      77                 :            :         Curve* path,
      78                 :            :         double distance,
      79                 :            :         CubitVector up_vector,
      80                 :            :         double fraction = 0.0);
      81                 :            :     //- Uses two arcs to create a surface section normal to the input curve
      82                 :            : 
      83                 :            :     BodySM* create_sweep_body(
      84                 :            :         Surface* section,
      85                 :            :         Curve* path);
      86                 :            :     //- Sweeps the input surface along the curve path
      87                 :            : 
      88                 :            :     CubitStatus create_ref_edges(
      89                 :            :         DLIList<Curve*> &curve_list );
      90                 :            :     //- Creates RefEdges from the list of Curve entities
      91                 :            : 
      92                 :            :     DLIList<Curve*> create_divide_curves(
      93                 :            :         DLIList<Curve*> &curve_list,
      94                 :            :         Surface* surface_in,
      95                 :            :         double distance);
      96                 :            :     //- Creates perpendicular curves of length 'distance' at the ends of the
      97                 :            :     //- input curves. The curves are projected to the input surface if the 
      98                 :            :     //- Surface in not of type 'PLANE_SURFACE_TYPE'.
      99                 :            : 
     100                 :            :     DLIList<Curve*> sourceCurves;
     101                 :            :     //- List of the Curve entities to offset.
     102                 :            : 
     103                 :            :     static double tolerance;
     104                 :            :     //- Linear tolerace
     105                 :            : };
     106                 :            : 
     107                 :            : #endif
     108                 :            : 

Generated by: LCOV version 1.11