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

           Branch data     Line data    Source code
       1                 :            : //-------------------------------------------------------------------------
       2                 :            : // Filename      : CubitOctreeConstants.hpp
       3                 :            : //
       4                 :            : // Purpose       : Constants for the octree generation
       5                 :            : //
       6                 :            : // Creator       : William Roshan Quadros
       7                 :            : //
       8                 :            : // Creation Date : 9/2/2013
       9                 :            : //
      10                 :            : // Owner         : 
      11                 :            : //-------------------------------------------------------------------------
      12                 :            : 
      13                 :            : #ifndef CUBIT_OCTREE_CONSTANTS_H 
      14                 :            : #define CUBIT_OCTREE_CONSTANTS_H
      15                 :            : 
      16                 :            : 
      17                 :            : 
      18                 :            : #include "CubitDefines.h"
      19                 :            : 
      20                 :            : const int OCTREE_X = 0;
      21                 :            : const int OCTREE_Y = 1;
      22                 :            : const int OCTREE_Z = 2;
      23                 :            : //- Cartician coordinate axis
      24                 :            : 
      25                 :            : 
      26                 :            : //- during triliear interpolation if number of zero size nodes exceeds MAX_NUM_ZERO_SIZE_NODES
      27                 :            : //- then average size is taken instead of zero.
      28                 :            : const int MAX_NUM_ZERO_SIZE_NODES = 2;
      29                 :            : 
      30                 :            : const int CUTOFF_OCTREE_DEPTH = 3;
      31                 :            : const int CUTOFF_BBOX_RANGE_RATIO = 17;
      32                 :            : const int CUTOFF_NUM_NODES = 250;
      33                 :            : 
      34                 :            : enum CubitOctreeType{ CUBIT_OCTREE_VOLUME, CUBIT_OCTREE_FACE, CUBIT_OCTREE_EDGE };
      35                 :            : // Depth settings for octree 
      36                 :            : const int MIN_DEPTH_OCTREE[4] = { 0, 2, 5, 5};
      37                 :            : const int MAX_DEPTH_OCTREE[4] = { 0, 7, 7, 7};
      38                 :            : const int INCR_DEPTH_OCTREE_FOR_SKELETON = 0;  
      39                 :      11445 : const int OCTREE_MIN_DEPTH_OCTREE[4] = { 0, MIN_DEPTH_OCTREE[1] + INCR_DEPTH_OCTREE_FOR_SKELETON,MIN_DEPTH_OCTREE[2] + INCR_DEPTH_OCTREE_FOR_SKELETON, MIN_DEPTH_OCTREE[3] + INCR_DEPTH_OCTREE_FOR_SKELETON};
      40                 :      11445 : const int OCTREE_MAX_DEPTH_OCTREE[4] = { 0, MAX_DEPTH_OCTREE[1] + INCR_DEPTH_OCTREE_FOR_SKELETON,MAX_DEPTH_OCTREE[2] + INCR_DEPTH_OCTREE_FOR_SKELETON, MAX_DEPTH_OCTREE[3] + INCR_DEPTH_OCTREE_FOR_SKELETON};
      41                 :            : 
      42                 :            : enum OctreePosition { O_UNSET = -1, O_LEFT, O_RIGHT, O_BOTTOM, O_TOP, O_BACK, O_FRONT };
      43                 :            : 
      44                 :            : 
      45                 :            : enum OctreeNodeConstant {NODE_SIZE, NODE_FACE_NUM, NODE_DISTANCE,NODE_NORMAL, NODE_TENSOR, NODE_ELEM_TENSOR };
      46                 :            : // for display of size, face num, and distance at grid node
      47                 :            : 
      48                 :            : const double OCTREE_TOLERANCE_FOR_CURVE_DECIMATION_FACTOR = 0.5;
      49                 :            : 
      50                 :            : //- Default level of time-accuracy is set to 2 <1 to 3>
      51                 :            : const int OCTREE_TIME_ACCURACY_LEVEL = 2;
      52                 :            : // - This angle is used to insert virtual facetpointdata while generating PR-Octree
      53                 :            : const double FACET_SPLITTING_INTERNAL_ANGLE = 10.0 * CUBIT_PI / 180.0;
      54                 :            : //- graphics facets are splitted before generating the chordal axis.
      55                 :            : //- after facets' classification, some class of facets are split only 
      56                 :            : //- if the internal angle is large.  The new facets will contain internal angle
      57                 :            : //-  approximately equal to FACET_SPLITTING_INTERNAL_ANGLE
      58                 :            : 
      59                 :            : 
      60                 :            : enum OctreeSourceEntityType{ OCTREE_SIZE_DEFAULT=0 };
      61                 :            : 
      62                 :            : const double OCTREE_EPSILON = 0.000001;
      63                 :            : const CubitBoolean OCTREE_POSITIVE = CUBIT_TRUE;
      64                 :            : const CubitBoolean OCTREE_NEGATIVE = CUBIT_FALSE;
      65                 :            : 
      66                 :            : enum InterpolationMode{ INVERSE_SIZE, INVERSE_DISTANCE, INVERSE_SIZE_DISTANCE, MIN_DISTANCE, MIN_SIZE, AVERAGE };
      67                 :            : //- Schemes for interpolation of sizing function 
      68                 :            : 
      69                 :            : enum InterpolationType{ INVERSE_LINEAR, INVERSE_QUADRATIC, INVERSE_CUBIC };
      70                 :            : //- Options for inverse distance interpolation.
      71                 :            : const InterpolationType DEFAULT_INVERSE_DISTANCE_SCHEME_INSIDE_CELL = INVERSE_LINEAR;
      72                 :            : 
      73                 :            : enum InterpolationModeInsideCell{ TRILINEAR_INTERPOLATION_INSIDE_CELL, INVERSE_DISTANCE_INTERPOLATION_INSIDE_CELL, MIN_DISTANCE_INTERPOLATION_INSIDE_CELL, MIN_SIZE_INTERPOLATION_INSIDE_CELL, INVERSE_SQUARE_DISTANCE_INTERPOLATION_INSIDE_CELL };
      74                 :            : const InterpolationModeInsideCell DEFAULT_INTERPOLATION_INSIDE_CELL = INVERSE_SQUARE_DISTANCE_INTERPOLATION_INSIDE_CELL;
      75                 :            : 
      76                 :            : 
      77                 :            : 
      78                 :            : enum SizeType{ MESH_SIZE, SCALED_SIZE };
      79                 :            : //- Size for meshing and scaled size for display (1-10)
      80                 :            : 
      81                 :            : enum DistanceMetric {PROJECTED_DIST, CAPSULE_DIST, MANHATTAN_DIST};
      82                 :            : 
      83                 :            : 
      84                 :            : enum IntersectionMethod {GRID_EDGE_INT, SAT_INTERSECT};
      85                 :            : //- These are the facet-octree cell intersection methods
      86                 :            : 
      87                 :            : 
      88                 :            : const IntersectionMethod OCTREE_DEFAULT_INTERSECTION_METHOD[4] = { (IntersectionMethod)0, SAT_INTERSECT, SAT_INTERSECT, SAT_INTERSECT};   
      89                 :            : const DistanceMetric defaultDistanceMetric = CAPSULE_DIST;
      90                 :            : const double N_CLOSEST_FACETS_FACTOR_FOR_FRONT_NORMALS = 1.00;
      91                 :            : 
      92                 :            : 
      93                 :            : //- Tolerance 
      94                 :            : const double ANGLE_BETWEEN_FACETS_NORMAL_FOR_OCTREE_BASED_ON_SURF_CURVATURE_FACTOR = 0.5; 
      95                 :            : const double SLENDER_FACET_INTERNAL_ANGLE =  10.0 * CUBIT_PI / 180.0;
      96                 :            : 
      97                 :            : const double ANG_FACET_EXTRACT[4]  =  { 15.0, 15.0, 10.0, 5.0 };
      98                 :            : 
      99                 :            : #endif
     100                 :            : 
     101                 :            : //EOF

Generated by: LCOV version 1.11