BBox2 | A template class for 2D boundary box |
BBox3 | A template class for 2D boundary box |
Browser | 3D navigation helper class |
BSphere3 | Template class for 3D bounding sphere |
Callback | Base class for callback with no arguments and no return value |
Camera | Class representing 3d virtual camera |
CIniFile | Handling of INI-files |
DIntelImage | Intel libraries IplImage wrap class |
DrawSurface | Generic image class |
File | A class for working with files (a wrapped to FILE *) |
FileFinder | |
FilterGrayscale | Creates a grayscale version of a color bitmap |
FilterLum2RGB | Creates a Lum2RGB version of a color bitmap |
FilterMedianBlur | Creates a MedianBlur version of a color bitmap |
FilterRepres | Transferres between different representations |
FilterResize | Creates a MedianBlur version of a color bitmap |
FilterRGB2BGR | Creates a Lum2RGB version of a color bitmap |
FilterRGB2RGBA | Creates a grayscale version of a color bitmap |
FrameCounter | Simple frame rate (FPS) counter |
FRImageLoader | Image loader based on FreeImage third-party library |
GDIImage | Manipulates uncompressed device- and platform-independent bitmaps |
GDISurface | Generic image class |
GLRC | OpenGL context handling - Attention:
- Include windows.h before using this file! Usage:
GLRC glrc;
glrc.Create(wnd);
glrc.MakeCurrent();
glrc.SwapBuffers();
glrc.Destroy();
|
Image | Generic image class |
ImageComposer | Produce single image from several reference images |
ImageDecomposer | Decompose an image into several destination images |
ImageFilter | Interface for generic image modifier |
ImageLoader | Loading and saving bitmaps to files (base class) |
IntelImage | Manipulates uncompressed device- and platform-independent bitmaps |
IntelSurface | Generic image class |
Math | A template class for precision related staff |
Math2 | Comparison of 2D vectors with a tolerance |
Math3 | Comparison of 2D vectors with a tolerance |
Math4 | Comparison of 4D vectors with a tolerance |
PathString | Processing of the path to file |
Ref | Smart pointer class Smart pointers provide automatic memory management, so that programmer never cares on freeing memory. Smart pointers mechanism frees an object when there are no any references to it. Smart pointers should be used instead of standard C pointers: - Attention:
- Smart pointers works only with objects that support AddRef() and Release() operations. It is assumed that object keeps a reference count (a number of smapt pointers pointing to it). This reference count is incremented in AddRef() command and decremented in Release(). Also Release() performs check whether reference count is 0 and calls 'delete this'. GML provides special base class for this: gml::SmartObject. If you want to use smart pointers either derive your object from this class or provide own implementation of AddRef() and Release() methods. 1) initialization Smart pointers are initiliazed just like the standard pointers:
Smart pointers must never be defined like this: gml::Rev<Object>* obj; !!! 2) use of smart pointers Smart pointers are dereferenced like normal pointers: gml::Ref<Object> obj = new Object(1,2,3);
obj->SomeMethod();
(*obj).SomeMethod();
3) smart pointers as parameters Smart pointers are implicitly casted to normal pointers: This operation is dangerous unless used properly. You should use it like follows. Smart pointers may be passed to functions and returned from functions like normal pointers. The general rule is this: Use ONLY smart pointers when storing objects. Use normals pointers when passing smart pointers as parameters or return values So the following is forbidden: class SomeClass
{
private:
Object* obj;
public:
void CreateObject()
{
gml::Ref<Object> obj = new Object(1,2,3);
m_obj = obj;
}
};
Correct use:
|
ReflectFilter | Creates a grayscale version of a color bitmap |
SetRectFilter | Creates a grayscale version of a color bitmap |
SimpleImage | Manipulates uncompressed device- and platform-independent bitmaps |
SimpleImageLoader | Image loader based on FreeImage third-party library |
SmartObject | Base class for objects with support for reference counting |
Socket | A wrapper for Win32 stream socket |
String | Standard string with some extensions |
TColor3 | 3 Color repsentation |
TColor4 | 4 Color repsentation |
TMatrix2x2 | Template class for 2x2 matrix |
TMatrix3x3 | Template class for 3x3 matrix |
TMatrix4x4 | Template class for 4x4 matrix |
TQuaternion | Quaternion template |
TVector2 | Template class for 2D vectors |
TVector3 | Template class for 3D geometric vectors |
TVector4 | Template class for 4D geometric vectors |
Viewport | Class representing 3d viewport (a window with accociated camera) |