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

           Branch data     Line data    Source code
       1                 :            : //-------------------------------------------------------------------------
       2                 :            : // Filename      : CompositeLump.hpp
       3                 :            : //
       4                 :            : // Purpose       : Combine Lumps
       5                 :            : //
       6                 :            : // Special Notes : 
       7                 :            : //
       8                 :            : // Creator       : Jason Kraftcheck
       9                 :            : //
      10                 :            : // Creation Date : 01/11/02
      11                 :            : //-------------------------------------------------------------------------
      12                 :            : 
      13                 :            : #ifndef COMPOSITE_LUMP_HPP
      14                 :            : #define COMPOSITE_LUMP_HPP
      15                 :            : 
      16                 :            : #include "VGDefines.h"
      17                 :            : #include "Lump.hpp"
      18                 :            : #include "CompositeGeom.hpp"
      19                 :            : #include "TBOwner.hpp"
      20                 :            : #include "HiddenEntitySet.hpp"
      21                 :            : #include "CompositeShell.hpp"
      22                 :            : 
      23                 :            : class CompositeBody;
      24                 :            : class HiddenEntitySet;
      25                 :            : 
      26                 :            : class CompositeLump : public Lump, public TBOwner
      27                 :            : {
      28                 :            : friend class CompositeBody;
      29                 :            : public:
      30                 :            :   
      31                 :            :   CompositeLump( Lump* real_lump );
      32                 :            :   CompositeLump( CompositeGeom* geom );
      33                 :            :   virtual ~CompositeLump();
      34                 :            :   
      35                 :            :   int num_lumps() const;
      36                 :            :   Lump* get_lump( int index ) const;
      37                 :            :   int index_of( Lump* ) const;
      38                 :            :   void update();
      39                 :            :  
      40                 :            :   CubitStatus add( Lump* lump );
      41                 :            :   CubitStatus remove( Lump* lump );
      42                 :            :   CubitStatus remove_lump( int index );
      43                 :            :   
      44                 :            :   HiddenEntitySet& hidden_entities();
      45                 :            :   bool has_hidden_entities() const;
      46                 :            :   void get_hidden_surfaces( DLIList<Surface*>& surfaces );
      47                 :            :   
      48                 :            :   CompositeShell* first_shell() const;
      49                 :            :   CompositeShell* next_shell( CompositeShell* after_this ) const;
      50                 :            :   
      51                 :            :   CubitStatus add( CompositeShell* shell );
      52                 :            :   CubitStatus remove( CompositeShell* shell );
      53                 :            :   
      54                 :            :   CompositeBody* get_body() const;
      55                 :            :   
      56                 :            :   CubitBox bounding_box() const;
      57                 :            :   double measure();
      58                 :            :   
      59                 :            :   void get_parents_virt( DLIList<TopologyBridge*>& parents );
      60                 :            :   void get_children_virt( DLIList<TopologyBridge*>& children );
      61                 :          0 :   int layer() const { return COMPOSITE_LAYER; }
      62                 :            :   GeometryQueryEngine* get_geometry_query_engine() const;
      63                 :            : 
      64                 :            :   void append_simple_attribute_virt( const CubitSimpleAttrib& simple_attrib_ptr );
      65                 :            :   void remove_simple_attribute_virt( const CubitSimpleAttrib& simple_attrib_ptr );
      66                 :            :   void remove_all_simple_attribute_virt();
      67                 :            :   CubitStatus get_simple_attribute( DLIList<CubitSimpleAttrib>& attrib_list );
      68                 :            :   CubitStatus get_simple_attribute( const CubitString& name,
      69                 :            :                                     DLIList<CubitSimpleAttrib>& attrib_list );
      70                 :            :   
      71                 :            :   CubitStatus remove_bridge( TopologyBridge* bridge );
      72                 :            :   CubitStatus swap_bridge( TopologyBridge* old_tb, TopologyBridge* new_tb, bool );
      73                 :            :   CubitBoolean contains_bridge( TopologyBridge* bridge ) const;
      74                 :            :   void notify_reversed( TopologyBridge* bridge );
      75                 :            :   
      76                 :            :   CompositeLump* split( VGArray<int>& indices_to_move );
      77                 :            :   CubitStatus combine( CompositeLump* dead_vol );
      78                 :            :   
      79                 :            :   void print_debug_info( const char* line_prefix = 0, bool brief = false );
      80                 :            : 
      81                 :            :   virtual CubitStatus mass_properties( CubitVector &centroid, double &volume );
      82                 :            : 
      83                 :            : private:
      84                 :            : 
      85                 :            :   CompositeBody* myBody;
      86                 :            :   CompositeLump* nextLump;
      87                 :            : 
      88                 :            :   CompositeGeom* compGeom;
      89                 :            :   
      90                 :            :   CompositeShell* firstShell;
      91                 :            :   
      92                 :            :   HiddenEntitySet* hiddenSet;
      93                 :            : };
      94                 :            : 
      95                 :          0 : inline CompositeShell* CompositeLump::first_shell() const
      96                 :          0 :   { return firstShell; }
      97                 :            :   
      98                 :          0 : inline CompositeShell* CompositeLump::next_shell( CompositeShell* after ) const
      99 [ #  # ][ #  # ]:          0 :   { return !after ? firstShell : after->myLump == this ? after->lumpNext : 0; }
     100                 :            : 
     101                 :          0 : inline int CompositeLump::num_lumps() const
     102                 :          0 :   { return compGeom->num_entities(); }
     103                 :            : 
     104                 :          0 : inline Lump* CompositeLump::get_lump( int index ) const
     105         [ #  # ]:          0 :   { return dynamic_cast<Lump*>(compGeom->entity( index )); }
     106                 :            : 
     107                 :          0 : inline int CompositeLump::index_of( Lump* lump ) const
     108                 :          0 :   { return compGeom->index_of( lump ); }
     109                 :            : 
     110                 :          0 : inline void CompositeLump::update()
     111                 :          0 :   { compGeom->update_cached_data(); }
     112                 :            : 
     113                 :          0 : inline CompositeBody* CompositeLump::get_body() const
     114                 :          0 :   { return myBody; }
     115                 :            : 
     116                 :          0 : inline HiddenEntitySet& CompositeLump::hidden_entities()
     117                 :            : { 
     118         [ #  # ]:          0 :   if( !hiddenSet )
     119         [ #  # ]:          0 :     hiddenSet = new HiddenEntitySet(this);
     120                 :          0 :   return *hiddenSet;
     121                 :            : }
     122                 :            : 
     123                 :            : 
     124                 :            : #endif

Generated by: LCOV version 1.11