oaBaseTypes.h File Reference

Go to the source code of this file.

Defines

#define oaBaseTypes_P
#define oacProdStreamAPIRevNumber   201
#define oacProdStreamRevNumber   oacProdStreamAPIRevNumber
#define oacStreamRevNumberOffset   1000
#define oacBranchStreamNumberOffset   100
#define oacAPIMajorRevNumber   4
#define oacAPIMinorRevNumber   oacProdStreamRevNumber
#define oacDataModelRevNumber   4
#define oacNullIndex   0xffffffffu
#define oacDeletedIndex   0xfffffffeu
#define oacNegativeOne   oaUInt4(-1)
#define oacNullLongIndex   0xffffffffffffffffULL
#define oacDeletedLongIndex   0xfffffffffffffffeULL
#define oacMaxPathLen   PATH_MAX
#define oacPathSeparator   "/"
#define oacPathSeparatorChar   '/'
#define M_PI   3.14159265358979323846264338
#define M_PI_2   1.57079632679489661923132169
#define M_PI_4   0.78539816339744830961566085
#define M_PI_8   0.39269908169872415480783042
#define oacObserverRevision   1
#define OA_BASE_DLL_API
#define OA_BASE_DLL_PVT
#define OA_DLL_EXPORT
#define oavBaseNumDataTypes   22
#define oavBaseAppObjectDataTypeName   "appObject"
#define oavNumThreadUseModelTypes   3
#define oaCast   static_cast

Typedefs

typedef oaUInt4 oaDist
typedef oaInt4 oaOffset
typedef oaUInt4 oaSocketD

Enumerations

enum  oaBaseDataTypeEnum {
  oacBaseDatabaseDataType = UINT_MAX, oacBaseAppObjectDataType = UINT_MAX - 1, oacBasePropDataType = 0, oacBaseGroupDataType = 1,
  oacBaseGroupMemDataType = 2, oacBaseAvatarDataType = 3, oacBaseValueDataType = 4, oacBaseConstraintParamDefDataType = 5,
  oacBaseConstraintParamDataType = 6, oacBaseConstraintDefDataType = 7, oacBaseConstraintDataType = 8, oacBaseConstraintGroupDataType = 9,
  oacBaseConstraintGroupMemDataType = 10, oacBaseConstraintGroupHeaderDataType = 11, oacBaseFeatureDataType = 12, oacBaseFeaturePolicyDataType = 13,
  oacBaseDerivedLayerParamDefDataType = 14, oacBaseDerivedLayerDefDataType = 15, oacBaseGroupDefDataType = 16, oacBaseConstraintGroupDefDataType = 17,
  oacBaseViaVariantDataType = 18, oacBaseParamDataType = 19, oacBaseViaVariantHeaderDataType = 20, oacBaseViaParamDataType = 21
}
enum  oaUndoModelEnum { oacUndoModelNotSpecified = UINT_MAX, oacUndoModelPostCheckpoint = 0, oacUndoModelPreCheckpoint = 1 }
enum  oaThreadUseModelEnum { oacSingleThreadUseModel = 0, oacMultipleReadersThreadUseModel = 1, oacMultipleWritersThreadUseModel = 2 }

Functions

OA_BASE_DLL_API void oaBaseInit (oaUInt4 apiMajorRev=oacAPIMajorRevNumber, oaUInt4 apiMinorRev=oacAPIMinorRevNumber)
OA_BASE_DLL_API void oaBaseInit (oaUInt4 apiMajorRev, oaUInt4 apiMinorRev, oaUInt4 dataModelRev)
OA_BASE_DLL_API void oaSleep (oaUInt4 sec)
OA_BASE_DLL_API oaBoolean oaIsProcessActive (oaUInt4 pid)
OA_BASE_DLL_API void oaStartDaemon (const char *name, char *const *argvIn=0, oaUInt4 numArgs=0)

Variables

BEGIN_OA_NAMESPACE typedef oaInt4 oaCoord


Define Documentation

#define M_PI   3.14159265358979323846264338
 

#define M_PI_2   1.57079632679489661923132169
 

#define M_PI_4   0.78539816339744830961566085
 

#define M_PI_8   0.39269908169872415480783042
 

#define OA_BASE_DLL_API
 

#define OA_BASE_DLL_PVT
 

#define OA_DLL_EXPORT
 

#define oaBaseTypes_P
 

#define oacAPIMajorRevNumber   4
 

#define oacAPIMinorRevNumber   oacProdStreamRevNumber
 

#define oaCast   static_cast
 

#define oacBranchStreamNumberOffset   100
 

#define oacDataModelRevNumber   4
 

#define oacDeletedIndex   0xfffffffeu
 

#define oacDeletedLongIndex   0xfffffffffffffffeULL
 

#define oacMaxPathLen   PATH_MAX
 

#define oacNegativeOne   oaUInt4(-1)
 

#define oacNullIndex   0xffffffffu
 

#define oacNullLongIndex   0xffffffffffffffffULL
 

#define oacObserverRevision   1
 

#define oacPathSeparator   "/"
 

#define oacPathSeparatorChar   '/'
 

#define oacProdStreamAPIRevNumber   201
 

#define oacProdStreamRevNumber   oacProdStreamAPIRevNumber
 

#define oacStreamRevNumberOffset   1000
 

#define oavBaseAppObjectDataTypeName   "appObject"
 

#define oavBaseNumDataTypes   22
 

#define oavNumThreadUseModelTypes   3
 


Typedef Documentation

typedef oaUInt4 oaDist
 

typedef oaInt4 oaOffset
 

typedef oaUInt4 oaSocketD
 


Enumeration Type Documentation

enum oaBaseDataTypeEnum
 

