Features
The MAXON API was build to ensure easy software development, to allow the simple creation of extensions and to provide access to state-of-the-art technologies.
Software Development
The MAXON API provides several tools and concepts to make writing plugins as simple and safe as possible:
- Easy to use API due to strict naming schemes and use of consistent concepts.
- Easy creation of safe code using a strict and powerful error handling system, reference-counting and type safety tools. See Error Handling and References.
- Powerful debugging tools as stack traces, type viewer, debugging output, display of any type as string are provided. See also Debug and Output Functions.
- Automatic creation of project files for multiple platforms. See Project Tool.
- Source processor to analyse the source code. See Source Processor.
- Automatic dependency analysis makes manual registration in the correct order obsolete.
Interfaces & Plugins
The MAXON API is based on interfaces. See Interface Basics. It delivers:
- Consistent and powerful interface concept, combining of interfaces at runtime.
- Public interfaces are 100% the same as what MAXON programmers use.
- Code can be moved around freely, no need for manual initialization/free functions.
New plugins are registered using registries and IDs. See Registries. This approach guarantees:
- Consistent registration concept.
- Reverse domain name notation instead of IDs.
Technologies
The MAXON API uses multiple modern concepts and technologies:
- Extremely fast and efficient algorithms, high performance in all areas.
- Powerful set of standardized classes (maps, arrays, lists, iterators etc.)
- Built-in reference-counting, see References.
- Extremely powerful, yet simple to use threading system, see Threading.
- Use of modern C++11 concepts, like lambdas. See C++ Techniques.
- Powerful I/O system that allows you to write complex data (lists, maps, references) easily, implicit support for JSON/XML.
- Unified I/O concept - no matter if the source is http, ftp, the content of a ZIP file etc. See MAXON API Files & Media.
- 4-byte Unicode handling. See Strings & Texts.
- Easy configuration of code via command line, text file or environment variables. See Configuration Variables.
- Automatic data types, e.g. maxon::BaseArray automatically builds itself without any additional code from the programmer.
- Observer concept. See Observables.
- Powerful math/geometry libraries.
- Powerful bitmap I/O, support for many new features.
- Efficient intersection interface.
Further Reading