LCOV - code coverage report
Current view: top level - geom/Cholla/cgm - TDGeomFacet.hpp (source / functions) Hit Total Coverage
Test: coverage_sk.info Lines: 21 41 51.2 %
Date: 2020-06-30 00:58:45 Functions: 13 20 65.0 %
Branches: 0 14 0.0 %

           Branch data     Line data    Source code
       1                 :            : //- Class: TDGeomFacet
       2                 :            : //- Owner: Steve Owen
       3                 :            : //- Description: Data for reading in a mesh and creating a geometry.
       4                 :            : //-              This is assumed to be stored on a facet entity.
       5                 :            : //- Checked By: 
       6                 :            : //- Version:
       7                 :            : 
       8                 :            : #ifndef TD_GEOM_MESH_HPP
       9                 :            : 
      10                 :            : 
      11                 :            : #define TD_GEOM_MESH_HPP
      12                 :            : 
      13                 :            : #include "CubitDefines.h"
      14                 :            : #include "DLIList.hpp"
      15                 :            : #include "ToolData.hpp"
      16                 :            : #include "CubitPoint.hpp"
      17                 :            : class FacetEntity;
      18                 :            : class ChollaEntity;
      19                 :            : class ChollaVolume;
      20                 :            : class ChollaSurface;
      21                 :            : class ChollaCurve;
      22                 :            : class ChollaPoint;
      23                 :            : class CubitFacet;
      24                 :            : class CubitFacetEdge;
      25                 :            : 
      26                 :            : 
      27                 :            : class TDGeomFacet : public ToolData
      28                 :            : {
      29                 :            : private:
      30                 :            : 
      31                 :            :   static MemoryManager memoryManager;
      32                 :            :     //- memory management object
      33                 :            : 
      34                 :            :   int blockId;
      35                 :            : 
      36                 :            :   int hitFlag;
      37                 :            :     //- Used for looping.
      38                 :            : 
      39                 :            :   DLIList<ChollaSurface*> ChollaSurfaceList;
      40                 :            :     //- list of surfaces this element is on.
      41                 :            : 
      42                 :            :   DLIList<ChollaCurve*> ChollaCurveList;
      43                 :            :     //- list of curves this element (edge) is on
      44                 :            :   
      45                 :            :   DLIList<ChollaPoint*> ChollaPointList;
      46                 :            :     //- list chollapoints this element (point) is on 
      47                 :            :   
      48                 :            :   DLIList<CubitPoint*> myPoints;
      49                 :            :     //- list of associated points for this entity (could be one).
      50                 :            : 
      51                 :            :   CubitVector normal;
      52                 :            :     //- normal or tangent vector of a facet or facet edge
      53                 :            : 
      54                 :            :   DLIList<CubitFacetEdge *> *partnerEdgeList;
      55                 :            :     //- other edges that share the same geometry
      56                 :            : 
      57                 :            :   DLIList<CubitPoint *> *partnerPointList;
      58                 :            :     //- other points that share the same geometry
      59                 :            : 
      60                 :            : public:
      61                 :            : 
      62                 :            :   TDGeomFacet();
      63                 :            :     //- constructor
      64                 :            : 
      65                 :            :   ~TDGeomFacet();
      66                 :            : 
      67                 :            :   static int is_geom_facet(const ToolData* td);
      68                 :            :   
      69                 :       1584 :   int get_block_id()
      70                 :       1584 :     {return blockId;}
      71                 :            : 
      72                 :       2618 :   void set_block_id(int new_id)
      73                 :       2618 :     {blockId = new_id;}
      74                 :            : 
      75                 :      10428 :   int get_hit_flag()
      76                 :      10428 :     {return hitFlag;}
      77                 :            : 
      78                 :       4972 :   void set_hit_flag(int flag)
      79                 :       4972 :     {hitFlag = flag;}
      80                 :            :   
      81                 :            :   void add_cholla_owner(ChollaEntity *cholla_entity);
      82                 :            : 
      83                 :            :   void add_cholla_surf(ChollaSurface *f_s_m);
      84                 :            : 
      85                 :       7590 :   void get_cholla_surfs(DLIList<ChollaSurface*> &surf_list)
      86                 :       7590 :     {surf_list =  ChollaSurfaceList;}
      87                 :            : 
      88                 :            :   void remove_cholla_surfs()
      89                 :            :     {ChollaSurfaceList.clean_out();}
      90                 :            : 
      91                 :        935 :   void remove_cholla_surf( ChollaSurface *chsurf_ptr )
      92                 :        935 :     {ChollaSurfaceList.remove( chsurf_ptr );}
      93                 :            : 
      94                 :       2684 :   void add_cholla_curve(ChollaCurve *chcurv_ptr)
      95                 :       2684 :     {ChollaCurveList.append_unique( chcurv_ptr );}
      96                 :            : 
      97                 :       2618 :   void get_cholla_curves(DLIList<ChollaCurve*> &curv_list)
      98                 :       2618 :     {curv_list =  ChollaCurveList;}
      99                 :            : 
     100                 :            :   void remove_cholla_curves()
     101                 :            :     {ChollaCurveList.clean_out();}
     102                 :            : 
     103                 :        880 :   void remove_cholla_curve( ChollaCurve *chcurv_ptr )
     104                 :        880 :     {ChollaCurveList.remove( chcurv_ptr );}
     105                 :            :   
     106                 :          0 :   void add_cholla_point(ChollaPoint *chpt_ptr)
     107                 :          0 :     {ChollaPointList.append_unique( chpt_ptr );}
     108                 :            : 
     109                 :          0 :   void get_cholla_points(DLIList<ChollaPoint*> &point_list)
     110                 :          0 :     {point_list =  ChollaPointList;}
     111                 :            :   
     112                 :            :   void remove_cholla_points()
     113                 :            :     {ChollaPointList.clean_out();}
     114                 :            :   
     115                 :            :   void remove_cholla_point( ChollaPoint *point_ptr )
     116                 :            :     { ChollaPointList.remove( point_ptr ); }
     117                 :            :   
     118                 :            :   void add_point(CubitPoint *point)
     119                 :            :     {myPoints.append(point);}
     120                 :            : 
     121                 :            :   void delete_point(CubitPoint *point)
     122                 :            :     {myPoints.omit(point);}
     123                 :            : 
     124                 :            :   void get_points(DLIList<CubitPoint*> &point_list)
     125                 :            :     {point_list += myPoints;}
     126                 :            : 
     127                 :            :   CubitPoint* get_first_point()
     128                 :            :     {
     129                 :            :       myPoints.reset();
     130                 :            :       if ( myPoints.size() )
     131                 :            :         return myPoints.get();
     132                 :            :       else
     133                 :            :         return (CubitPoint*) NULL;
     134                 :            :     }
     135                 :            : 
     136                 :          0 :   void add_partner_edge( CubitFacetEdge *partner )
     137         [ #  # ]:          0 :     { if (partnerEdgeList == NULL)
     138         [ #  # ]:          0 :         partnerEdgeList = new DLIList<CubitFacetEdge *>;
     139                 :          0 :       partnerEdgeList->append( partner ); };
     140                 :            : 
     141                 :          0 :   void get_partner_edges( DLIList <CubitFacetEdge *> &partner_list )
     142         [ #  # ]:          0 :     { if (partnerEdgeList != NULL) partner_list += *partnerEdgeList; };
     143                 :            : 
     144                 :          0 :   int num_partner_edges( )
     145         [ #  # ]:          0 :     { if (partnerEdgeList == NULL)
     146                 :          0 :         return 0;
     147                 :            :       else
     148                 :          0 :         return partnerEdgeList->size(); }
     149                 :            : 
     150                 :          0 :   void add_partner_point( CubitPoint *partner )
     151         [ #  # ]:          0 :     { if (partnerPointList == NULL)
     152         [ #  # ]:          0 :         partnerPointList = new DLIList<CubitPoint *>;
     153                 :          0 :       partnerPointList->append( partner ); };
     154                 :            : 
     155                 :          0 :   void get_partner_points( DLIList <CubitPoint *> &partner_list )
     156         [ #  # ]:          0 :     { if (partnerPointList != NULL) partner_list += *partnerPointList; };
     157                 :            : 
     158                 :            :   int num_partner_points( )
     159                 :            :     { if (partnerPointList == NULL)
     160                 :            :         return 0;
     161                 :            :       else
     162                 :            :         return partnerPointList->size(); }
     163                 :            :   
     164                 :            :   CubitBoolean is_in_volume( ChollaVolume *chvol_ptr );
     165                 :            : 
     166                 :      10472 :   SetDynamicMemoryAllocation(memoryManager)
     167                 :            :     //- class specific new and delete operators
     168                 :            :     
     169                 :            :   static void set_memory_allocation_increment(int increment = 0)
     170                 :            :     {memoryManager.set_memory_allocation_increment(increment);}
     171                 :            :     //- set block memory size increment
     172                 :            :   
     173                 :            :   static void destroy_memory()
     174                 :            :     {memoryManager.destroy_memory();}
     175                 :            :     //- destroy all memory allocted to this object
     176                 :            : 
     177                 :            :   static CubitStatus add_geom_facet(FacetEntity *facet_entity, int block_id);
     178                 :            :   static CubitStatus add_geom_facet(CubitFacet *facet_ptr, int block_id);
     179                 :            :   static CubitStatus add_geom_facet(CubitFacetEdge *edge_ptr, int block_id);
     180                 :            :   static CubitStatus add_geom_facet(CubitPoint *point_ptr, int block_id);
     181                 :            :   
     182                 :            :   static TDGeomFacet* get_geom_facet(FacetEntity *facet_entity);
     183                 :            :   static TDGeomFacet* get_geom_facet(CubitFacet *facet_ptr);
     184                 :            :   static TDGeomFacet* get_geom_facet(CubitFacetEdge *edge_ptr);
     185                 :            :   static TDGeomFacet* get_geom_facet(CubitPoint *point_ptr);
     186                 :            :   
     187                 :            :   static int get_block_id(FacetEntity *mesh_entity);
     188                 :            :   static int get_block_id(CubitFacet *facet_ptr);
     189                 :            :   static int get_block_id(CubitFacetEdge *edge_ptr);
     190                 :            :   static int get_block_id(CubitPoint *point_ptr);
     191                 :            : 
     192                 :            :   static int get_hit_flag(FacetEntity *mesh_entity);
     193                 :            :   static void set_hit_flag(FacetEntity *mesh_entity, int new_val);
     194                 :       6336 :   CubitVector get_normal( ) { return normal; }
     195                 :       2904 :   void set_normal( CubitVector &norm ) { normal = norm; }
     196                 :            : 
     197                 :            :   CubitBoolean is_partner( CubitFacetEdge *edge_ptr );
     198                 :            :   CubitBoolean is_partner( CubitPoint *point_ptr );
     199                 :            : 
     200                 :            :   void reset_TD_as_new();
     201                 :            :   
     202                 :            :   int geo_type();
     203                 :            :   
     204                 :            : };
     205                 :            :     
     206                 :            : 
     207                 :            : #endif // TD_GEOM_MESH_HPP
     208                 :            : 
     209                 :            : 

Generated by: LCOV version 1.11