LCOV - code coverage report
Current view: top level - geom - TopologyEntity.cpp (source / functions) Hit Total Coverage
Test: coverage_sk.info Lines: 57 139 41.0 %
Date: 2020-06-30 00:58:45 Functions: 20 34 58.8 %
Branches: 156 724 21.5 %

           Branch data     Line data    Source code
       1                 :            : //-------------------------------------------------------------------------
       2                 :            : // Filename      : TopologyEntity.cpp
       3                 :            : //
       4                 :            : // Purpose       : Implementation of the TopologyEntity class.
       5                 :            : //
       6                 :            : // Special Notes :
       7                 :            : //
       8                 :            : // Creator       : Xuechen Liu
       9                 :            : //
      10                 :            : // Creation Date : 07/31/96
      11                 :            : //
      12                 :            : // Owner         : Malcolm J. Panthaki
      13                 :            : //-------------------------------------------------------------------------
      14                 :            : 
      15                 :            : // ********** BEGIN STANDARD INCLUDES      **********
      16                 :            : #include <assert.h>
      17                 :            : // ********** END STANDARD INCLUDES        **********
      18                 :            : 
      19                 :            : // ********** BEGIN CUBIT INCLUDES         **********
      20                 :            : #include "CubitDefines.h"
      21                 :            : #include "CubitMessage.hpp"
      22                 :            : 
      23                 :            : #include "CastTo.hpp"
      24                 :            : #include "TopologyEntity.hpp"
      25                 :            : #include "TopologyBridge.hpp"
      26                 :            : 
      27                 :            : #include "ModelQueryEngine.hpp"
      28                 :            : #include "GeometryQueryTool.hpp"
      29                 :            : 
      30                 :            : #include "Body.hpp"
      31                 :            : #include "DLIList.hpp"
      32                 :            : #include "Shell.hpp"
      33                 :            : #include "Loop.hpp"
      34                 :            : #include "Chain.hpp"
      35                 :            : #include "RefVolume.hpp"
      36                 :            : #include "RefFace.hpp"
      37                 :            : #include "RefEdge.hpp"
      38                 :            : #include "RefVertex.hpp"
      39                 :            : #include "CoVolume.hpp"
      40                 :            : #include "CoFace.hpp"
      41                 :            : #include "CoEdge.hpp"
      42                 :            : #include "CoVertex.hpp"
      43                 :            : #include "AppUtil.hpp"
      44                 :            : #include "CubitEvent.hpp"
      45                 :            : 
      46                 :            : // ********** END CUBIT INCLUDES           **********
      47                 :            : 
      48                 :            : // ********** BEGIN STATIC DECLARATIONS    **********
      49                 :            : // ********** END STATIC DECLARATIONS      **********
      50                 :            : 
      51                 :            : // ********** BEGIN PUBLIC FUNCTIONS       **********
      52                 :            : 
      53                 :            : //-------------------------------------------------------------------------
      54                 :            : // Purpose       : Casting query functions
      55                 :            : //
      56                 :            : // Special Notes : 
      57                 :            : //
      58                 :            : // Creator       : Jason Kraftcheck
      59                 :            : //
      60                 :            : // Creation Date : 07/29/03
      61                 :            : //-------------------------------------------------------------------------
      62                 :            : #define DECLARE_TOPO_ENT_QUERY_FUNC( TYPE, NAME, QUERYTYPE ) \
      63                 :            :  CubitStatus TopologyEntity::NAME(DLIList<TYPE*>& list) \
      64                 :            :  { \
      65                 :            :    DLIList<TopologyEntity*> temp_list ; \
      66                 :            :    CubitStatus result; \
      67                 :            :    ModelQueryEngine *const mqe = ModelQueryEngine::instance(); \
      68                 :            :    \
      69                 :            :    result = mqe->query_model( *this, DagType::QUERYTYPE(), temp_list ); \
      70                 :            :    if (result == CUBIT_FAILURE) \
      71                 :            :    { \
      72                 :            :       PRINT_ERROR("In TopologyEntity::" #NAME "\n"); \
      73                 :            :       PRINT_ERROR("       Query failed for unknown reason.\n"); \
      74                 :            :       return CUBIT_FAILURE; \
      75                 :            :    } \
      76                 :            :    \
      77                 :            :    temp_list.reset(); \
      78                 :            :    for (int i = temp_list.size(); i--; ) \
      79                 :            :    { \
      80                 :            :      TYPE* ptr = static_cast<TYPE*>(temp_list.get_and_step()); \
      81                 :            :      assert(!!ptr); \
      82                 :            :      list.append(ptr); \
      83                 :            :    } \
      84                 :            :    \
      85                 :            :    return CUBIT_SUCCESS; \
      86                 :            : }
      87                 :            : 
      88                 :            : 
      89                 :            : 
      90                 :            : //-------------------------------------------------------------------------
      91                 :            : // Purpose       : Default constructor.
      92                 :            : //
      93                 :            : // Special Notes :
      94                 :            : //
      95                 :            : // Creator       : Xuechen Liu
      96                 :            : //
      97                 :            : // Creation Date : 07/31/96
      98                 :            : //-------------------------------------------------------------------------
      99                 :            : 
     100                 :     295153 : TopologyEntity::TopologyEntity() 
     101                 :            :     : deactivatedStatus_(CUBIT_FALSE),
     102                 :            :       encountered_(CUBIT_FALSE),
     103                 :     295153 :       bridgeMan()
     104                 :            : {
     105         [ +  - ]:     295153 :   bridgeMan.set_entity(this);
     106                 :     295153 : }
     107                 :            : 
     108                 :            : //-------------------------------------------------------------------------
     109                 :            : // Purpose       : Destructor.
     110                 :            : //
     111                 :            : // Special Notes :
     112                 :            : //
     113                 :            : // Creator       : Raikanta Sahu
     114                 :            : //
     115                 :            : // Creation Date : 09/10/96
     116                 :            : //-------------------------------------------------------------------------
     117                 :            : 
     118                 :     364720 : TopologyEntity::~TopologyEntity() 
     119                 :            : {
     120                 :            :   // Make sure that the TopologyEntity class does not have a pointer to this
     121                 :            :   // TopologyEntity in its list.  If it does, then remove the instances
     122                 :            :   // of the pointer
     123 [ +  - ][ +  - ]:     182360 :   DAG::instance()->remove(this);
     124         [ -  + ]:     182360 : }
     125                 :            : 
     126                 :            : 
     127                 :            : GeometryQueryEngine*
     128                 :          0 : TopologyEntity::get_geometry_query_engine() const
     129                 :            : {
     130                 :            :   TopologyBridge* bridge = 
     131                 :          0 :     const_cast<TopologyEntity*>(this)->bridgeMan.topology_bridge();
     132         [ #  # ]:          0 :   if (bridge)
     133                 :          0 :     return bridge->get_geometry_query_engine();
     134                 :            :   else
     135                 :          0 :     return NULL;
     136                 :            : }
     137                 :            : 
     138                 :            : 
     139 [ +  - ][ +  - ]:      10706 : DECLARE_TOPO_ENT_QUERY_FUNC(      Body,       bodies,       body_type )
         [ +  - ][ +  - ]
         [ -  + ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  + ][ +  - ]
     140 [ #  # ][ #  # ]:          0 : DECLARE_TOPO_ENT_QUERY_FUNC(  CoVolume,   co_volumes,  co_volume_type )
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
     141 [ +  - ][ +  - ]:       7815 : DECLARE_TOPO_ENT_QUERY_FUNC( RefVolume,  ref_volumes, ref_volume_type )
         [ +  - ][ +  - ]
         [ -  + ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  + ][ +  - ]
     142 [ +  - ][ +  - ]:        132 : DECLARE_TOPO_ENT_QUERY_FUNC(     Shell,       shells,      shell_type )
         [ +  - ][ +  - ]
         [ -  + ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  + ][ +  - ]
     143 [ +  - ][ +  - ]:      21315 : DECLARE_TOPO_ENT_QUERY_FUNC(    CoFace,     co_faces,    co_face_type )
         [ +  - ][ +  - ]
         [ -  + ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  + ][ +  - ]
     144 [ +  - ][ +  - ]:      69991 : DECLARE_TOPO_ENT_QUERY_FUNC(   RefFace,    ref_faces,   ref_face_type )
         [ +  - ][ +  - ]
         [ -  + ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  + ][ +  - ]
     145 [ +  - ][ +  - ]:       9984 : DECLARE_TOPO_ENT_QUERY_FUNC(      Loop,        loops,       loop_type )
         [ +  - ][ +  - ]
         [ -  + ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  + ][ +  - ]
     146 [ #  # ][ #  # ]:          0 : DECLARE_TOPO_ENT_QUERY_FUNC(    CoEdge,     co_edges,    co_edge_type )
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
     147 [ +  - ][ +  - ]:     179647 : DECLARE_TOPO_ENT_QUERY_FUNC(   RefEdge,    ref_edges,   ref_edge_type )
         [ +  - ][ +  - ]
         [ -  + ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  + ][ +  - ]
     148 [ #  # ][ #  # ]:          0 : DECLARE_TOPO_ENT_QUERY_FUNC(     Chain,       chains,      chain_type )
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
     149 [ +  - ][ +  - ]:     160012 : DECLARE_TOPO_ENT_QUERY_FUNC(  CoVertex,  co_vertices,  co_vertex_type )
         [ +  - ][ +  - ]
         [ -  + ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  + ][ +  - ]
     150 [ +  - ][ +  - ]:     310545 : DECLARE_TOPO_ENT_QUERY_FUNC( RefVertex, ref_vertices, ref_vertex_type )
         [ +  - ][ +  - ]
         [ -  + ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  - ]
         [ +  + ][ +  - ]
     151                 :            : 
     152                 :            : 
     153                 :          0 : RefVertex *TopologyEntity::ref_vertex()
     154                 :            : {
     155         [ #  # ]:          0 :   DLIList<RefVertex*> verts;
     156         [ #  # ]:          0 :   ref_vertices(verts);
     157 [ #  # ][ #  # ]:          0 :   if (verts.size() > 0) return verts.get();
                 [ #  # ]
     158         [ #  # ]:          0 :   else return NULL;
     159                 :            : }
     160                 :            : 
     161                 :          0 : RefEdge *TopologyEntity::ref_edge()
     162                 :            : {
     163         [ #  # ]:          0 :   DLIList<RefEdge*> edges;
     164         [ #  # ]:          0 :   ref_edges(edges);
     165 [ #  # ][ #  # ]:          0 :   if (edges.size() > 0) return edges.get();
                 [ #  # ]
     166         [ #  # ]:          0 :   else return NULL;
     167                 :            : }
     168                 :            : 
     169                 :          0 : RefFace *TopologyEntity::ref_face()
     170                 :            : {
     171         [ #  # ]:          0 :   DLIList<RefFace*> faces;
     172         [ #  # ]:          0 :   ref_faces(faces);
     173 [ #  # ][ #  # ]:          0 :   if (faces.size() > 0) return faces.get();
                 [ #  # ]
     174         [ #  # ]:          0 :   else return NULL;
     175                 :            : }
     176                 :            : 
     177                 :         11 : RefVolume *TopologyEntity::ref_volume()
     178                 :            : {
     179         [ +  - ]:         11 :   DLIList<RefVolume*> volumes;
     180         [ +  - ]:         11 :   ref_volumes(volumes);
     181 [ +  - ][ +  - ]:         11 :   if (volumes.size() > 0) return volumes.get();
                 [ +  - ]
     182         [ +  - ]:         11 :   else return NULL;
     183                 :            : }
     184                 :            : 
     185                 :         11 : Body *TopologyEntity::body()
     186                 :            : {
     187         [ +  - ]:         11 :   DLIList<Body*> these_bodies;
     188         [ +  - ]:         11 :   this->bodies(these_bodies);
     189 [ +  - ][ +  - ]:         11 :   if (these_bodies.size() > 0) return these_bodies.get();
                 [ +  - ]
     190         [ +  - ]:         11 :   else return NULL;
     191                 :            : }
     192                 :            : 
     193                 :            : 
     194                 :          0 : CoEdge *TopologyEntity::co_edge() 
     195                 :            : {
     196         [ #  # ]:          0 :   DLIList<CoEdge*> these_co_edges;
     197         [ #  # ]:          0 :   co_edges(these_co_edges);
     198 [ #  # ][ #  # ]:          0 :   if (these_co_edges.size() > 0) return these_co_edges.get();
                 [ #  # ]
     199         [ #  # ]:          0 :   else return NULL;
     200                 :            : }
     201                 :            : 
     202                 :          0 : int TopologyEntity::num_loops() 
     203                 :            : {
     204         [ #  # ]:          0 :   DLIList<Loop*> these_loops;
     205         [ #  # ]:          0 :   loops(these_loops);
     206 [ #  # ][ #  # ]:          0 :   return these_loops.size();
     207                 :            : }
     208                 :            : 
     209                 :            : 
     210                 :          0 : int TopologyEntity::num_ref_volumes() 
     211                 :            : {
     212         [ #  # ]:          0 :   DLIList<RefVolume*> these_ref_volumes;
     213         [ #  # ]:          0 :   ref_volumes(these_ref_volumes);
     214 [ #  # ][ #  # ]:          0 :   return these_ref_volumes.size();
     215                 :            : }
     216                 :            : 
     217                 :         22 : int TopologyEntity::num_ref_faces() 
     218                 :            : {
     219         [ +  - ]:         22 :   DLIList<RefFace*> these_ref_faces;
     220         [ +  - ]:         22 :   ref_faces(these_ref_faces);
     221 [ +  - ][ +  - ]:         22 :   return these_ref_faces.size();
     222                 :            : }
     223                 :            : 
     224                 :          0 : int TopologyEntity::num_ref_edges() 
     225                 :            : {
     226         [ #  # ]:          0 :   DLIList<RefEdge*> these_ref_edges;
     227         [ #  # ]:          0 :   ref_edges(these_ref_edges);
     228 [ #  # ][ #  # ]:          0 :   return these_ref_edges.size();
     229                 :            : }
     230                 :            : 
     231                 :          0 : int TopologyEntity::num_ref_vertices() 
     232                 :            : {
     233         [ #  # ]:          0 :   DLIList<RefVertex*> these_ref_vertices;
     234         [ #  # ]:          0 :   ref_vertices(these_ref_vertices);
     235 [ #  # ][ #  # ]:          0 :   return these_ref_vertices.size();
     236                 :            : }
     237                 :            : 
     238                 :            : 
     239                 :            :   //- return the number of connected entities of the given type
     240                 :            : 
     241                 :        760 : CubitBoolean TopologyEntity::is_directly_related( TopologyEntity* entity )
     242                 :            : {
     243                 :            :     // NULL?
     244         [ -  + ]:        760 :   if ( !entity )
     245                 :          0 :     return CUBIT_FALSE;
     246                 :            :   
     247                 :            :     // self?
     248         [ -  + ]:        760 :   if (entity == this)
     249                 :          0 :     return CUBIT_TRUE;  
     250                 :            : 
     251                 :            :     // same type but not self?
     252 [ +  - ][ +  - ]:        760 :   if ( dag_type() == entity->dag_type() )  
         [ +  - ][ -  + ]
     253                 :          0 :     return CUBIT_FALSE;
     254                 :            :   
     255                 :            :     // Get the entities of the right type.
     256         [ +  - ]:        760 :   DLIList<TopologyEntity*> kin_folk;
     257                 :            :   CubitStatus result = ModelQueryEngine::instance()->
     258 [ +  - ][ +  - ]:        760 :     query_model( *this, entity->dag_type(), kin_folk );
                 [ +  - ]
     259                 :            :     //only fails if types are the same, caught above. 
     260         [ -  + ]:        760 :   assert(result != CUBIT_FAILURE); 
     261         [ -  + ]:        760 :   if (CUBIT_FAILURE == result) {
     262 [ #  # ][ #  # ]:          0 :     PRINT_ERROR("ModelQueryEngine::query_model failed.\n");
         [ #  # ][ #  # ]
     263                 :          0 :     return CUBIT_FALSE;
     264                 :            :   }
     265                 :            : 
     266                 :            :     // Search entities for passed in entity.
     267                 :        760 :   TopologyEntity* model_entity = CAST_TO(entity, TopologyEntity) ;
     268 [ +  - ][ +  - ]:        760 :   return kin_folk.is_in_list( model_entity );
     269                 :            : }
     270                 :            : 
     271                 :      98684 : CubitStatus TopologyEntity::set_topology_bridge(TopologyBridge* TB_ptr)
     272                 :            : {
     273         [ -  + ]:      98684 :   assert (TB_ptr != NULL);
     274                 :      98684 :   CubitStatus rv = CUBIT_SUCCESS;
     275                 :            :   
     276                 :      98684 :   BridgeManager* bridges = bridge_manager();
     277                 :      98684 :   bridges->remove_all_bridges();
     278                 :      98684 :   bridges->add_bridge(TB_ptr);
     279                 :            : 
     280                 :      98684 :   return rv;
     281                 :            : }
     282                 :            : 
     283                 :          0 : CubitStatus TopologyEntity::remove_from_DAG(CubitBoolean recurse_flag)
     284                 :            : {
     285                 :            :      // This counter will be used in the recursion to test whether
     286                 :            :      // the call is from outside or from the function itself. When
     287                 :            :      // the call comes from outside, the counter should always be
     288                 :            :      // zero.
     289                 :            : 
     290                 :          0 :   CubitBoolean this_recurse = recurse_flag;
     291         [ #  # ]:          0 :   if (recurse_flag == CUBIT_FALSE) recurse_flag = CUBIT_TRUE;
     292                 :            : 
     293         [ #  # ]:          0 :   DLIList<TopologyEntity*> childModEntList;
     294                 :            : 
     295                 :            :      // Check to see if there are no parents of this object.
     296 [ #  # ][ #  # ]:          0 :    if ( get_parents() == 0 )
     297                 :            :    {
     298         [ #  # ]:          0 :       if (this_recurse == CUBIT_FALSE)
     299                 :            :       {
     300                 :            :          // Since we are not recursing, this is a top-level entity.
     301                 :            :          // Notify the static observers that a top-level entity is being
     302                 :            :          // destructed.  This must be done before children are disconnected.
     303         [ #  # ]:          0 :        CubitObservable *top_level = CAST_TO(this, CubitObservable);
     304 [ #  # ][ #  # ]:          0 :        AppUtil::instance()->send_event(GeometryEvent(GeometryEvent::TOP_LEVEL_ENTITY_DESTRUCTED, dynamic_cast<RefEntity*>(top_level)));
         [ #  # ][ #  # ]
                 [ #  # ]
     305                 :            :       }
     306                 :            : 
     307                 :            :         // Go through all the children and remove their link to
     308                 :            :         // the current object.
     309                 :            : 
     310                 :          0 :       TopologyEntity* tempModEntPtr = NULL ;
     311                 :          0 :       TopologyEntity* childModEntPtr = NULL ;
     312                 :            : 
     313         [ #  # ]:          0 :       childModEntList.clean_out();
     314         [ #  # ]:          0 :       disconnect_all_children(&childModEntList);
     315                 :            : 
     316                 :            :         // The following while conditional may not work...it depends on
     317                 :            :         // what is_at_end does when you step over the end...CHECK THIS
     318                 :            :       int i;
     319 [ #  # ][ #  # ]:          0 :       for( i = 0 ; i < childModEntList.size() ; i++ )
     320                 :            :       {
     321                 :            :            // Get the next ModelEnti in the child list and make sure its
     322                 :            :            // pointer to its parent is removed.
     323         [ #  # ]:          0 :          tempModEntPtr = childModEntList.get_and_step();
     324                 :            : 
     325                 :            :            // Try remove() on the child ModEnt. If it comes back with
     326                 :            :            // a success, then delete it.
     327                 :          0 :          childModEntPtr = tempModEntPtr;
     328                 :            : 
     329 [ #  # ][ #  # ]:          0 :          if ( childModEntPtr->remove_from_DAG(recurse_flag) == CUBIT_SUCCESS )
     330                 :            :          {
     331                 :            :               // Now deactivate the child ModEnt
     332         [ #  # ]:          0 :             childModEntPtr->deactivated(CUBIT_TRUE) ;
     333                 :            : 
     334                 :            :               // remove it from observables, just before we go to delete it
     335         [ #  # ]:          0 :             CubitObservable *observable = CAST_TO(childModEntPtr, CubitObservable);
     336         [ #  # ]:          0 :             if (observable)
     337                 :            :             {
     338 [ #  # ][ #  # ]:          0 :               AppUtil::instance()->send_event(GeometryEvent(GeometryEvent::TOPOLOGY_ENTITY_DESTRUCTED, dynamic_cast<RefEntity*>(observable)));
         [ #  # ][ #  # ]
                 [ #  # ]
     339                 :            :             }
     340                 :            :          }
     341                 :            :       }
     342                 :            : 
     343                 :            : 
     344                 :            :         // If this is the top of the recursion, then clean out all the deactivated
     345                 :            :         // entities.
     346         [ #  # ]:          0 :       if (this_recurse == CUBIT_FALSE)
     347                 :            :       {
     348         [ #  # ]:          0 :          this->deactivated(CUBIT_TRUE) ;
     349                 :            : 
     350                 :            :          // remove it from observables, just before we go to delete it
     351         [ #  # ]:          0 :          CubitObservable *observable = CAST_TO(childModEntPtr, CubitObservable);
     352         [ #  # ]:          0 :          if (observable)
     353                 :            :          {
     354 [ #  # ][ #  # ]:          0 :            AppUtil::instance()->send_event(GeometryEvent(GeometryEvent::TOPOLOGY_ENTITY_DESTRUCTED, dynamic_cast<RefEntity*>(observable)));
         [ #  # ][ #  # ]
                 [ #  # ]
     355                 :            :          }
     356 [ #  # ][ #  # ]:          0 :          GeometryQueryTool::instance()->cleanout_deactivated_geometry() ;
     357                 :            :       }
     358                 :            : 
     359                 :          0 :       return CUBIT_SUCCESS ;
     360                 :            :    }
     361                 :            :    else
     362                 :            :    {
     363                 :          0 :       return CUBIT_FAILURE ;
     364         [ #  # ]:          0 :    }
     365                 :            : }
     366                 :            : 
     367                 :          0 : void TopologyEntity::disconnect_from_DAG()
     368                 :            : {
     369                 :            :     // disconnects this entity from any others
     370                 :            :     // to which it is connected in the DAG; does not delete the DAGNode
     371                 :            : 
     372                 :          0 :   disconnect_all_children();
     373                 :          0 :   disconnect_all_parents();
     374                 :          0 : }
     375                 :            : 
     376                 :            : //-------------------------------------------------------------------------
     377                 :            : // Purpose       : Get and set functions for the deactivated flag.
     378                 :            : //
     379                 :            : // Special Notes :
     380                 :            : //
     381                 :            : // Creator       : Raikanta Sahu
     382                 :            : //
     383                 :            : // Creation Date : 12/02/96
     384                 :            : //-------------------------------------------------------------------------
     385                 :            : 
     386                 :     182360 : void TopologyEntity::deactivated(CubitBoolean flag)
     387                 :            : {
     388         [ +  - ]:     182360 :    if (deactivatedStatus_ != flag)
     389                 :            :    {
     390                 :     182360 :      deactivatedStatus_ = flag ;
     391         [ +  - ]:     182360 :      if (flag == CUBIT_TRUE)
     392                 :            :      {
     393                 :     182360 :         DAG::instance()->add_deactivated_DAG_node(this) ;
     394                 :            :      }
     395                 :            :      else
     396                 :            :      {
     397                 :     182360 :         DAG::instance()->remove_deactivated_DAG_node(this) ;
     398                 :            :      }
     399                 :            :    }
     400                 :     182360 : }
     401                 :            : 
     402                 :     309093 : CubitBoolean TopologyEntity::deactivated() const
     403                 :            : {
     404                 :     309093 :    return (CubitBoolean)deactivatedStatus_ ;
     405 [ +  - ][ +  - ]:       6540 : }
     406                 :            : 
     407                 :            : 
     408                 :            : 
     409                 :            : 
     410                 :            : // ********** END PUBLIC FUNCTIONS         **********
     411                 :            : 
     412                 :            : // ********** BEGIN PROTECTED FUNCTIONS    **********
     413                 :            : // ********** END PROTECTED FUNCTIONS      **********
     414                 :            : 
     415                 :            : // ********** BEGIN PRIVATE FUNCTIONS      **********
     416                 :            : // ********** END PRIVATE FUNCTIONS        **********
     417                 :            : 
     418                 :            : // ********** BEGIN HELPER CLASSES         **********
     419                 :            : // ********** END HELPER CLASSES           **********
     420                 :            : 
     421                 :            : // ********** BEGIN EXTERN FUNCTIONS       **********
     422                 :            : // ********** END EXTERN FUNCTIONS         **********
     423                 :            : 
     424                 :            : // ********** BEGIN STATIC FUNCTIONS       **********
     425                 :            : // ********** END STATIC FUNCTIONS         **********
     426                 :            : 

Generated by: LCOV version 1.11