![]() |
Ember
|
Ember is built on several powerful libraries and frameworks. This page provides links to their documentation for deeper understanding.
wxWidgets is the cross-platform GUI framework used by EmberForge.
| Resource | Link |
|---|---|
| Main Documentation | https://docs.wxwidgets.org/ |
| API Reference | https://docs.wxwidgets.org/stable/classes.html |
| Wiki | https://wiki.wxwidgets.org/ |
| Samples | https://docs.wxwidgets.org/stable/page_samples.html |
| wxWidgets Class | Ember Usage |
|---|---|
| wxApp | Application entry point (App class) |
| wxFrame | Main window (MainFrame class) |
| wxPanel | Container for controls |
| wxAuiManager | Dockable panel management |
| wxAuiNotebook | Tabbed interface |
| wxTreeCtrl | Tree view (hierarchy) |
| wxPropertyGrid | Property editing |
| wxDialog | Modal dialogs |
libxml2 is the XML parsing library used by EmberCore.
| Resource | Link |
|---|---|
| Main Page | http://xmlsoft.org/ |
| API Reference | http://xmlsoft.org/html/index.html |
| Tutorial | http://xmlsoft.org/tutorial/index.html |
| Examples | http://xmlsoft.org/examples/index.html |
| libxml2 Function | Purpose |
|---|---|
| xmlReadFile() | Parse XML file |
| xmlReadMemory() | Parse XML from string |
| xmlDocGetRootElement() | Get document root |
| xmlNodeGetContent() | Get node text content |
| xmlGetProp() | Get attribute value |
| xmlSaveFormatFile() | Save formatted XML |
The LibXMLBehaviorTreeParser class wraps libxml2 functionality:
spdlog is a fast C++ logging library used for enhanced logging.
| Resource | Link |
|---|---|
| GitHub | https://github.com/gabime/spdlog |
| Wiki | https://github.com/gabime/spdlog/wiki |
When spdlog is available, Ember uses it for file and console logging:
Google Test is used for unit testing EmberCore.
| Resource | Link |
|---|---|
| GitHub | https://github.com/google/googletest |
| Primer | https://google.github.io/googletest/primer.html |
| Advanced | https://google.github.io/googletest/advanced.html |
CMake is the build system used by Ember.
| Resource | Link |
|---|---|
| Documentation | https://cmake.org/documentation/ |
| Tutorial | https://cmake.org/cmake/help/latest/guide/tutorial/index.html |
| Commands | https://cmake.org/cmake/help/latest/manual/cmake-commands.7.html |
Doxygen generates this documentation.
| Resource | Link |
|---|---|
| Manual | https://www.doxygen.nl/manual/ |
| Special Commands | https://www.doxygen.nl/manual/commands.html |
| Markdown Support | https://www.doxygen.nl/manual/markdown.html |
Use Doxygen-style comments:
Ember uses a compatible XML format with BehaviorTree.CPP:
| Resource | Link |
|---|---|
| GitHub | https://github.com/BehaviorTree/BehaviorTree.CPP |
| Documentation | https://www.behaviortree.dev/ |
| XML Format | https://www.behaviortree.dev/docs/learn-the-basics/xml_format |
| Resource | Description |
|---|---|
| Introduction to BTs | Basic concepts |
| Node Types | Control, decorator, action nodes |
| Blackboards | Data sharing |
| Resource | Link |
|---|---|
| cppreference | https://en.cppreference.com/ |
| C++14 Standard | https://isocpp.org/wiki/faq/cpp14-language |