LCOV - code coverage report
Current view: top level - geom/virtual/cgm - CAPartitionVG.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: 3 6 50.0 %

           Branch data     Line data    Source code
       1                 :            : //- Class:          CAPartitionVG
       2                 :            : //- Owner:          Tim Tautges
       3                 :            : //- Description:    Cubit attribute for partition virtual geometry
       4                 :            : //- Checked by:
       5                 :            : //- Version:
       6                 :            : //-
       7                 :            : //- This attribute holds the information necessary to re-partition
       8                 :            : //- an entity into several parts.  This attribute does not store the
       9                 :            : //- data necessary to create the virtual entities that partitions this
      10                 :            : //- entity; those data are stored on a CAVirtualVG attribute.
      11                 :            : //-
      12                 :            : //- This attribute stores the following data:
      13                 :            : //- numPC, numPS: the number of partition curves, surfaces this entity
      14                 :            : //-     will be split into
      15                 :            : //- vgUIDs[0..3*numPC-1]: uids of start and end vertices, and of partition
      16                 :            : //-     curve formed from those
      17                 :            : //- vgUIDs[3*numPC..(end)]: for each partition surface, the uids of the 
      18                 :            : //-     bounding curves (some of them may be virtual), then the uid of the
      19                 :            : //-     partition surface itself
      20                 :            : //- numBdyCurves[numPS]: number of bounding curves for each surface
      21                 :            : //-
      22                 :            : //- For partition surfaces, this attribute actuates by:
      23                 :            : //- . actuating partition VG attributes on next-lower order entities
      24                 :            : //- . actuating virtual VG attributes on self
      25                 :            : //- . gathering up the bounding curve uid's & edges, removing those
      26                 :            : //-   already bounding the (non-partitioned) entity
      27                 :            : //- . using these to partition the entity
      28                 :            : //-
      29                 :            : 
      30                 :            : #ifndef CA_PARTITION_VG_HPP
      31                 :            : #define CA_PARTITION_VG_HPP
      32                 :            : 
      33                 :            : #include "CubitAttrib.hpp"
      34                 :            : #include "DLIList.hpp"
      35                 :            : #include "CADefines.hpp"
      36                 :            : 
      37                 :            : class Point;
      38                 :            : class RefEntity;
      39                 :            : class CubitSimpleAttrib;
      40                 :            : class RefEntity;
      41                 :            : class PartitionCurve;
      42                 :            : class PartitionSurface;
      43                 :            : class CubitVector;
      44                 :            : class RefEdge;
      45                 :            : class RefVertex;
      46                 :            : class RefEdge;
      47                 :            : class BasicTopologyEntity;
      48                 :            : class ToolDataUser;
      49                 :            : 
      50                 :            : class CAPartitionVG: public CubitAttrib
      51                 :            : {
      52                 :            : 
      53                 :            : private:
      54                 :            :   int numPC, numPS;
      55                 :            :     //- the number of partition curves and surfaces on this entity
      56                 :            : 
      57                 :            :   DLIList<int> vgUIDs;
      58                 :            :     //- unique ids of various entities
      59                 :            : 
      60                 :            :   DLIList<int> numBdyCurves;
      61                 :            :     //- for each partition surface, the number of bounding curves
      62                 :            : 
      63                 :            : public:
      64                 :            :   CAPartitionVG(RefEntity*, const CubitSimpleAttrib&);
      65                 :            :     //- construct a CAPVG from a simple attribute
      66                 :            : 
      67 [ +  - ][ +  - ]:      47556 :   virtual ~CAPartitionVG() {};
                 [ -  + ]
      68                 :            : 
      69                 :            :   CubitStatus actuate();
      70                 :            :   
      71                 :            :   CubitStatus update();
      72                 :            : 
      73                 :            :   CubitStatus reset();
      74                 :            :     //- reset info; called from CAU and also from update!
      75                 :            : 
      76                 :            :   CubitSimpleAttrib cubit_simple_attrib();
      77                 :            :   
      78                 :            :   CubitSimpleAttrib cubit_simple_attrib(CubitString);
      79                 :            :   
      80                 :     130724 :   int int_attrib_type() {return CA_PARTITION_VG;}
      81                 :            :     //- returns the enumerated attribute type
      82                 :            : 
      83                 :            : };
      84                 :            : 
      85                 :            : CubitAttrib* CAPartitionVG_creator(RefEntity* entity, const CubitSimpleAttrib& p_csa);
      86                 :            : 
      87                 :            : #endif

Generated by: LCOV version 1.11