home *** CD-ROM | disk | FTP | other *** search
/ ftptest.leeds.ac.uk / 2015.02.ftptest.leeds.ac.uk.tar / ftptest.leeds.ac.uk / bionet / CAE-GROUP / SCL-WIN3x / SCL.EXE / SDAI.H < prev    next >
C/C++ Source or Header  |  1994-07-20  |  3KB  |  120 lines

  1. #ifndef SDAI_H
  2. #define    SDAI_H
  3.  
  4. /*
  5. * NIST STEP Core Class Library
  6. * clstepcore/sdai.h
  7. * February, 1994
  8. * David Sauder
  9. * KC Morris
  10.  
  11. * Development of this software was funded by the United States Government,
  12. * and is not subject to copyright.
  13.  
  14. * This file is included to support the proposed SDAI/C++ Language Binding
  15. * specified in Annex D of STEP Part 22.
  16.  
  17. * This file specifies the appropriate naming conventions and NULL
  18. * values for the EXPRESS base types.
  19. */
  20.  
  21. /* $Id: sdai.h,v 2.0.1.1 1994/04/05 16:36:49 sauderd Exp $ */
  22.  
  23. #include <string.h>
  24.  
  25. //  The values used here to represent NULL values for numeric types come from 
  26. //  the ANSI C standard
  27.  
  28. #ifdef __O3DB__
  29. #include <OpenOODB.h>
  30. #endif
  31.  
  32. #include <limits.h>
  33. #include <float.h>
  34.  
  35. //  INTEGER
  36. // may not a good idea because the def SdaiInteger &i may not be legal
  37. //typedef long int SdaiInteger;
  38.  
  39. #define SdaiInteger long
  40. //#define s_Integer SdaiInteger
  41.  
  42. // C++ from values.h DAS PORT
  43. //#define    S_INT_NULL    MAXLONG 
  44. // C from limits.h
  45. #define    S_INT_NULL    LONG_MAX 
  46.  
  47.     //  REAL
  48. //typedef double SdaiReal;
  49. #define SdaiReal double 
  50. //#define    s_Real    SdaiReal
  51.  
  52. //#define S_REAL_NULL    10 ** DBL_MAX_10_EXP
  53. //#define FLT_MIN  1E-37  - port 29-Mar-1994 kcm
  54. // C++ from values.h DAS PORT
  55. //#define S_REAL_NULL MINFLOAT
  56. // C from float.h
  57. #define S_REAL_NULL FLT_MIN
  58.  
  59.     // NUMBER
  60.     // arbitrary choice by me for number DAS
  61. // C++ from values.h DAS PORT
  62. //#define S_NUMBER_NULL MINFLOAT
  63. // C from float.h
  64. #define S_NUMBER_NULL FLT_MIN
  65.  
  66.     //  STRING
  67. #define S_STRING_NULL    ""
  68. #include <STEPstring.h>
  69.  
  70.     //  ENTITY
  71. class STEPentity;
  72. extern STEPentity NilSTEPentity;
  73. #define S_ENTITY_NULL    &NilSTEPentity
  74.  
  75. /******************************************************************************
  76. ENUMERATION
  77.     These types do not use the interface specified.
  78.     The interface used is to enumerated values.  The enumerations are
  79.     mapped in the following way:
  80.     *  enumeration-item-from-schema ==> enumeration item in c++ enum clause
  81.     *  all enumeration items in c++ enum are in upper case 
  82.     *  the value ENUM_NULL is used to represent NULL for all enumerated types 
  83.  *****************************************************************************/
  84.  
  85. #include <Enumeration.h>
  86.  
  87. /******************************************************************************
  88. BOOLEAN and LOGICAL
  89.  
  90.     Logical are implemented as an enumeration in Enumeration.h:
  91.     *  it\'s possible values are sdaiUNKNOWN, sdaiTRUE, sdaiFALSE
  92.     *  or F, U, T
  93.  
  94.     Boolean is represented the same as logical
  95. ******************************************************************************/
  96.  
  97. typedef Logical  s_Logical;
  98. typedef Logical  SdaiLogical;
  99. #include <Binary.h>
  100.  
  101. /******************************************************************************
  102. AGGREGATE TYPES
  103.  
  104.     Aggregate types are accessed generically.  (There are not seperate
  105.     classes for the different types of aggregates.)  Aggregates are 
  106.     implemented through the STEPaggregate class.
  107.  
  108. ******************************************************************************/
  109.  
  110. /******************************************************************************
  111. SELECT
  112.  
  113.     Selects are represented as subclasses of the SdaiSelectH class in 
  114.     STEPselect.h
  115.  
  116. ******************************************************************************/
  117. #include <select.h>
  118.  
  119. #endif
  120.