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

           Branch data     Line data    Source code
       1                 :            : //-------------------------------------------------------------------------
       2                 :            : // Filename      : CompositeCoEdge.hpp
       3                 :            : //
       4                 :            : // Purpose       : Combined set of CoEdgeSMs
       5                 :            : //
       6                 :            : // Special Notes : 
       7                 :            : //
       8                 :            : // Creator       : Jason Kraftcheck
       9                 :            : //
      10                 :            : // Creation Date : 01/11/02
      11                 :            : //-------------------------------------------------------------------------
      12                 :            : 
      13                 :            : #ifndef COMPOSITE_COEDGE_HPP
      14                 :            : #define COMPOSITE_COEDGE_HPP
      15                 :            : 
      16                 :            : #include "VGDefines.h"
      17                 :            : #include "CoEdgeSM.hpp"
      18                 :            : #include "TBOwner.hpp"
      19                 :            : #include "VGArray.hpp"
      20                 :            : 
      21                 :            : class CompositeCurve;
      22                 :            : class CompositeLoop;
      23                 :            : class CompositePoint;
      24                 :            : 
      25                 :            : class CompositeCoEdge : public CoEdgeSM, public TBOwner
      26                 :            : {
      27                 :            : friend class CompositeLoop;
      28                 :            : friend class CompositeCurve;
      29                 :            : 
      30                 :            : public:
      31                 :            : 
      32                 :            :   CompositeCoEdge( CoEdgeSM* coedge_ptr );
      33                 :            :   CompositeCoEdge( CompositeCurve* point_curve );
      34                 :            :   
      35                 :            :   ~CompositeCoEdge();
      36                 :            :   
      37                 :            :   int num_coedges() const;
      38                 :            :   
      39                 :            :   int index_of( CoEdgeSM* coedge_ptr ) const;
      40                 :            :   int index_of( Curve* curve_ptr ) const;
      41                 :            :   
      42                 :            :   CubitSense get_sense( int index ) const;
      43                 :            :   CoEdgeSM* get_coedge( int index ) const;
      44                 :            :   
      45                 :            :   CompositeCoEdge* next() const;
      46                 :            :   CompositeCoEdge* prev() const;
      47                 :            :     // Return next or previous coedge in a CompositeLoop.
      48                 :            :     // If there is not a parent CompositeSurface, then
      49                 :            :     // there is not a parent CompositeLoop and these will
      50                 :            :     // return NULL.
      51                 :            :   
      52                 :            :   CubitStatus combine( CompositeCoEdge* dead_coedge, bool prepend );
      53                 :            :   CubitStatus insert_coedge( int index, CoEdgeSM* coedge );
      54                 :            :   CubitStatus remove_coedge( int index );
      55                 :            :   CompositeCoEdge* split( int index );
      56                 :            :   
      57                 :            :   CompositePoint* start_point();
      58                 :            :   CompositePoint* end_point();
      59                 :            : /*
      60                 :            :   CoEdgeSM* remove_first();
      61                 :            :   CoEdgeSM* remove_last();
      62                 :            : */  
      63                 :            :   virtual CubitSense sense();
      64                 :            :   
      65                 :            :   void sense( CubitSense sense );
      66                 :            :   
      67                 :            :   CompositeLoop* get_loop() const;
      68                 :            : //  void loop( CompositeLoop* );
      69                 :            :   
      70                 :            :   CompositeCurve* get_curve() const;
      71                 :            : //  void curve( CompositeCurve* );
      72                 :            :   
      73                 :            :   LoopSM* get_parent_loop();
      74                 :            :     //- Get the parent loop at the composite level of
      75                 :            :     //- the topo bridge graph.  I.E. Get parent CompositeLoop
      76                 :            :     //- if there is one.  Otherwise get the SM-level loop.
      77                 :            :   
      78                 :            :   void get_parents_virt( DLIList<TopologyBridge*>& parents );
      79                 :            :   void get_children_virt( DLIList<TopologyBridge*>& children );
      80                 :            :   GeometryQueryEngine* get_geometry_query_engine() const;
      81                 :          0 :   int layer() const { return COMPOSITE_LAYER; }
      82                 :            : 
      83                 :            :   void append_simple_attribute_virt( const CubitSimpleAttrib& simple_attrib_ptr );
      84                 :            :   void remove_simple_attribute_virt( const CubitSimpleAttrib& simple_attrib_ptr );
      85                 :            :   void remove_all_simple_attribute_virt();
      86                 :            :   CubitStatus get_simple_attribute( DLIList<CubitSimpleAttrib>& attrib_list );
      87                 :            :   CubitStatus get_simple_attribute( const CubitString& name,
      88                 :            :                                     DLIList<CubitSimpleAttrib>& attrib_list );
      89                 :            :   
      90                 :            :   CubitStatus remove_bridge( TopologyBridge* bridge );
      91                 :            :   CubitStatus swap_bridge( TopologyBridge* old_tb, 
      92                 :            :                            TopologyBridge* new_tb,
      93                 :            :                            bool reversed );
      94                 :            :   CubitBoolean contains_bridge( TopologyBridge* bridge ) const;
      95                 :            :   void notify_reversed( TopologyBridge* bridge );
      96                 :            :   
      97                 :            :   void reverse();
      98                 :            :   
      99                 :            :   void print_debug_info( const char* line_prefix = 0, bool brief = false );
     100                 :            :   
     101                 :            : private:
     102                 :            : 
     103                 :            :   CompositeCoEdge();
     104                 :            :   
     105                 :            :   VGArray<CoEdgeSM*> coedgeSet;
     106                 :            :   
     107                 :            :   CubitSense mySense;
     108                 :            :   
     109                 :            :   CompositeLoop*  myLoop;
     110                 :            :   CompositeCoEdge* nextCoedge;
     111                 :            :   CompositeCoEdge* prevCoedge;
     112                 :            : 
     113                 :            :   CompositeCurve* myCurve;
     114                 :            :   CompositeCoEdge* nextOnCurve;
     115                 :            : };
     116                 :            : 
     117                 :          0 : inline int CompositeCoEdge::num_coedges() const
     118                 :          0 :   { return coedgeSet.size(); }
     119                 :            : 
     120                 :          0 : inline CoEdgeSM* CompositeCoEdge::get_coedge( int index ) const
     121                 :          0 :   { return coedgeSet[index]; }
     122                 :            : 
     123                 :          0 : inline int CompositeCoEdge::index_of( CoEdgeSM* coedge ) const
     124                 :          0 :   { return coedgeSet.find( coedge ); }
     125                 :            : 
     126                 :            : inline void CompositeCoEdge::sense( CubitSense sense )
     127                 :            :   { assert( sense != CUBIT_UNKNOWN ); mySense = sense; }
     128                 :            : 
     129                 :          0 : inline CubitSense CompositeCoEdge::sense()
     130                 :          0 :   { return mySense; }
     131                 :            : 
     132                 :          0 : inline CompositeCoEdge* CompositeCoEdge::next() const
     133                 :          0 :   { return nextCoedge; }
     134                 :            : 
     135                 :          0 : inline CompositeLoop* CompositeCoEdge::get_loop() const
     136                 :          0 :   { return myLoop; }
     137                 :            : 
     138                 :          0 : inline CompositeCurve* CompositeCoEdge::get_curve() const
     139                 :          0 :   { return myCurve; }
     140                 :            : #endif

Generated by: LCOV version 1.11