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

           Branch data     Line data    Source code
       1                 :            : //- Class:          CAMergePartner
       2                 :            : //- Owner:          Tim Tautges
       3                 :            : //- Description:    Cubit attribute for RefGroups
       4                 :            : //- Checked by:
       5                 :            : //- Version:
       6                 :            : 
       7                 :            : #ifndef CA_GROUP_HPP
       8                 :            : #define CA_GROUP_HPP
       9                 :            : 
      10                 :            : #include "CubitAttrib.hpp"
      11                 :            : #include "DLIList.hpp"
      12                 :            : #include "CADefines.hpp"
      13                 :            : 
      14                 :            : class RefEntity;
      15                 :            : class RefGroup;
      16                 :            : 
      17                 :            : class CUBIT_GEOM_EXPORT CAGroup: public CubitAttrib
      18                 :            : {
      19                 :            : 
      20                 :            : private:
      21                 :            : 
      22                 :            :   DLIList<int> groupID;
      23                 :            :     //- group ids containing attribOwnerEntity
      24                 :            :   
      25                 :            :   DLIList<int> uniqueID;
      26                 :            :     //- unique ids of groups containing attribOwnerEntity
      27                 :            : 
      28                 :            :   DLIList<CubitString> groupNames;
      29                 :            :     //- names of groups containing attribOwnerEntity
      30                 :            : 
      31                 :            :   DLIList<int> sequenceNumbers;
      32                 :            :     //- sequence numbers of this entity in the groups
      33                 :            : 
      34                 :            :   DLIList<int> numOwningGroups;
      35                 :            :     //- for each group in groupID, number of groups owning those groups
      36                 :            : 
      37                 :            :   DLIList<int> owningGroupID;
      38                 :            :     //- group ids containing groups containing attribOwnerEntity
      39                 :            :   
      40                 :            :   DLIList<int> owningUniqueID;
      41                 :            :     //- unique ids of groups containing groups containing attribOwnerEntity
      42                 :            : 
      43                 :            :   DLIList<CubitString> owningGroupNames;
      44                 :            :     //- names of groups containing groups containing attribOwnerEntity
      45                 :            : 
      46                 :            :   DLIList<int> owningSequenceNumbers;
      47                 :            :     //- sequence numbers of groups in owning groups
      48                 :            :   
      49                 :            :     //- for each ancestor (a group which owns only other groups, with those
      50                 :            :     //- those groups owning only other groups), we store the group id, uid,
      51                 :            :     //- name, and the uid of the owned group to which this is an ancestor
      52                 :            :   DLIList<int> ancestorGroupID;
      53                 :            :   DLIList<int> ancestorUniqueID;
      54                 :            :   DLIList<CubitString> ancestorGroupName;
      55                 :            :   DLIList<int> ancestorOwnedGroupUid;
      56                 :            :   DLIList<int> ancestorSequenceNumbers;
      57                 :            :   
      58                 :            :   static CubitBoolean initialize_rand;
      59                 :            :   
      60                 :            : public:
      61                 :            :   CAGroup(RefEntity*, const CubitSimpleAttrib&);
      62                 :            :     //- make a CAG from a simple attribute
      63                 :            : 
      64                 :            :   void initialize();
      65                 :            :     //- initialize random number generator for this attribute
      66                 :            : 
      67                 :            :   virtual ~CAGroup();
      68                 :            : 
      69                 :            :   CubitStatus actuate();
      70                 :            :     //- actuate this attribute
      71                 :            :   
      72                 :            :   CubitStatus update();
      73                 :            :     //- update this attribute
      74                 :            : 
      75                 :            :   CubitStatus reset();
      76                 :            :     //- reset this attribute
      77                 :            : 
      78                 :            :   CubitSimpleAttrib cubit_simple_attrib();
      79                 :            :     //- return a simple attribute with this CA's data
      80                 :            :   
      81                 :            :   RefGroup *assign_group(RefEntity *owned_entity,
      82                 :            :                          const int group_id, const int unique_id,
      83                 :            :                          const CubitString& group_name,
      84                 :            :                          const int seq_num);
      85                 :            :     //- used in actuating this CA
      86                 :            :   
      87                 :            :   RefGroup *assign_ancestor_group(const int ancestor_id,
      88                 :            :                                   const int ancestor_uid,
      89                 :            :                                   const CubitString& ancestor_name,
      90                 :            :                                   const int owned_group_uid,
      91                 :            :                                   const int seq_num);
      92                 :            :   
      93                 :            :   void build_ancestor_list(RefGroup *parent_ref_group);
      94                 :            :   
      95                 :     185098 :   int int_attrib_type() {return CA_GROUP;}
      96                 :            :     //- returns the enumerated attribute type
      97                 :            : 
      98                 :            :   virtual void has_written(CubitBoolean set_has_written);
      99                 :            :     //- class-specific version; resets td_cage on attrib owner
     100                 :            : 
     101                 :      12712 :   virtual CubitBoolean has_written() const {return hasWritten;};
     102                 :            :     //- class-specific version; 
     103                 :            : 
     104                 :            : };
     105                 :            : 
     106                 :            : CubitAttrib* CAGroup_creator(RefEntity* entity, const CubitSimpleAttrib &p_csa);
     107                 :            : 
     108                 :            : #endif
     109                 :            : 

Generated by: LCOV version 1.11