Framework
Learn about Pixyz's internal framework, including its C++ architecture, supported data types, modules, and entity-based system.
Read time 1 minuteLast updated 8 months ago
The internal structure of Pixyz is built to handle different types of product structures, geometry types and heavy algorithms thanks to a custom made and extensible architecture. Pixyz is entirely coded in C++. For high precision, Pixyz computes numbers in the double-precision floating-point format for most of its data structures.
The internal structure of Pixyz supports, among others, these data types:
Modules
Pixyz API is organized into functional libraries that are referred to as modules:
Entities
Pixyz API isn't strictly speaking object-oriented. Pixyz works with references to entities inside the framework. These references are IDs of type. This processing simplifies the handling of objects that live within the framework, but requires to explicitly create or gather objects, and then to destroy them.
unsigned intThis diagram shows a simplified view of Pixyz's entity structure:

Entities are abstract objects that are defined by an unsigned integer ID. All occurrences, materials, and components have an ID property. Each ID is unique. Most functions take an ID or a list of IDs as input. Some functions can take entities of all types as input. In other words, you can indiscriminately use these functions to access occurrences, materials, and parts. Examples are these functions: