Foundation Classes serve the base of all other OCCT classes.
Foundation Classes module contains data structures and services used by higher-level Open CASCADE Technology classes:
- Primitive types, such as Boolean, Character, Integer or Real
- String classes that handle ASCII and Unicode strings
- Collection classes that handle statically or dynamically sized aggregates of data, such as arrays, lists, queues, sets and hash tables (data maps)
- Classes providing commonly used Numerical Algorithms and basic linear algebra calculations (addition, multiplication, transposition of vectors and matrices, solving linear systems etc)
- Fundamental types representing physical Quantities and supporting date and time information
- Primitive Geometry Types providing implementation of basic geometric and algebraic entities that define and manipulate elementary data structures
- Exception classes that describe situations, when the normal execution of program is abandoned.
- This module also provides a variety of general-purpose services, such as:
- Safe handling of dynamically created objects, ensuring automatic deletion of unreferenced objects (smart pointers)
- Configurable optimized memory manager increasing the performance of applications that intensively use dynamically created object
- Extended run-time type information (RTTI) mechanism maintaining a full type hierarchy and providing means to iterate over it
- Encapsulation of C++ streams
- Automated management of heap memory by means of specific allocators;
- Basic interpreter of expressions facilitating the creation of customized scripting tools, generic definition of expressions, etc.
- Tools for dealing with configuration resource files and customizable message files facilitating multi-language support in applications
- Progress indication and user break interfaces, giving a possibility even for low-level algorithms to communicate with the user in a universal and convenient way
- and many others...