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

           Branch data     Line data    Source code
       1                 :            : /* Class:       GeometryDefines 
       2                 :            :  * Description: GeometryDefines - all global geometric definitions for CUBIT.
       3                 :            :  * Owner:       David White
       4                 :            :  * Checked by:
       5                 :            :  * Version:
       6                 :            :  */
       7                 :            : 
       8                 :            : #ifndef GEOMETRY_DEFINES_HPP
       9                 :            : #define GEOMETRY_DEFINES_HPP
      10                 :            : 
      11                 :            : #include <stdio.h>
      12                 :            : #include <stdlib.h>
      13                 :            : #include <sys/types.h>
      14                 :            : #include "CubitString.hpp"
      15                 :            : 
      16                 :            : /* CUBIT_RESABS - Values less than CUBIT_RESABS are considered to be zero. */
      17                 :            : #ifdef __cplusplus
      18                 :            : const double CUBIT_RESABS = 1.0E-12;
      19                 :            : #else
      20                 :            : #define CUBIT_RESABS 1.0E-12
      21                 :            : #endif
      22                 :            : 
      23                 :            : /* GEOMETRY_RESABS - If the distance between two points is less */
      24                 :            : /* than GEOMETRY_RESABS the points are considered to be identical. */
      25                 :            : #ifdef __cplusplus
      26                 :            : const double GEOMETRY_RESABS = 1.0E-6;
      27                 :            : const double DEFAULT_GEOM_FACTOR = 500.0;
      28                 :            : #else
      29                 :            : #define GEOMETRY_RESABS 1.0E-6
      30                 :            : #define DEFAULT_GEOM_FACTOR 500.0
      31                 :            : #endif
      32                 :            : 
      33                 :            : /* Types of solid modeler engines. */
      34                 :            : enum SolidModelerType 
      35                 :            : { 
      36                 :            :    NOT_A_SOLID_MODELER,
      37                 :            :    OCC,
      38                 :            :    ACIS,
      39                 :            :    PROE_GEOM,                  /* Normal Pro/E model */
      40                 :            :    PROE_PART,
      41                 :            :    PROE_ASSEMBLY,
      42                 :            :    PROE_FEM_MESH_SOLID,        /* Pro/Mesh models... */
      43                 :            :    PROE_FEM_MESH_SHELL,
      44                 :            :    PROE_FEM_MESH_MIXED,
      45                 :            :    PROE_FEM_MESH_BOUNDARY,
      46                 :            :    PROE_FEM_MESH_QUILT
      47                 :            : } ;
      48                 :            : 
      49                 :            : /* Types of underlying geometric representations. */
      50                 :            : enum GeometricRepresentationType 
      51                 :            : {
      52                 :            :    GEOMTYPE_NONE,
      53                 :            :    SOLID_MODEL,
      54                 :            :    FACETTED,
      55                 :            :    MESH_BASED,
      56                 :            :    COMPOSITE
      57                 :            : };
      58                 :            : 
      59                 :            : /* Types of geometry for the various GeometryEntities. */
      60                 :            : enum GeometryType
      61                 :            : {
      62                 :            :     /* Point types */
      63                 :            :   UNDEFINED_POINT_TYPE,
      64                 :            :   
      65                 :            :     /* Curve types */
      66                 :            :   ARC_CURVE_TYPE,
      67                 :            :   ELLIPSE_CURVE_TYPE,
      68                 :            :   PARABOLA_CURVE_TYPE,
      69                 :            :   SEGMENTED_CURVE_TYPE, /*curve defined by a chain of linear segments. */
      70                 :            :   SPLINE_CURVE_TYPE,
      71                 :            :   STRAIGHT_CURVE_TYPE,
      72                 :            :   POINT_CURVE_TYPE,
      73                 :            :   HELIX_CURVE_TYPE,
      74                 :            :   HYPERBOLA_CURVE_TYPE,
      75                 :            :   UNDEFINED_CURVE_TYPE,
      76                 :            :   
      77                 :            :     /* Surface types */
      78                 :            :   CONE_SURFACE_TYPE,
      79                 :            :   PLANE_SURFACE_TYPE,
      80                 :            :   SPHERE_SURFACE_TYPE,
      81                 :            :   SPLINE_SURFACE_TYPE,
      82                 :            :   TORUS_SURFACE_TYPE,
      83                 :            :   BEST_FIT_SURFACE_TYPE,
      84                 :            :   FACET_SURFACE_TYPE,
      85                 :            :   CYLINDER_SURFACE_TYPE, // only currently defined in non open Engine
      86                 :            :   REVOLUTION_SURFACE_TYPE,  //OCC surface type
      87                 :            :   EXTRUSION_SURFACE_TYPE,   //OCC surface type
      88                 :            :   OFFSET_SURFACE_TYPE,      //OCC surface type
      89                 :            :   UNDEFINED_SURFACE_TYPE,
      90                 :            :   
      91                 :            :     /* Lump types */
      92                 :            :   UNDEFINED_LUMP_TYPE
      93                 :            : };
      94                 :            : 
      95                 :            : enum ImprintType
      96                 :            : {
      97                 :            :   NO_IMPRINT=0,
      98                 :            :   ONLY_INVOLVED_BODIES,
      99                 :            :   INCLUDE_NEIGHBORS,
     100                 :            :   TOL_IMPRINT,
     101                 :            :   TOL_IMPRINT_INCLUDE_NEIGHBORS
     102                 :            : };
     103                 :            : 
     104                 :            : /* loops may be the following types */
     105                 :            : enum LoopType
     106                 :            : {
     107                 :            :   /* Unknown loop type */
     108                 :            :   LOOP_TYPE_UNKNOWN,
     109                 :            :   
     110                 :            :   /* The external loop of a surface */
     111                 :            :   LOOP_TYPE_EXTERNAL,
     112                 :            :   
     113                 :            :   /* The loop is a hole */
     114                 :            :   LOOP_TYPE_HOLE,
     115                 :            :   
     116                 :            :   /* The loop is a u or v periodic loop (only applies to periodic surfaces)
     117                 :            :    * An example of this is a cylindrical surface with only 2 loops with each
     118                 :            :    * loop defining a cap of the cylinder. 
     119                 :            :    * If its a u periodic loop, the face is periodic in u */
     120                 :            :   LOOP_TYPE_U_PERIODIC,
     121                 :            :   LOOP_TYPE_V_PERIODIC
     122                 :            : };
     123                 :            : 
     124                 :        768 : struct ModelExportOptions
     125                 :            : {
     126                 :            :   //this option only relevant to IGES export
     127                 :            :   unsigned short export_as_solid : 1;
     128                 :            : 
     129                 :            :   //Granite, Acis option
     130                 :            :   CubitString logfile_name;
     131                 :            : };
     132                 :            : 
     133                 :            : 
     134                 :            : 
     135                 :            : #endif
     136                 :            : 

Generated by: LCOV version 1.11