LCOV - code coverage report
Current view: top level - geom - CubitAttrib.cpp (source / functions) Hit Total Coverage
Test: coverage_sk.info Lines: 21 78 26.9 %
Date: 2020-06-30 00:58:45 Functions: 6 11 54.5 %
Branches: 9 30 30.0 %

           Branch data     Line data    Source code
       1                 :            : //- Class:          CubitAttrib
       2                 :            : //- Owner:          Greg Nielson
       3                 :            : //- Description:    implementation of the CubitAttrib class.
       4                 :            : //- Checked By:
       5                 :            : //- Version:
       6                 :            : 
       7                 :            : #include "CastTo.hpp"
       8                 :            : #include "CubitAttrib.hpp"
       9                 :            : #include "CubitAttribUser.hpp"
      10                 :            : #include "Body.hpp"
      11                 :            : #include "RefVolume.hpp"
      12                 :            : #include "RefFace.hpp"
      13                 :            : #include "RefEdge.hpp"
      14                 :            : #include "RefVertex.hpp"
      15                 :            : #include "CADeferredAttrib.hpp"
      16                 :            : #include "RefEntity.hpp"
      17                 :            : #include "DLIList.hpp"
      18                 :            : #include "RefEntityFactory.hpp"
      19                 :            : #include "MergeTool.hpp"
      20                 :            : #include "ModelQueryEngine.hpp"
      21                 :            : #include "GeometryQueryTool.hpp"
      22                 :            : 
      23                 :            : 
      24                 :            : 
      25                 :            : 
      26                 :     288446 : CubitAttrib::CubitAttrib(RefEntity *attrib_owner)
      27                 :            : {
      28                 :     288446 :   attribOwnerEntity = attrib_owner;
      29                 :     288446 :   hasActuated = CUBIT_FALSE;
      30                 :     288446 :   hasUpdated = CUBIT_FALSE;
      31                 :     288446 :   hasWritten = CUBIT_FALSE;
      32                 :     288446 :   deleteAttrib = CUBIT_FALSE;
      33                 :     288446 :   nextAttrib = NULL;
      34                 :            : 
      35                 :            :     // add this to the owner
      36         [ +  + ]:     288446 :   if (attrib_owner) attrib_owner->add_cubit_attrib(this);
      37                 :     288446 : }
      38                 :            : 
      39                 :     227084 : CubitAttrib::~CubitAttrib()
      40                 :            : {
      41         [ +  + ]:     227084 :   if( !hasActuated )
      42                 :     223504 :     CADeferredAttrib::remove_unactuated_ca( this );
      43         [ -  + ]:     227084 : }
      44                 :            : 
      45                 :          0 : CubitStatus CubitAttrib::actuate_list(DLIList<RefEntity*> entity_list)
      46                 :            : {
      47                 :            :   RefEntity * ref_ent;
      48         [ #  # ]:          0 :   for(int i = entity_list.size(); i > 0; i--)
      49                 :            :   {
      50                 :          0 :     ref_ent = entity_list.get_and_step();
      51                 :          0 :     ref_ent->actuate_cubit_attrib(CA_ENTITY_NAME);
      52                 :          0 :     ref_ent->actuate_cubit_attrib ( CA_UNIQUE_ID );
      53                 :          0 :     ref_ent->actuate_cubit_attrib(CA_SIZING_FUNCTION_SKELETON);
      54                 :          0 :     ref_ent->actuate_cubit_attrib(CA_MESH_INTERVAL);
      55                 :          0 :     ref_ent->actuate_cubit_attrib(CA_GROUP);
      56                 :          0 :     ref_ent->actuate_cubit_attrib(CA_GENESIS_ENTITY);
      57                 :            : //    ref_ent->actuate_cubit_attrib ( CA_ENTITY_ID );
      58                 :          0 :     ref_ent->actuate_cubit_attrib ( CA_MESH_SCHEME );
      59                 :          0 :     ref_ent->actuate_cubit_attrib ( CA_SMOOTH_SCHEME );
      60                 :          0 :     ref_ent->actuate_cubit_attrib ( CA_PARTITION_VG );
      61                 :          0 :     ref_ent->actuate_cubit_attrib ( CA_COMPOSITE_VG );
      62                 :          0 :     ref_ent->actuate_cubit_attrib ( CA_VIRTUAL_VG );
      63                 :          0 :     ref_ent->actuate_cubit_attrib(CA_MERGE_PARTNER);
      64                 :          0 :     ref_ent->actuate_cubit_attrib(CA_DEFERRED_ATTRIB);
      65                 :          0 :     ref_ent->actuate_cubit_attrib(CA_MESH_CONTAINER);
      66                 :          0 :     ref_ent->actuate_cubit_attrib(CA_BODIES);
      67                 :          0 :     ref_ent->actuate_cubit_attrib ( CA_ENTITY_ID );
      68                 :          0 :     ref_ent->actuate_cubit_attrib(CA_ENTITY_COLOR);
      69                 :          0 :     ref_ent->actuate_cubit_attrib(CA_ENTITY_TOL);
      70                 :            : //#ifdef CAT
      71                 :          0 :     ref_ent->actuate_cubit_attrib(CA_VERTEX_FORCE);
      72                 :          0 :     ref_ent->actuate_cubit_attrib(CA_SURFACE_FORCE);
      73                 :          0 :     ref_ent->actuate_cubit_attrib(CA_CURVE_FORCE);
      74                 :          0 :     ref_ent->actuate_cubit_attrib(CA_VERTEX_DISPLACEMENT);
      75                 :          0 :     ref_ent->actuate_cubit_attrib(CA_SURFACE_DISPLACEMENT);
      76                 :          0 :     ref_ent->actuate_cubit_attrib(CA_CURVE_DISPLACEMENT);
      77                 :          0 :     ref_ent->actuate_cubit_attrib(CA_VOLUME_DISPLACEMENT);
      78                 :          0 :     ref_ent->actuate_cubit_attrib(CA_SURFACE_PRESSURE);
      79                 :          0 :     ref_ent->actuate_cubit_attrib(CA_CURVE_PRESSURE);
      80                 :          0 :     ref_ent->actuate_cubit_attrib(CA_SURFACE_TEMPERATURE);
      81                 :          0 :     ref_ent->actuate_cubit_attrib(CA_CURVE_TEMPERATURE);
      82                 :          0 :     ref_ent->actuate_cubit_attrib(CA_VERTEX_TEMPERATURE);
      83                 :          0 :     ref_ent->actuate_cubit_attrib(CA_SURFACE_HEATFLUX);
      84                 :          0 :     ref_ent->actuate_cubit_attrib(CA_CURVE_HEATFLUX);
      85                 :          0 :     ref_ent->actuate_cubit_attrib(CA_SURFACE_CONVECTION);
      86                 :          0 :     ref_ent->actuate_cubit_attrib(CA_CURVE_CONVECTION);
      87                 :          0 :     ref_ent->actuate_cubit_attrib(CA_SURFACE_CONTACT);
      88                 :          0 :     ref_ent->actuate_cubit_attrib(CA_CURVE_CONTACT);
      89                 :          0 :     ref_ent->actuate_cubit_attrib(CA_COORD_SYS);
      90                 :          0 :     ref_ent->actuate_cubit_attrib(CA_PROPERTY_BLOCK);
      91                 :          0 :     ref_ent->actuate_cubit_attrib(CA_MATERIAL_BLOCK);
      92                 :            : //#endif
      93                 :          0 :     ref_ent->actuate_cubit_attrib(CA_MERGE_STATUS);
      94                 :            :   }
      95                 :          0 :   return CUBIT_SUCCESS;
      96                 :            : }
      97                 :            : 
      98                 :     235867 : void CubitAttrib::has_written(CubitBoolean set_has_written)
      99                 :            : {
     100                 :     235867 :   hasWritten = set_has_written;
     101                 :            : 
     102                 :            :     // if the written flag is being set to true, reset the hasUpdated flag
     103         [ +  + ]:     235867 :   if (CUBIT_TRUE == hasWritten)
     104                 :      26440 :     hasUpdated = CUBIT_FALSE;
     105                 :     235867 : }
     106                 :            : 
     107                 :     241598 : CubitBoolean CubitAttrib::has_written() const
     108                 :     241598 : {return hasWritten;}
     109                 :            : 
     110                 :          0 : void CubitAttrib::remove_attribute()
     111                 :            : {
     112         [ #  # ]:          0 :   if (has_written())
     113                 :          0 :     attribOwnerEntity->remove_attrib_geometry_entity(this);
     114                 :          0 : }
     115                 :            : 
     116                 :          0 : void CubitAttrib::add_attribute()
     117                 :            : {
     118                 :          0 :   attribOwnerEntity->add_cubit_attrib(this);
     119                 :          0 : }
     120                 :            : 
     121                 :          0 : int CubitAttrib::equivalent(const CubitSimpleAttrib& csa_ptr)
     122                 :            : {
     123                 :            :     //- return true if the csa and this are equivalent
     124         [ #  # ]:          0 :    CubitSimpleAttrib this_csa_ptr = cubit_simple_attrib();
     125                 :            : 
     126 [ #  # ][ #  # ]:          0 :    return this_csa_ptr == csa_ptr;
     127                 :            : }
     128                 :            : 
     129                 :          0 : void CubitAttrib::print()
     130                 :            : {
     131                 :            :     // print some details about this attrib
     132 [ #  # ][ #  # ]:          0 :   PRINT_INFO("Attrib type %s, Owner = %s %d, Actuated=%d, Updated=%d, "
                 [ #  # ]
     133                 :            :              "Written=%d, Delete=%d\n",
     134                 :            :              att_internal_name(),
     135                 :            :              (attribOwnerEntity ? attribOwnerEntity->class_name() : "(none)"),
     136                 :            :              (attribOwnerEntity ? attribOwnerEntity->id() : 0),
     137                 :            :              hasActuated, hasUpdated,
     138         [ #  # ]:          0 :              hasWritten, deleteAttrib);
     139                 :            : 
     140 [ +  - ][ +  - ]:       6540 : }
     141                 :            : 

Generated by: LCOV version 1.11