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

           Branch data     Line data    Source code
       1                 :            : //- Class:       TDOctreeRefFace
       2                 :            : //- Description: Tool data for storing additional information related to surface faceting
       3                 :            : //- Owner:       W. R. Quadors
       4                 :            : //- Checked by:
       5                 :            : //- Version:
       6                 :            : 
       7                 :            : #ifndef TD_SKELETON_ref_FACE
       8                 :            : 
       9                 :            : #define TD_SKELETON_ref_FACE
      10                 :            : 
      11                 :            : #include "CubitDefines.h"
      12                 :            : #include "ToolData.hpp"
      13                 :            : #include "MemoryManager.hpp"
      14                 :            : #include "DLIList.hpp"
      15                 :            : #include "CubitVector.hpp"
      16                 :            : #include "CastTo.hpp"
      17                 :            : 
      18                 :            : class RefFace;
      19                 :            : class CubitPoint;
      20                 :            : class CubitFacet;
      21                 :            : class CubitFacetEdge;
      22                 :            : class CubitTransformMatrix;
      23                 :            : 
      24                 :            :   
      25                 :            : class TDOctreeRefFace : public ToolData
      26                 :            : {
      27                 :            : private:
      28                 :            : 
      29                 :            :     //static MemoryManager memoryManager;
      30                 :            :     //- memory management object
      31                 :            : 
      32                 :            :   DLIList<CubitPoint *> *ptrCubitPointList;
      33                 :            : 
      34                 :            :   DLIList<CubitFacetEdge *> *ptrCubitFacetEdgeList;
      35                 :            : 
      36                 :            :   DLIList<CubitFacet *> *ptrCubitFacetList;
      37                 :            : 
      38                 :            :   RefFace *refFace;
      39                 :            : 
      40                 :            :   DLIList<int> loopIndex;
      41                 :            : 
      42                 :            :   int lastCurveID;
      43                 :            :         
      44                 :            :   CubitBoolean visit;
      45                 :            :     // This stores the starting curve id of every loop in a ref_face
      46                 :            :     // Using this adjacency relation between the curves can be found
      47                 :            :     // loopIndexLastCurveID stores the last curve id of all loops
      48                 :            : 
      49                 :            :     // If bad surface facetting is detected, don't create 2dmat
      50                 :            :   CubitBoolean create_2dmat;
      51                 :            :   
      52                 :            : public:
      53                 :            : 
      54                 :            :   TDOctreeRefFace();
      55                 :            :     //- constructor
      56                 :            : 
      57                 :            :   ~TDOctreeRefFace();
      58                 :            :     //- destructor
      59                 :            :  
      60                 :          0 :   inline CubitBoolean get_visit( void )const{ return visit; }
      61                 :          0 :   inline void set_visit( CubitBoolean type ){ visit = type; }
      62                 :            : 
      63                 :          0 :   void set_create_2dmat(const CubitBoolean new_val) {create_2dmat = new_val;}
      64                 :          0 :   CubitBoolean get_create_2dmat() {return create_2dmat;}
      65                 :            : 
      66                 :          0 :   void set_ref_face( RefFace *ptr_ref_face ){ refFace = ptr_ref_face; } 
      67                 :            :  
      68                 :            :   void append_list_item( int loop_id ){ loopIndex.append(loop_id); }
      69                 :            : 
      70                 :          0 :   static int is_td_octree_ref_face(const ToolData* td)
      71 [ #  # ][ #  # ]:          0 :       {return (CAST_TO(const_cast<ToolData*>(td), TDOctreeRefFace) != NULL);}
      72                 :            :                 
      73                 :            :   void set_last_curve_id( int id ){ lastCurveID = id; }
      74                 :            :     //- this is used along with loopIndex to determine non-adj curves
      75                 :            : 
      76                 :          0 :   DLIList<CubitPoint *> *get_ptr_cubit_point_list(){ return ptrCubitPointList; }
      77                 :          0 :   void set_ptr_cubit_point_list( DLIList<CubitPoint *> *ptr_cubit_point_list ){ ptrCubitPointList = ptr_cubit_point_list; } 
      78                 :            :  
      79                 :          0 :   DLIList<CubitFacetEdge *> *get_ptr_cubit_facet_edge_list(){ return ptrCubitFacetEdgeList; }
      80                 :          0 :   void set_ptr_cubit_facet_edge_list( DLIList<CubitFacetEdge *> *ptr_cubit_facet_edge_list ){ ptrCubitFacetEdgeList = ptr_cubit_facet_edge_list; } 
      81                 :            :  
      82                 :          0 :   DLIList<CubitFacet *> *get_ptr_cubit_facet_list(){ return ptrCubitFacetList; }
      83                 :          0 :   void set_ptr_cubit_facet_list( DLIList<CubitFacet *> *ptr_cubit_facet_list ){ ptrCubitFacetList = ptr_cubit_facet_list; } 
      84                 :            :  
      85                 :            :     //- get and set pointers to DLIList of CubitPoint, CubitFacetEdge, CubitFacet 
      86                 :            :                 
      87                 :            :   
      88                 :            :   CubitBoolean is_adj_curves( int id1, int id2 );
      89                 :            :     //- returns true if the two curves are adjacent
      90                 :            : 
      91                 :            :     //SetDynamicMemoryAllocation(memoryManager)
      92                 :            :     //- class specific new and delete operators
      93                 :            :     
      94                 :            :     // static void set_memory_allocation_increment(int increment = 0){memoryManager.set_memory_allocation_increment(increment);}
      95                 :            :     //- set block memory size increment
      96                 :            :   
      97                 :            :     // static void destroy_memory(){memoryManager.destroy_memory();}
      98                 :            :     //- destroy all memory allocted to this object
      99                 :            : 
     100                 :            :   CubitFacet* split_facet_into_two_facets( CubitFacet *target_facet, CubitPoint* edge1_pt,
     101                 :            :                                            CubitPoint* edge2_pt, 
     102                 :            :                                            CubitFacetEdge *boundary_edge,
     103                 :            :                                            CubitPoint* new_pt,
     104                 :            :                                            DLIList<CubitFacet*> &facet_list,
     105                 :            :                                            DLIList<CubitFacetEdge*> &facet_edge_list,
     106                 :            :                                            DLIList<CubitPoint*> &point_list);
     107                 :            : 
     108                 :            :   CubitBoolean split_facet_locally_along_edge( CubitFacet *target_facet, CubitPoint* edge1_pt,
     109                 :            :                                                CubitPoint* edge2_pt, 
     110                 :            :                                                CubitFacetEdge *boundary_edge,
     111                 :            :                                                int num_of_segments,
     112                 :            :                                                DLIList<CubitFacet*> &facet_list,
     113                 :            :                                                DLIList<CubitFacetEdge*> &facet_edge_list,
     114                 :            :                                                DLIList<CubitPoint*> &point_list); 
     115                 :            :   
     116                 :            :   CubitBoolean split_facet_type_00( CubitFacet *target_facet, DLIList<CubitFacet*> &facet_list, DLIList<CubitFacetEdge*> &facet_edge_list, DLIList<CubitPoint*> &point_list );
     117                 :            :   CubitBoolean split_facet_type_01( CubitFacet *target_facet, DLIList<CubitFacet*> &facet_list, DLIList<CubitFacetEdge*> &facet_edge_list, DLIList<CubitPoint*> &point_list );
     118                 :            :   CubitBoolean split_facet_type_02( CubitFacet *target_facet, DLIList<CubitFacet*> &facet_list, DLIList<CubitFacetEdge*> &facet_edge_list, DLIList<CubitPoint*> &point_list );
     119                 :            :   CubitBoolean split_facet_type_03( CubitFacet *target_facet, DLIList<CubitFacet*> &facet_list, DLIList<CubitFacetEdge*> &facet_edge_list, DLIList<CubitPoint*> &point_list );
     120                 :            :   CubitBoolean split_facet_type_12( CubitFacet *target_facet, DLIList<CubitFacet*> &facet_list, DLIList<CubitFacetEdge*> &facet_edge_list, DLIList<CubitPoint*> &point_list );
     121                 :            :   CubitBoolean split_facet_type_13( CubitFacet *target_facet, DLIList<CubitFacet*> &facet_list, DLIList<CubitFacetEdge*> &facet_edge_list, DLIList<CubitPoint*> &point_list );
     122                 :            :   CubitBoolean split_facet_type_23( CubitFacet *target_facet, DLIList<CubitFacet*> &facet_list, DLIList<CubitFacetEdge*> &facet_edge_list, DLIList<CubitPoint*> &point_list );
     123                 :            :   CubitBoolean split_facet_type_33( CubitFacet *target_facet, DLIList<CubitFacet*> &facet_list, DLIList<CubitFacetEdge*> &facet_edge_list, DLIList<CubitPoint*> &point_list );
     124                 :            :           
     125                 :            : 
     126                 :            :   static CubitStatus add_td( RefFace *ref_face );
     127                 :            :   static TDOctreeRefFace* get_td( RefFace *ref_face );
     128                 :            : 
     129                 :            :   CubitBoolean check_valid_facets(CubitBoolean disable_if_bad);
     130                 :            : 
     131                 :            : };
     132                 :            :     
     133                 :            : 
     134                 :            : #endif // TD_SKELETON_ref_FACE
     135                 :            : 
     136                 :            : 
     137                 :            : //EOF
     138                 :            : 

Generated by: LCOV version 1.11