EXPRESS functionality not included in the CppExpressAPI
For the objects in memory (OIM) model, inverse and derived attributes are handled in the following way:
- Inverse attributes – when putting a value for an attribute that have an inverse, the inverse is not updated in client memory. But when the objects are written to the database and afterwards read into memory, the inverse attributes are put in place.
- Derived attributes – the implementation of derived attributes have a similar weakness as inverse attributes. They are assigned after they have been read into memory from the database. If the data that constitute a part of the foundation for the derived attribute are later changed in memory, the derived attribute is not changed. Subsequently a new "roundtrip" to/from the database is required.
For both memory models:
- EXPRESS built in function as documented in chapter 15 of ISO-10303-11 are not included in the API.
- Rule validation is not included in the API.
These functionalities are, however, available if one applies the EDMinterface (C-API) directly. Functions available in the C-library (like TAN etc) are not replicated in the EDMinterface.