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 >
Wrap
C/C++ Source or Header
|
1994-07-20
|
3KB
|
120 lines
#ifndef SDAI_H
#define SDAI_H
/*
* NIST STEP Core Class Library
* clstepcore/sdai.h
* February, 1994
* David Sauder
* KC Morris
* Development of this software was funded by the United States Government,
* and is not subject to copyright.
* This file is included to support the proposed SDAI/C++ Language Binding
* specified in Annex D of STEP Part 22.
* This file specifies the appropriate naming conventions and NULL
* values for the EXPRESS base types.
*/
/* $Id: sdai.h,v 2.0.1.1 1994/04/05 16:36:49 sauderd Exp $ */
#include <string.h>
// The values used here to represent NULL values for numeric types come from
// the ANSI C standard
#ifdef __O3DB__
#include <OpenOODB.h>
#endif
#include <limits.h>
#include <float.h>
// INTEGER
// may not a good idea because the def SdaiInteger &i may not be legal
//typedef long int SdaiInteger;
#define SdaiInteger long
//#define s_Integer SdaiInteger
// C++ from values.h DAS PORT
//#define S_INT_NULL MAXLONG
// C from limits.h
#define S_INT_NULL LONG_MAX
// REAL
//typedef double SdaiReal;
#define SdaiReal double
//#define s_Real SdaiReal
//#define S_REAL_NULL 10 ** DBL_MAX_10_EXP
//#define FLT_MIN 1E-37 - port 29-Mar-1994 kcm
// C++ from values.h DAS PORT
//#define S_REAL_NULL MINFLOAT
// C from float.h
#define S_REAL_NULL FLT_MIN
// NUMBER
// arbitrary choice by me for number DAS
// C++ from values.h DAS PORT
//#define S_NUMBER_NULL MINFLOAT
// C from float.h
#define S_NUMBER_NULL FLT_MIN
// STRING
#define S_STRING_NULL ""
#include <STEPstring.h>
// ENTITY
class STEPentity;
extern STEPentity NilSTEPentity;
#define S_ENTITY_NULL &NilSTEPentity
/******************************************************************************
ENUMERATION
These types do not use the interface specified.
The interface used is to enumerated values. The enumerations are
mapped in the following way:
* enumeration-item-from-schema ==> enumeration item in c++ enum clause
* all enumeration items in c++ enum are in upper case
* the value ENUM_NULL is used to represent NULL for all enumerated types
*****************************************************************************/
#include <Enumeration.h>
/******************************************************************************
BOOLEAN and LOGICAL
Logical are implemented as an enumeration in Enumeration.h:
* it\'s possible values are sdaiUNKNOWN, sdaiTRUE, sdaiFALSE
* or F, U, T
Boolean is represented the same as logical
******************************************************************************/
typedef Logical s_Logical;
typedef Logical SdaiLogical;
#include <Binary.h>
/******************************************************************************
AGGREGATE TYPES
Aggregate types are accessed generically. (There are not seperate
classes for the different types of aggregates.) Aggregates are
implemented through the STEPaggregate class.
******************************************************************************/
/******************************************************************************
SELECT
Selects are represented as subclasses of the SdaiSelectH class in
STEPselect.h
******************************************************************************/
#include <select.h>
#endif