Enumeration values:
oacBaseDatabaseDataType 
oacBaseAppObjectDataType 
oacBasePropDataType 
oacBaseGroupDataType 
oacBaseGroupMemDataType 
oacBaseAvatarDataType 
oacBaseValueDataType 
oacBaseConstraintParamDefDataType 
oacBaseConstraintParamDataType 
oacBaseConstraintDefDataType 
oacBaseConstraintDataType 
oacBaseConstraintGroupDataType 
oacBaseConstraintGroupMemDataType 
oacBaseConstraintGroupHeaderDataType 
oacBaseFeatureDataType 
oacBaseFeaturePolicyDataType 
oacBaseDerivedLayerParamDefDataType 
oacBaseDerivedLayerDefDataType 
oacBaseGroupDefDataType 
oacBaseConstraintGroupDefDataType 
oacBaseViaVariantDataType 
oacBaseParamDataType 
oacBaseViaVariantHeaderDataType 
oacBaseViaParamDataType 

enum oaThreadUseModelEnum
 

Enumeration values:
oacSingleThreadUseModel  "single" where the application intends to use a single thread to access and create data
oacMultipleReadersThreadUseModel  "multipleReaders" where the application intends to use multiple read-only threads to concurrently access one or more databases
oacMultipleWritersThreadUseModel  "multipleWriters" where the application intends to use multiple threads to concurrently access, edit or create data

enum oaUndoModelEnum
 

Enumeration values:
oacUndoModelNotSpecified 
oacUndoModelPostCheckpoint 
oacUndoModelPreCheckpoint 


Function Documentation

void oaBaseInit oaUInt4    apiMajorRev,
oaUInt4    apiMinorRev,
oaUInt4    dataModelRev
 

This function initializes the oaBase package. The oaDesignInit, oaDMInit, and oaTechInit initialization calls automatically include the oaBaseInit initialization call. Applications do not need to call oaBaseInit if they are not using the databases (even if they are using the oaBase classes).

This function lets calling functions specify the API revisions and the data model revision that they support. Refer to Initialization Calls and Compatibility for OpenAccess Applications and Data in the Programmers Guide for more information about API revisions and data model revisions.

Parameters:
apiMajorRev Specifies the major revision of the OpenAccess shared libraries that were used to compile the application. Typically, this should be set to
oacAPIMajorRevNumber
to indicate that the application uses the version number from the current version of OpenAccess.
apiMinorRev Specifies the minor revision of the OpenAccess shared libraries that were used to compile the application. Typically, this should be set to
oacAPIMinorRevNumber
to indicate that the application uses the version number from the current version of OpenAccess.
dataModelRev Specifies the version of the OpenAccess data model that is supported. Applications should explicitly specify this argument to indicate the OpenAccess features that they support. For information about the OpenAccess features that are available in a particular dataModelRev, refer to the OpenAccess 2.2 Feature List.
Exceptions:
oacInvalidMajorAPIRev The major revision number of the OpenAccess shared libraries that were used to compile the application does not match the major revision number of the OpenAccess shared libraries that the application is running.
oacInvalidAPIRev The minor revision number of the OpenAccess shared libraries that were used to compile the application is higher than the minor revision number of the OpenAccess shared libraries that the application is running.
oacInvalidDataModelRev The application revision number passed to this function is higher than the data model supported by the OpenAccess shared libraries that the application is running.
oacInconsistentDataModelRev The data model revision numbers among the components of the caller's application are not consistent.

void oaBaseInit oaUInt4    apiMajorRev = oacAPIMajorRevNumber,
oaUInt4    apiMinorRev = oacAPIMinorRevNumber
 

Important: This function is deprecated and is retained to ensure compatibility with previous versions of OpenAccess. Use the oaBaseInit overload that accepts the dataModelRev argument instead.

This function initializes the Base package. The Design, DM, and Tech packages automatically initialize the Base package. Applications do not need to call oaBaseInit if they are not using the databases (even if they are using the oaBase classes).

This function lets calling functions specify the API revisions that they support. Refer to Initialization Calls in the Programmers Guide for more information about these revision numbers and how they affect compatibility.

This deprecated version of oaBaseInit does not include the dataModelRev argument, which lets an application specify the data model revision that it supports. For applications that continue calling this init function, OpenAccess will infer the dataModelRev argument to be the current version (oacDataModelRevNumber) in the kit the application was compiled against. If there are differences between the inferred data model revisions between multiple components of the same application, OpenAccess chooses the highest dataModelRev of the application as a whole. If an application uses this approach, it is specifying that OpenAccess should tolerate possible data model revision mismatches between its components.

Refer to Compatibility for OpenAccess Applications and Data in the Programmers Guide for more information about API revisions and data model revisions. Also refer to Design Initialization in the Getting Started--A HelloWorld Example section of the Programmers Guide for a tutorial about using the non-deprecated overload of oaDesignInit.

Parameters:
apiMajorRev Do not supply -- defaulted by compiler
apiMinorRev Do not supply -- defaulted by compiler
Exceptions:
oacInvalidMajorAPIRev The major revision number of the OpenAccess shared libraries that were used to compile the application does not match the major revision number of the OpenAccess shared libraries that the application is running.
oacInvalidAPIRev The minor revision number of the OpenAccess shared libraries that were used to compile the application is higher than the minor revision number of the OpenAccess shared libraries that the application is running.

OA_BASE_DLL_API oaBoolean oaIsProcessActive oaUInt4    pid
 

OA_BASE_DLL_API void oaSleep oaUInt4    sec
 

OA_BASE_DLL_API void oaStartDaemon const char *    name,
char *const *    argvIn = 0,
oaUInt4    numArgs = 0
 


Variable Documentation

BEGIN_OA_NAMESPACE typedef oaInt4 oaCoord
 

Return to top of page