Files
geant4/source/geometry/solids/STEP/include/sdaiObject.h
T
2016-06-08 15:42:07 +02:00

69 lines
2.0 KiB
C++

#ifndef SDAIOBJECT_H
#define SDAIOBJECT_H 1
/*
#include <sclprefixes.h>
*/
/*
The EXPRESS ENTITY entity_instance from the SDAI_data_type_schema from
clause 10 in ISO 10303-22, shall be mapped to the C++ class Entity_instance.
The class Entity_instance shall be a subtype of the C++ class Object:
*/
class SCLP23_NAME(sdaiObject)
{
public:
SCLP23_NAME(sdaiObject)();
virtual ~SCLP23_NAME(sdaiObject)();
// static Object_ptr _duplicate(Object_ptr);
// static Object_ptr _nil();
#ifdef PART26
// virtual SCLP26(Application_instance_ptr) create_TIE();
virtual IDL_Application_instance_ptr create_TIE();
#endif
#ifdef __OSTORE__
static os_typespec* get_os_typespec();
virtual void Access_hook_in(void *object,
enum os_access_reason reason, void *user_data,
void *start_range, void *end_range);
#endif
};
typedef SCLP23_NAME(sdaiObject)* SCLP23_NAME(sdaiObject_ptr);
typedef SCLP23_NAME(sdaiObject_ptr) SCLP23_NAME(sdaiObject_var);
/*
The class Object shall be accessed through the handle types Object_ptr and
Object_var. For handles to the C++ class representing a EXPRESS ENTITY data
type A, the following implicit widening operations shall be supported:
A_ptr to Object_ptr and A_var to Object_ptr. An implementation need not
support implicit widening of A_var to Object_var.
This binding shall support the following functions:
*/
//void release(Object_ptr obj);
/*
The release function indicates that the caller will no longer access the
reference obj.
*/
//Boolean is_nil(Object_ptr obj);
/*
The is_nil function shall return true if obj is a nil handle; otherwise it
returns false.
This binding does not specify that all base classes in the application
schema be virtual base classes; however, it does require that no multiply
inherited derived class contain multiple instantiations of any of its base
classes. This requirement applies to all classes, even classes used to
instantiate complex instances.
*/
#endif