From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- docs/features_nel_misc.php3 | 148 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 docs/features_nel_misc.php3 (limited to 'docs/features_nel_misc.php3') diff --git a/docs/features_nel_misc.php3 b/docs/features_nel_misc.php3 new file mode 100644 index 00000000..c4506bf1 --- /dev/null +++ b/docs/features_nel_misc.php3 @@ -0,0 +1,148 @@ + + + + Nevrax.org : docs + + + + + + + + + + + + + + +
# Home   # nevrax.com   
+ + + + +
Nevrax
+ + + + + + + + + + +
+ + +
+ Nevrax.org
+ + + + + + + + + + +
#News
#Mailing-list
#Documentation
#CVS
#Free software
#Download
#FS Suggest
#FAQ
+
+ + + +
+ + +
+docs + +
+ + + + + +
NeL Misc Library : Features
+ + +

Introduction

+

The Misc library contains all the core types and functionality and utilities necessary to use the Net, AI, 3D or PACS libraries.

+

It also includes a handful of handy utilities that don't belong in any of the other libraries.

+ +

Features

+ +

Core functionality

+
    +
  • base data types +
  • platform independent data type definitions such as sint32, uint32, etc +
  • exception base class +
  • debugging macros +
  • debugging macros (assertions, debugging information, warnings,...) w/ link to displayers +
  • A fistfull of handy common routines and classes - maths, string manipulation, etc +
  • Reference counting system with smart pointers +
  • Smart pointers free the data they point to when it is no longer referenced +
  • unicode string management +
  • displayer system which abstracts the displayer (may be stdout, a file, a console window, etc.) +
  • A log message management system based on displayers. Provides message filtering functionality and support for multiple simultaneous displayers. +
  • The Class registry which allows instantiation of polymorphic classes by name. +
+ +

Portability

+
    +
  • System information retrieval (retrieves info on the system OS, processor, RAM) +
  • Generalised event management system (c/f windows) used for input (keyboard, mouse, etc) +
  • OS independent thread & mutex management with Posix and Windows implementations +
  • System for management of internationaly localised text +
  • OS independent time retrieval (retrieves time from local machine's clock) +
+ +

Miscelaneous 3d primitives & utilities

+
    +
  • Bounding box and bounding sphere implementations with 1001 associated utility routines +
  • complete implementation of different formats of RGBA colour representations +
+ +

Maths

+
    +
  • Quaternion classes for quaternion maths +
  • Matrix classes for 3d maths +
  • 2D and 3D vector classes in integer, single precision and double precision float implementations +
  • Plane class with associated functionality - projection of vector onto plane, polygon or line segment clipping against plane, etc. +
+ +

Memory management

+
    +
  • Block and pool based memory managers for minimisation of memory fragmentation +
  • A Fifo manager that houses arbitrary non-uniform sized data blocks. The fifo size is dynamic but memory allocation and liberation is minimal. +
+ +

Serialisation & streams

+
    +
  • "Based on Java's SERIALISE" +
  • Includes a file version support mechanism that allows backward compatibility (with old data files) +
  • Supports serialisation of: base types, classes composed of serialisable types, STL containers of serialisable types, pointers to serialisable data (including a reference counting system which serialises the data that the pointer points to unless it has already been serialsed by another pointer to the same data - At re-load time the pointers are fixed back up to point to the same data). +
  • Support for Polymorphism (serialisation of classes repherenced by a pinter of their base class type) +
  • Binary memory stream, ASCII memory stream, binary file stream implementations. +
+ +

Utilities

+
    +
  • Functionality for loading and treating bitmaps of different formats +
  • A Search path management system for locating data files +
  • A string/ integer association system (handy for compacting message types) +
  • A configuration file loading and management system - capable of detecting changes to configuration files and reloading their contents without stopping and relaunching the program. +
  • Manages variables of type string, integer, float, or an array of any of these. +
  • A system for managing lists of functions refernced by a string and calling the appropriate command when passed a string. This system is handy for managing a command line at run time. +
  • A system for queuing tasks for threads to process. This system is handy for things like background loading. +
  • Complete implementation of arbitrary sized bit arrays +
+ + + +
                                                                                                                                                                    +
+ + + \ No newline at end of file -- cgit v1.2.1