We want to be consistent with the previous layout, to avoid needlessly breaking existing codes. The header update means client codes are not required to include all of the stepcode library includes explicitly - i.e., stepcode itself does not force this requirement with its own internal includes. However, if client codes do not want to add the library prefixes to their own includes as we have for stepcode, they should still be able to add the various includes and work as before. Adjust the include directory names accordingly.
59 lines
1.6 KiB
C++
59 lines
1.6 KiB
C++
|
|
#ifndef SDAIOBJECT_H
|
|
#define SDAIOBJECT_H 1
|
|
|
|
#include <sc_export.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 SC_DAI_EXPORT SDAI_sdaiObject {
|
|
public:
|
|
SDAI_sdaiObject();
|
|
virtual ~SDAI_sdaiObject();
|
|
// static Object_ptr _duplicate(Object_ptr);
|
|
// static Object_ptr _nil();
|
|
|
|
};
|
|
|
|
typedef SDAI_sdaiObject * SDAI_sdaiObject_ptr;
|
|
typedef SDAI_sdaiObject_ptr SDAI_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
|